code hs curriculum

11
CodeHS Curriculum and Syllabus This suggested syllabus is based on the CodeHS curriculum of introductory coding topics, and is designed for a high school class 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

Upload: tim-danes

Post on 11-Jan-2016

287 views

Category:

Documents


0 download

DESCRIPTION

Code HS Curriculum

TRANSCRIPT

Page 1: Code Hs Curriculum

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 1­4

Basic JavaScript and Graphics 5­9

Animation and Games 10­14

Basic Data Structures 15­20

Game Design: Helicopter 21­23

Console Challenges 24­26

HTML/CSS 27­29

Object Oriented JavaScript 30­36

Page 2: Code Hs Curriculum

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

Page 3: Code Hs Curriculum

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?

Page 4: Code Hs Curriculum

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?

Page 5: Code Hs Curriculum

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?

Page 6: Code Hs Curriculum

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?

Page 7: Code Hs Curriculum

❏  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❏  T­Shirt 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?

Page 8: Code Hs Curriculum

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?

Page 9: Code Hs Curriculum

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 day­to­daytasks that you can turn into a problem offunctions and parameters.

Page 10: Code Hs Curriculum

❏  Triple

37 8 ❏  Functions and Parameters 2❏  Sum Function❏  Area of Triangle❏  Height in Meters

Parameters Come up with three examples of day­to­daytasks 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 day­to­daytasks 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 day­to­daytasks 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 day­to­daytasks 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?

Page 11: Code Hs Curriculum

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?