Video Game Design
Building Games in JavaScript
Learning Environment: In-person classroom with hands-on programming practice.
Programming Environment: JavaScript programs are written and run on classroom computers.
Prerequisites
Designed for beginners with no previous background in computer science.
Course Breakdown
Unit 1: JavaScript Basics
Students learn JavaScript basics including variables, user input, mathematics, and functions.
Objectives / Topics Covered
- Variables
- User Input
- Arithmetic Expressions
- Functions
Unit 2: The Canvas and Graphics
Students learn to add and position graphics objects on the canvas.
Objectives / Topics Covered
- JavaScript Canvas
- Positioning Graphics Objects
Unit 3: Graphics Challenges
Students apply graphics knowledge to complete set challenges.
Objectives / Topics Covered
- Solving complex problems using graphics
Assignments / Labs
- Example Exercise: Ghost
Unit 4: JavaScript Control Structures
Students use control structures to make advanced programs in JavaScript.
Objectives / Topics Covered
- Booleans
- If/Else Statements
- Loops
- Logical/Comparison Operators
Unit 5: Control Structures Challenges
Students solve new challenges using control structures.
Objectives / Topics Covered
- Solving complex problems with control structures
Assignments / Labs
- Example Exercise: Guessing Game
Unit 6: Functions
Students learn to write reusable code with functions, parameters, and return values.
Objectives / Topics Covered
- Defining/Calling Functions
- Parameters
- Return Values
- Scope
Unit 7: Basic Game Design
Students start designing simple games using JavaScript and graphics.
Objectives / Topics Covered
- Game Loop
- Event Handling
- Collision Detection
Unit 8: Advanced Game Design
Students create more complex games.
Objectives / Topics Covered
- Advanced Collision Detection
- Game Physics
- Scoring Systems
Unit 9: Final Project
Students design and implement a complete video game.
Objectives / Topics Covered
- Project Planning
- Game Design Documentation
- Implementation
- Testing and Debugging