Teacher: Bram Moreinis ("Mr. M")
Credits: .5 Elective
Prerequisites: Web Design 1, CS1201
Program of Study Description: You will code a series of game programs, ending with a project of your choice. You'll start with pure JavaScript and text-based games, then apply the HTML and CSS you learned in Web Development to create web-based interfaces for games. We use the same tools that professionals do. Your final project can be any game you can code, working solo or in teams. Consider Choose Your Own Adventure story, Roleplaying Game or Video Game. Play some of games students made last year on https://bomberblaze.org! Our featured game from Fall 2024 combines a CYOA and Craps: Goldilocks and the Three Bears.
* The class used to be called "Intro to Computer Science" but is just game programming. The best Intro to CS option would be AP Computer Science Principles, a full-year course with a Science credit.
Students must take Web Design I and learn HTML/CSS before you take Web Programming (Intro to CS). Why? In the second quarter, you create web applications, drawing on what you learned from Web Design I. You make your own version of Rock Paper Scissors (also known as "Rochambo") and then choose your own web application to create.
It could be a web version of one of the programs you already wrote in popup JS, or a Choose Your Own Adventure game, or something more strategic (Tic Tac Toe, Battleship, Mastermind, etc).
Last year's students completed Snowman, which you can find and play here (on the website of the Bomber Blaze). Our featured game from Fall 2024 combines a CYOA and Craps: Goldilocks and the Three Bears.
Students who cannot keep up with the pace of the course can use a self-paced coding tutorial called Code High School using the Javascript: Corgi course. Most students find CodeHS relaxing and fun:
Do more of Codehs because I think the lessons were helpful. - Kirsten
I LOVED CODE HIGH SCHOOL! This was my favorite app to use in this class. It helped with my coding a lot, and it helped me understand better - Grace
I liked using this because it was a step by step guide that I found to be very helpful when learning basically a new language. - Logan
CodeHS was fun for me. I would do it at home when I was bored. - Atlas
A great way to learn coding coming from a complete beginner. The videos and examples made it a lot easier to understand. - Porter
Code High School for me was really easy and simple. - Marko
It is fun. It builds on itself so if there’s something you don’t understand you’re kind of stuck there until you understand it. Ask for help then! - Tyler
CodeHS is very laborious and doesn't allow much freedom. However, it is straightforward and isn't terrible at teaching. - Mason
CodeHS takes a pretty cookie-cutter approach to "educating" students. It feels really demotivating and demoralizing. - Jacob
I personally hate it because if you do something your way which works and you are happy with, code high school says it's wrong. - Aiden
Learning to code is like learning a new language. It is a mix of gaining fluency so that you make meaning (like French) and creating projects you can keep (like Shop). So there is a need for practice. We do a little practice in class, but not enough. Will you do some on your own?
I find there are four kinds of students in this course:
Naturals: you already done some programming, or you were born to code. You love this and don't stop loving it. You'll end up making $150,000 a year or more, working from home or anywhere you want to travel to, in local or online teams.
Success-Oriented: you are willing to take a little time at home to practice "Katas" (short exercises to develop fluency). If you get a bad quiz grade, a little reminder is enough. Watch the top video at right about that experience.
Grade-Oriented: you want to enjoy the class, but need to earn grades for your practice to motivate you to do it. Aske and I will assign weekly home practice for you with simple grades based on whether you do it, so you can have that motivation.
Won't Practice: you choose not to do any practice, so you cannot keep up after a while. That's ok: Instead of staying with the class writing game programs, you switc to Code High School tutorials (Javascript: Corgi) and learn at your own pace.