UNIT: Programming with Karel NO. OF DAYS: ~18 KEY LEARNING(S): Focus on problem-solving and what it means to program. UNIT : How do I program Karel to do a specific task? Introduction to Programming with Karel What is programming? Who/what is Karel and how to I give it commands? programming command function Karel More Basic Karel Functions in Karel What is a function? Karel Can t Turn Right The Start Function What is top down design? Start function Top Down Design and Decomposition in Karel Commenting Your Code How would you apply top down design to everyday activities? Why should you use comments? What is programming style? What can SuperKarel do? comment top down design decomposition code Super Karel For Loops What are the important factors for good programming style? When do we use loops in real life to repeat some basic action? What is a for loop? loop SuperKarel for loop What is a loop?
If Statements If/Else Statements While Loops in Karel When do we use a for loop? What is an if statement? When would you use an if statement? What is an if/else statement? How is this different than an if statement? between and if statement and a while loop? What is an off-by-one error? if statement if/else statement while loop off-by-one error Control Structures What is a control structure? Control structure More Karel Examples and Testing How do Indent your Code Why is indenting important? indentation programming style Karel Challenges
UNIT: Basic JavaScript and Graphics NO. OF DAYS: ~31 KEY LEARNING(S): Focus on the basics of JavaScript, including variables, user input, control structures, function with parameters and return values, and basic graphics, how to send messages to objects. UNIT : How do I create basic code and graphics in JavaScript? Hello World What does it mean to print to the screen? What command do I use to print to the screen? What is a variable? Variables User Input Basic Math in JavaScript between declaring, assigning values to, and initializing What is user input? How do I use user input in a program? How can variables be used to perform computation? Why is it useful to store values in a variable? variable String integer float prompt constant Using Graphics in JavaScript Booleans Logical Operators If statements What advantages does this have over hard-coding values in a program? What is a boolean and how is it different from other What is a logical operator and how do I use it in a program? What is a comparison operator and how do I use it in a program? canvas boolean variable logical operator comparison operator
What is an if statement? If Statements When would you use an if statement? For Loops in JavaScript How do I use a for loop in JavaScript? counter Random Numbers What is a random number? random While loops What is a while loop? while loop What is the purpose of having sentinel a sentinel and how do I use it? Loop and a Half What is a loop and a half? What is a parameter and how are they different from other Functions and Parameters parameter How do parameters and functions work together? if statement for loop Functions and Return Values Local Variables and Scope Basic JavaScript and Graphics Challenges What does it mean for a function to return a value? between global and local What does the scope mean when discussing variables in a program return scope local variable global variable
UNIT: Animation and Games NO. OF DAYS: ~23 KEY LEARNING(S): Focus on how to make objects move around the screen and allow the user to interact with the program with the mouse. UNIT : How do I code animation in JavaScript? What is animation? Timers What is a timer and how are timers used in a program? timer Bouncing Ball Mouse Events: Mouse Clicked Drawing Lines between a timer and a loop? What is an event? What types of events are used in programs? mouse events Key Events Crazy Ball Game Breakout
UNIT: Basic Data Structures NO. OF DAYS: ~13 KEY LEARNING(S): Focus on an introduction to lists/arrays, maps/objects, sets, and grids. UNIT : How do I use data structures in a program? Introduction to Lists/Arrays What is a list? What is an array? list array Indexing Into an Array How do I index an array? index Adding/Removing from an Array How do I add and remove items from an array? Array Length and Looping What does it mean to loop, or Through Arrays iterate, through an array? Iterate Iterating Over an Array Finding an Element in a List How do I find where an item is in an array? How can I remove an item from the middle of an array? Removing an Element from an Array between pop and splice when working with arrays? What is an object? Intro to Objects/Maps How are objects different object from arrays? Basics of Objects Iterating Over an Object iterate When Do I use an Object? Intro to Sets What is a set? Set Looping Over a Grid What is a grid? Grid Data Structure Challenges
UNIT: Game Design: Helicopter NO. OF DAYS: ~10 KEY LEARNING(S): Focus on designing a complex program. UNIT : How do I design a computer game? Helicopter Game Design How do I design a game?