code hs curriculum
DESCRIPTION
Code HS CurriculumTRANSCRIPT
CodeHSCurriculum and Syllabus
This suggested syllabus is based on the CodeHS curriculum of introductory coding topics, and is designed for a high schoolclass meeting every school day for 60 minutes.
Syllabus At a Glance
General Topic Week
Karel 14
Basic JavaScript and Graphics 59
Animation and Games 1014
Basic Data Structures 1520
Game Design: Helicopter 2123
Console Challenges 2426
HTML/CSS 2729
Object Oriented JavaScript 3036
Day by Day Breakdown for 60 minute class in High Schools
Day Week Activities Key Words Discussion Questions
1 1 ❏ Introduction to ProgrammingWith Karel
❏ Quiz: Karel Commands❏ Our First Karel Program❏ Your First Karel Program❏ Short Stack❏ More Basic Karel❏ Tennis Ball Square❏ Make a Tower❏ Pyramid of Karel❏ Karel Can't Turn Right❏ Tower and Turn Right❏ Slide Karel
Karel
Command
Function
What is programming?
Who/what is Karel?
What is a command?
What is a function?
What is the analogy we use to describefunctions in Karel?
2 1 ❏ Fireman Karel❏ Functions in Karel❏ Turn Around❏ Pancakes❏ Mario Karel❏ The Start Function❏ Tower with Start Function
Function
Start Function
Bug
What is a function?
What is a bug?
3 1 ❏ Pancakes with Start❏ Top Down Design and
Decomposition in Karel❏ Hurdle Karel❏ The Two Towers
Top Down Design
Decomposition
Code Reuse
What is top down design?
How would you apply top down design toeveryday activities?
● Eating lunch● Waking up● Playing a sport
4 1 ❏ Commenting Your Code❏ Hurdle Karel❏ The Two Towers + Comments❏ Super Karel❏ Hurdle Karel (with SuperKarel)
Comments
SuperKarel
Why should you use comments?
What is programming style?
What can SuperKarel do?
5 1 ❏ The Two Towers + SuperKarelFor Loops
❏ Repeated Move❏ Put Down Tennis Balls❏ Take 'em All
Loop
For Loop
What is a loop?
What is a for loop?
When do we use a for loop?
6 2 ❏ Dizzy Karel❏ For Loop Square❏ Lots of Hurdles
For Loop What is a loop?
What is a for loop?
When do we use a for loop?
7 2 ❏ If Statements❏ If Statements❏ Safe Take Ball❏ Is There a Ball?❏ If/Else Statements❏ If/Else Statements❏ One Ball in Each Spot
❏
If statementIf/Else Statement
World
What are examples of situations when youuse if statements or if/else statements in yourlife?
8 2 ❏ Right Side Up❏ While Loops in Karel❏ Move to Wall❏ Follow The Yellow Ball Road
If Statement
If/Else Statement
While Loop
What are examples of situations when youuse if statements or if/else statements in yourlife?
9 2 ❏ Lay Row of Tennis Balls❏ Big Tower
While Loop What is a while loop?
How do we decide if we should use a whileloop or a for loop?
10 2 ❏ Reading Others' Code: GradingTake 'em All
❏ Grading Take 'Em All❏ Control Structures Example❏ Cleanup Karel
Reading Code
Programming Style
Control Structures
What are the different types of controlstructures, and how do we know when to useeach one?
11 3 ❏ Random Hurdles Control Structures
Loops
What are the different types of controlstructures, and how do we know when to useeach one?
12 3 ❏ More Karel Examples andTesting
❏ Move Tennis Ball Stack❏ Climbing Karel❏ How to Indent Your Code❏ Dance and Clean Karel❏ Diagonal Staircase
Top Down Design
Indenting
Why is indenting important?
13 3 Challenge Exercises:
★ Fetch★ Racing Karel
Top Down Design
Functions
Comments
Control Structures
What are the important factors for goodprogramming style?
14 3 ★ Racing Karel Top Down Design
Functions
Comments
How do you approach breaking down a toughcoding problem into smaller problems?
Control Structures
15 3 ★ Tower Builder Top Down Design
Functions
Comments
Control Structures
Edge Cases
How do you approach breaking down a toughcoding problem into smaller problems?
What are edge cases you have run into?
16 4 ★ Tower Builder Top Down Design
Functions
Comments
Control Structures
Edge Cases
How do you approach breaking down a toughcoding problem into smaller problems?
How do we test and debug our programs?
What are techniques you have come up withto fix bugs in your program?
17 4 ★ Super Cleanup Karel Top Down Design
Functions
Comments
Control Structures
Edge Cases
How do you approach breaking down a toughcoding problem into smaller problems?
18 4 ★ Super Cleanup Karel Top Down Design
Functions
How do you approach breaking down a toughcoding problem into smaller problems?
Comments
Control Structures
Edge Cases
What are edge cases you have run into?
19 4 ★ Double Tennis Balls Top Down Design
Functions
Comments
Control Structures
Edge Cases
How do you approach breaking down a toughcoding problem into smaller problems?
20 4 ★ Double Tennis Balls Top Down Design
Functions
Comments
Control Structures
Edge Cases
How do you approach breaking down a toughcoding problem into smaller problems?
What are the important things we learnedfrom Karel?
21 5 ❏ Hello World❏ Hello World❏ Your Name and Hobby❏ Variables❏ Basic Variables❏ Apples and Oranges
Console Program
println
Variable
What is a variable? Come up with severalexamples where you could use a variable.
22 5 ❏ User Input readInt How do you read input from a user?
❏ Basic User Input❏ Grocery Store readLine What are the different types of input you can
get from a user?
Now that you can read input from a user,what type of program can you come up with?
23 5 ❏ Basic Math in JavaScript❏ Simple Calculator❏ Dollars to Pounds❏ Dividing Up Groups❏ TShirt Shop❏ Running Speed
Cariable
Operators
Modulus (remainder)
What is the modulus operator?
Come up with something to compute. Whatis the process for writing this program?
24 5 ❏ Graphics❏ Graphics Hello World❏ Blue Circle❏ Red Rectangle❏ 8 Ball❏ French Flag
Object
Circle
Rectangle
Coordinate system
Canvas
What are the basic steps for creating agraphics object on the screen?
25 5 ❏ Snowman Object
Circle
Rectangle
Coordinate system
Canvas
Constants
Why do constants matter in the snowmanprogram?
What are problems with using magicnumbers?
Magic numbers
26 6 ❏ Booleans❏ First Boolean❏ Do You Have a Dog?❏ Logical Operators❏ Light Switch❏ President❏ Wasting Time❏ Can You Graduate?❏ The Weekend
Boolean
Logical operator
What are simple yes/no or true/falsequestions where you can store the result in aboolean?
Come up with an example of a booleanexpression by combining the different logicaloperators.
27 6 ❏ Comparison Operators❏ Walk into a Bar❏ Grade Range❏ Rolling Dice❏ All Star
Comparison operator When do you use comparison operators?
28 6 ❏ If Statments❏ Negative Numbers❏ Great Names❏ Even and Odd❏ Secret Password❏ Teenagers❏ Stop Light
If statement
Conditional
If/else
What are examples in your day to day lifewhen you do if/else or “if (condition) then,otherwise” logic?
29 6 ❏ Basic For Loop❏ For Loop❏ Chalkboard❏ Caterpillar
For loop How does this for loop compare to for loopsin karel?
30 6 ❏ Caterpillar For loop
If/else statement
What was the most challenging part of thecaterpillar problem?
What were the bugs you ran into?
How did you debug them?
31 7 ❏ General For Loop❏ Countdown❏ Count By Twos❏ Count By Sevens❏ Powers of Two
For loop
Counter
Looping variable
What are the parts of the for loop?
Explain how you write a for loop to count by9s.
32 7 ❏ For Loop Examples❏ For Loop Sum❏ Better Sum❏ Factorial
For loop If you want to have some result variable thatexists throughout a for loop, where do you putit?
33 7 ❏ All Dice Values❏ Random Numbers❏ Rolling a Die❏ Flipping a Coin❏ Lots of Dice❏ Random Color Square
Randomizer How would you simulate a random coin flip?
How would you simulate a random dice roll?
34 7 ❏ While Loops❏ While Loop Countdown❏ Inventory❏ Fibonacci
While loop How do while loops in JavaScript compare towhile loops in Karel?
35 7 ❏ Fibonacci❏ Loop and a Half❏ Adding Up Numbers❏ Snake Eyes
Loop and a half
Sentinel
What is the loop and a half?
Why use the loop and a half?
36 8 ❏ Better Password Prompt❏ Functions and Parameters 1❏ Double Number❏ Square
Parameters Come up with three examples of daytodaytasks that you can turn into a problem offunctions and parameters.
❏ Triple
37 8 ❏ Functions and Parameters 2❏ Sum Function❏ Area of Triangle❏ Height in Meters
Parameters Come up with three examples of daytodaytasks that you can turn into a problem offunctions and parameters.
38 8 ❏ Functions and Parameters 3❏ Draw Circles❏ Horizontal Lines❏ Graphics Stop Light
Parameters Come up with three examples of daytodaytasks that you can turn into a problem offunctions and parameters.
39 8 ❏ Pool Table❏ Functions and Return Values 1❏ Double Number❏ Square with Return Values❏ Triple with Return Values
Return values Come up with three examples of daytodaytasks that you can turn into a problem offunctions and parameters and return values.
40 8 ❏ Functions and Return Values 2❏ Return Values❏ Is It Even?❏ Max❏ Local Variables and Scope❏ Return Values❏ Local Variables
Return values
Local variables
Scope
Come up with three examples of daytodaytasks that you can turn into a problem offunctions and parameters and return values.
Why do you not want global variables?
41 9 ❏ Ghosts Parameters
Helper methods
What are the patterns in the Ghost problem?
What helper functions did you write and why?
42 9 ❏ Ghosts Parameters
Helper methods
What helper functions did you write and why?
43 9 ❏ Guessing Game Loop and a half What problems did you run into in thisproblem?
How did you debug them?
44 9 ❏ Draw Something Parameters
Helper methods
What helper functions did you write and why?
45 9 ❏ Draw Something parameters
helper methods
What helper functions did you write and why?