Unit 1: Programming with Karel
This unit introduces basic programming concepts using Karel the Dog. Students will learn about commands, functions, control flow, looping, conditionals, and more through engaging exercises.
Key Topics:
- Commands
- Defining vs. Calling Functions
- Control Flow
- Looping and Conditionals
- Top Down Design
Unit 2: Karel Challenges
Students will solve more complex problems using Karel, reinforcing the concepts learned in Unit 1.
Unit 3: JavaScript Basics
This unit introduces JavaScript basics such as variables, user input, arithmetic expressions, and functions. These fundamentals are crucial for building more complex programs.
Key Topics:
- Variables and Constants
- User Input
- Arithmetic Expressions
- Functions
Unit 4: The Canvas and Graphics
Students will learn to create graphics and position objects on the JavaScript canvas, enhancing their ability to make visually engaging programs.
Unit 5: Graphics Challenges
This unit presents challenges that require students to apply their graphics knowledge to solve more complex problems.
Unit 6: JavaScript Control Structures
Students will delve into control structures such as loops and conditionals, which are essential for controlling the flow of programs.
Key Topics:
- Booleans and If/Else Statements
- Logical and Comparison Operators
- While and For Loops
- Nested Control Structures
Unit 7: Control Structures Challenges
In this unit, students will solve more complex problems using control structures, reinforcing their understanding of these crucial concepts.
Unit 8: Functions
Students will explore functions in depth, learning about parameters, return values, and scope. Functions are key to writing reusable and maintainable code.
Unit 9: Functions Challenges
This unit provides challenges that require students to apply their knowledge of functions to solve complex problems.
Unit 10: Animation and Games
Students will learn to create animations and simple games using JavaScript, incorporating timers, randomization, and event handling.
Key Topics:
- Timers and Randomization
- Mouse and Keyboard Events
Unit 11: Animation Challenges
This unit presents challenges that require students to apply their animation and game development skills to more complex projects.
Unit 12: Project: Breakout
Students will build a Breakout game, applying their knowledge of graphics, mouse events, and collision detection in a guided project.
Unit 13: Final Project
The final project encourages creativity and collaboration, allowing students to apply everything they have learned to create an interactive JavaScript program.