A curriculum for a 16-hour coding camp.
This game-camp curriculum is intended to teach a teen audience to create 3D games built with JavaScript.
In 16 hours, they'll learn some basic programming concepts and how to apply them to the game engine we'll be using. This is intended to be a fun introduction to programming that preps them to go farther and build more games.
This is a web-based curriculum using web-based tools. An email address, a browser to surf the web, and a keyboard to type with are all they will need. The kids can work on a $3000 MacBook Pro, a $250 Chromebook, or a $40 Raspberry Pi (paired with a monitor, keyboard, and mouse). Even though we'll be doing 3D gaming, it's simple and shouldn't tax any system too much.
When you factor in flavors like TypeScript, JavaScript is the fastest growing programming language in the world. If you've heard of Node, React, Next, Electron... these are all tools for building in/with JavaScript. Microsoft's popular VS Code editor is built in JavaScript with Electron. Walmart and Facebook both use JavaScript and React Native to build their mobile apps. And since Windows 8, JavaScript has been a first class language for building Windows UWP apps.
Plus, see the section above where all they need is a browser and a keyboard to type with. JavaScript runs in every browser, no compiler or software installs needed. It is the Lingua Franca of web interactivity.
Many of the concepts students will learn here will translate to whatever language they want to learn in the future. If they want to program with C++ in Unreal Engine or C# in Unity, many of the same basics will apply. Whether you're playing a piano or a guitar, a C note is a C note and a ton of music theory applies to both instruments equally.
This is broken into eight 100-minute sessions. Why 100 instead of 120? Because. Also, you can get a lot done in 800 minutes.
Better answer: because we're budgeting that 1/6 of your time will go to breaks, kids arriving late, unexpected technical issues, and since we try to do this with at least 60% lab time, the kids can just crank away on the last lab(s) if you finish up a bit early.
The course will alternate between learning concepts and putting them into practice. The goal is that the kids will walk away having made two mini games AND have a better understanding of what makes a game good, not just how to put images on a screen and move them around in a gamelike way.
There are 9 subfolders: 8 for session content and one for resources and assets.