I have less than ten hours to teach a dozen surly high schoolers to go from opening their notepads to writing Tetris. This is the objective: to give them enough HTML, CSS, and Javascript to be able to write a very simple video game.
Here's what I told them:
A high school programming class and a high school cooking class are more or less the same. At the end of a cooking elective, if you followed all the steps you were required _in class_, you go home with two things: a cake, and a recipe for cake. All of you are going to eat the cake. Some of you might try to make the cake a second time. A few of you will wonder, "If I change this chocolate to strawberry, and make the cake again, will it work?" And one of you might go on to be a professional baker.The same thing is true of this class. At the end of a class, you're going home with a game written in HTML, and the source code to that game. The game will be fully playable. You'll even have the source code, so you could try transferring the game to other computers to see how it works there. A few of you will look at it and wonder, "If I re-arrange these things, can I turn Tetris into Pac-Man?" (The answer is "Yes," by the way.) And one of you might go on to be a professional software developer.
Oddly, the teacher who organized the elective tells me that that's the best and most succinct description of what an elective like this is trying to accomplish. So I guess I'm doing something right.
Of course, there's already that one guy who has a three-d game written in Unity, and took this class so he could learn how to put up a website about it...