It’s time to put it all together! You have learned all of Karel’s abilities, and have practiced writing programs to solve Karel problems. In this unit, you will synthesize all of the skills and concepts learned in the Karel unit to solve increasingly challenging Karel puzzles.

TEST DAY–Group up! You cannot move on until EVERYONE in your group is finished with an activity!

Objective

Students will be able to…
* Define a problem in their own words and plan out a solution to the problem
* Break a large problem down into smaller pieces and solve each of the pieces, then use these solutions as building blocks to solve the larger problem
* Utilize the proper control structures to create general solutions that solve multiple Karel worlds
* Write clear and readable code using control structures, functions, decomposition, and comments

Vocabulary

These are the key terms for this lesson.

Term Definition
Break Down (Decompose) Breaking down (decomposing) your code is splitting it into more functions.
Read Like a Story Programs that “Read like a story” have good decomposition and make the code easy to follow.
Programming Style The way your code is written is the style. It covers the aspects of the code that goes beyond whether or not it just works.
Comment A message in your code that explains what is going on.
Decomposition Decomposition is breaking your program into smaller parts.
Fencepost Problem A problem when using a while loop where you forget one action at the beginning or the end.

Suggestions:

  • Review the idea of pseudocode. Plan out your solution to a problem first in plain language, then pseudocode, before ever typing out your code. Your solution should read out like a story, then you can code each step of the story.
  • Remember you will need to solve the challenge for every Karel world provided, not just the starter world.
  • Sometimes it’s best to learn best by doing. The Karel Challenges synthesize skills and concepts learned from the entire unit. You will likely need multiple class periods to solve all of the challenges.
  • Some of the challenges are very tricky, but the longer you spend trying, the more rewarding it is when you finally solve the problem. Growth mindset is very important here. Many solutions will seem promising at first, but then will end up being incorrect. This is an opportunity to learn what was wrong, and try again with a better plan. Most of the time, the first solution you try to code will not end up being correct, and that’s okay! The bugs you run into are chances to learn from your mistakes.

Activities

These are all the activities included in the lesson.

Discussion Questions:

Answer the following at the top of your Word Online file for this class:

  1. What are some tools that can help you debug your programs?

Objective

Students will be able to…
* Write a JavaScript program by typing commands with proper syntax in the start function
* Write a program that prints out a message to the user

Activities

These are all the activities included in the lesson.

Activity

3.1.1 Hello World

Video

3.1.2 Hello World Quiz

Quiz SHOW ME

3.1.3 Hello World

Example

3.1.4 Your Name and Hobby

Exercise SHOW ME

Objective

Students will be able to…
* Explain what variables are and what they are used for
* Create their own variables
* Print out the values stored in variables

Activities

These are all the activities included in the lesson.

Activity

3.2.1 Variables

Video

3.2.2 Variables Quiz

Quiz PRINT QUIZPRO

3.2.3 Basic Variables

Example

3.2.4 Apples and Oranges

Exercise REVIEW FOR CLASS

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.


User input is a cornerstone of any interactive program. In this lesson we learn how we can allow the user to input information into our programs. This will make our programs much more interactive and useful.

Objective

Students will be able to…
* Create programs that ask the user for input
* Store user input in variables and print it back to the user
* Choose the proper input function to use depending on the type of information needed

Activities

These are all the activities included in the lesson.

Activity

3.3.1 User Input

Video

3.3.2 User Input Quiz

Quiz PRINT QUIZPRO

3.3.3 Basic User Input

Example

3.3.4 Grocery Store

Exercise REVIEW FOR CLASS

Lesson: 3.4 Basic Math in JavaScript

Section:


Computers are excellent machines for performing mathematical operations. In this lesson we learn about the different mathematical operators we can use to perform mathematical computations, and we create useful programs that compute useful information for the user.

Objective

Students will be able to…
* Describe the different mathematical operators we can use in programs
* Create programs that use basic math to compute useful things
* Create programs that take in user input, do simple computations with the input, and produce useful output

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

Lesson: 3.4 Basic Math in JavaScript

Section:


Computers are excellent machines for performing mathematical operations. In this lesson we learn about the different mathematical operators we can use to perform mathematical computations, and we create useful programs that compute useful information for the user.

Objective

Students will be able to…
* Describe the different mathematical operators we can use in programs
* Create programs that use basic math to compute useful things
* Create programs that take in user input, do simple computations with the input, and produce useful output

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

Lesson: 3.5 Using Graphics in JavaScript

Section:


The basics of creating graphics objects to a screen relies on setting the type, shape, size, position, and color before on the artist’s canvas before adding to the screen. Using the geometric concepts, and the concept of getWidth() and getHeight(), multiple graphic objects can be created in JavaScript.

Objective

Students will be able to…
* Create graphical JavaScript programs that draw shapes on the canvas
* Locate points on the graphics canvas using (x, y) coordinates

Activities

These are all the activities included in the lesson.

Activity

3.5.1 Graphics

Video

3.5.2 JavaScript Graphics Quiz

Quiz PRINT QUIZPRO

3.5.3 Graphics Hello World

Example

3.5.4 Blue Circle

Example

3.5.5 Red Rectangle

Example

3.5.6 8 Ball

Example

3.5.7 French Flag

Exercise REVIEW FOR CLASS

3.5.8 Snowman

Exercise REVIEW FOR CLASS

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.


Booleans refer to a value that is either true or false. Named after English-born mathematician, philosopher and logician, George Boole, Booleans are used to test whether a condition is true or false.

Objective

Students will be able to…

  • Create boolean variables to represent meaningful yes/no values
  • Print out the value of a boolean variable

Activities

These are all the activities included in the lesson.

Activity

4.1.1 Booleans

Video

4.1.2 Booleans Quiz

Quiz SHOW ME

4.1.3 First Boolean

Example

4.1.4 Do You Have a Dog?

Exercise SHOW ME

Logical operators allow us to connect or modify Boolean expressions. Three logical operators are the !, ||, && characters.
! = NOT
|| = OR
&& = AND
Logical operators can be used in combination.

With these logical operators, we can construct logical statements such as “I go to sleep when I am tired OR it’s after 9pm”, “I wear flip flops when I am outside AND it is NOT raining”

Objective

Students will be able to…
* Describe the meaning and usage of each logical operator: OR (||), AND (&&), and NOT (!)
* Construct logical statements using boolean variables and logical operators

Activities

These are all the activities included in the lesson.

Activity

4.2.1 Logical Operators

Video

4.2.2 Logical Operators Quiz

Quiz SHOW ME

4.2.3 Light Switch

Example

4.2.4 President

Example

4.2.5 Wasting Time

Example

4.2.6 Can You Graduate?

Exercise SHOW ME

4.2.7 School’s Out

Exercise SHOW ME

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.


Comparison operators let us compare two values. Using comparison operators in programming is similar to math in that less than <, greater than >, less than or equal to <=, and greater than or equal to >= are the same. The differences are that operators for equal to are == and not equal are !=. Using comparison operators allows our program to make decisions.

Objective

Students will be able to…
* Explain the meaning of each of the comparison operators (<, <=, >, >=, ==, !=)
* Create programs using the comparison operators to compare values
* Predict the boolean result of comparing two values
* Print out the boolean result of comparing values

Activities

These are all the activities included in the lesson.

Activity

4.3.1 Comparison Operators

Video

4.3.2 Comparison Operators Quiz

Quiz SHOW ME

4.3.3 Voting Age

Example

4.3.4 Grade Range

Example

4.3.5 Rolling Dice

Exercise SHOW ME

4.3.6 All Star

Exercise SHOW ME

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

SEND ME AN EMAIL MESSAGE TODAY TELLING ME THE SCORE ON YOUR QUIZ AND THE EXERCISES YOU WERE ABLE TO COMPLETE.

Lesson: 4.4 If Statements

Section:


JavaScript uses if statements as a way to make decisions and execute specific code. If statements are helpful in writing code that can be used in different situations.

Objective

Students will be able to…
* Explain the purpose of if statements
* Create their own if statements to selective choose which code is executed in their programs

Activities

These are all the activities included in the lesson.

Activity

4.4.1 If Statements

Video

4.4.2 If Statements Quiz

Quiz SHOW ME

4.4.3 Negative Numbers

Example

4.4.4 Great Names

Example

4.4.5 Even and Odd

Example

4.4.6 Secret Password

Example

4.4.7 Teenagers

Exercise SHOW ME

4.4.8 Stop Light

Exercise SHOW ME

4.4.9 Conditionals Badge

Badge

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

 Lesson: 4.5 For Loops in JavaScript

Section:


For loops in Javascript are written and executed in the same manner as the Karel exercises. However, now we explore in more detail the other parts of the loop besides using it as just a counter. We can modify the initialization statement, test statement, and increment statement. The caterpillar problem is one of the more challenging problems because it has students combine several concepts. You will probably spend a week on for loops.

Objective

Students will be able to…
* Create for loops in JavaScript
* Explain the purpose of for loops
* Utilize for loops to avoid typing out repeated code
* Use the loop counter i inside the for loop code to do something different on each iteration

Activities

These are all the activities included in the lesson.

Activity

4.5.1 Basic For Loop

Video

4.5.2 For Loops Quiz

Quiz SHOW ME

4.5.3 For Loop

Example

4.5.4 Chalkboard

Exercise SHOW ME

4.5.5 The Worm

Exercise SHOW ME

4.5.6 Caterpillar

Exercise SHOW ME
 Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

 Lesson: 4.5 For Loops in JavaScript

Section:


For loops in Javascript are written and executed in the same manner as the Karel exercises. However, now we explore in more detail the other parts of the loop besides using it as just a counter. We can modify the initialization statement, test statement, and increment statement. The caterpillar problem is one of the more challenging problems because it has students combine several concepts. You will probably spend a week on for loops.

Objective

Students will be able to…
* Create for loops in JavaScript
* Explain the purpose of for loops
* Utilize for loops to avoid typing out repeated code
* Use the loop counter i inside the for loop code to do something different on each iteration

Activities

These are all the activities included in the lesson.

Activity

4.5.1 Basic For Loop

Video

4.5.2 For Loops Quiz

Quiz SHOW ME

4.5.3 For Loop

Example

4.5.4 Chalkboard

Exercise SHOW ME

4.5.5 The Worm

Exercise SHOW ME

4.5.6 Caterpillar

Exercise SHOW ME
 Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

 Lesson: 4.5 For Loops in JavaScript

Section:


For loops in Javascript are written and executed in the same manner as the Karel exercises. However, now we explore in more detail the other parts of the loop besides using it as just a counter. We can modify the initialization statement, test statement, and increment statement. The caterpillar problem is one of the more challenging problems because it has students combine several concepts. You will probably spend a week on for loops.

Objective

Students will be able to…
* Create for loops in JavaScript
* Explain the purpose of for loops
* Utilize for loops to avoid typing out repeated code
* Use the loop counter i inside the for loop code to do something different on each iteration

Activities

These are all the activities included in the lesson.

Activity

4.5.1 Basic For Loop

Video

4.5.2 For Loops Quiz

Quiz SHOW ME

4.5.3 For Loop

Example

4.5.4 Chalkboard

Exercise SHOW ME

4.5.5 The Worm

Exercise SHOW ME

4.5.6 Caterpillar

Exercise SHOW ME
 Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

 Lesson: 4.6 General For Loops

Section:


For loops in Javascript are written and executed in the same manner as the Karel exercises. However, now we explore in more detail the other parts of the loop besides using it as just a counter. We can modify the initialization statement, test statement, and increment statement. The caterpillar problem is one of the more challenging problems because it has students combine several concepts. You will probably spend a week on for loops.

Objective

Students will be able to…
* Explain the three parts of the for loop (initialization statement, test statement, increment statement)
* Create for loops that iterate differently than the basic for loop structure (ie count by twos or count backwards)

Activities

These are all the activities included in the lesson.

Activity

4.6.1 General For Loop

Video

4.6.2 General For Loop Quiz

Quiz SHOW ME

4.6.3 Countdown

Example

4.6.4 Count By Twos

Example

4.6.5 Count By Sevens

Exercise SHOW ME

4.6.6 Powers of Two

Exercise SHOW ME

Open the Google Doc for this class. In your own words at the TOP of the Doc, explain what you learned today and how it can help you write programs.

SANDBOX–create a new programs that uses at least one WHILE LOOP and IF ELSE statement.  Include at least 2 of your own functions. Show me.

Lesson: 4.7 For Loop Practice

Section:


For loops in Javascript are written and executed in the same manner as the Karel exercises. However, now we explore in more detail the other parts of the loop besides using it as just a counter. We can modify the initialization statement, test statement, and increment statement. The caterpillar problem is one of the more challenging problems because it has students combine several concepts. You will probably spend a week on for loops.

Objective

Students will be able to…

  • Explain the purpose of for loops
  • Create for loops to solve increasingly challenging problems
  • Create nested for loops: for loops inside of for loops

Activities

These are all the activities included in the lesson.

Activity

4.7.1 For Loop Examples

Video

4.7.2 For Loop Examples Quiz

Quiz SHOW ME

4.7.3 For Loop Sum

Example

4.7.4 Better Sum

Exercise SHOW ME

4.7.5 Factorial

Exercise SHOW ME

4.7.6 All Dice Values

Exercise SHOW ME

A randomizer gives a program the appearance of randomly generated number, color or attribute in a program. The Randomizer can be used in conjunction with nextInt(low, high)nextBoolean()nextFloat(low, high), and nextColor(). It can be utilized to make programs more interesting and engaging for users. With this lesson, students will be made to see how randomization can enhance a program and used in combination with various control structures.

Objective

Students will be able to…

  • Explain why random numbers are a useful part of computer programs
  • Create random values in a program
  • Create programs that do something different on each run depending on random values that are generated
  • Utilize the DOCS for the Randomizer class in order to learn how to generate random values

Activities

These are all the activities included in the lesson.

Activity

4.8.1 Random Numbers

Video

4.8.2 Random Numbers Quiz

Quiz SHOW ME

4.8.3 Rolling a Die

Example

4.8.4 Flipping a Coin

Example

4.8.5 Lots of Dice

Exercise SHOW ME

4.8.6 Random Color Square

Exercise SHOW ME

4.8.7 Randomizer Badge

Badge

 


In this lesson students will explore while loops and JavaScript variables. This combines the ideas of creating variables, updating variables throughout a loop, and determining the correct ending condition. Note that the fibonacci problem is a bit tricky, so you may want to discuss the idea of that on the board or projector.

Objective

Students will be able to…

  • Explain the purpose of a while loop
  • Create while loops to repeat code while a condition is true
  • Utilize while loops to solve new types of problems

Activities

These are all the activities included in the lesson.

Activity

4.9.1 While Loops

Video

4.9.2 While Loops Quiz

Quiz SHOW ME

4.9.3 While Loop Countdown

Example

4.9.4 Inventory

Exercise SHOW ME

4.9.5 Fibonacci

Exercise SHOW ME

Lesson: 4.10 Loop and a Half

Section:


A Loop and a Half is a specific way to write a while loop with the condition being true. Inside the loop, you compare to a SENTINEL value to break out of the loop. This structure often allows you to write less code.

Objective

Students will be able to…

  • Explain the how the loop-and-a-half structure is different from a traditional while loop
  • Explain what an infinite loop is
  • Explain what the break statement does
  • Create programs that use the loop-and-a-half structure to repeat code until a SENTINEL is met, causing the program to break out of the loop

Activities

These are all the activities included in the lesson.

Activity

4.10.1 Loop and a Half

Video

4.10.2 Loop and a Half Quiz

Quiz SHOW ME

4.10.3 Adding Up Numbers

Example

4.10.4 Snake Eyes

Exercise SHOW ME

4.10.5 Better Password Prompt

Exercise SHOW ME

4.10.6 Looper Badge

Badge

 

Lesson: 5.1 Functions and Parameters 1

Section:


In this lesson we start to introduce functions and parameters. Functions and parameters are some of the key building blocks for all programs. Here we just introduce functions with parameters, but functions with return values comes next. This way students can just focus on the “input” to the function rather than the input and output at the same time. Students will start writing console programs to try simple functions with parameters and will then write graphics programs.

Objective

Students will be able to…

  • Explain the purpose of functions
  • Create their own JavaScript functions
  • Utilize their JavaScript functions to solve simple problems
  • Create functions that take in parameters as input

Activities

These are all the activities included in the lesson.

Activity

5.1.1 Functions and Parameters 1

Video

5.1.2 Functions and Parameters Quiz 1

Quiz SHOW ME

5.1.3 Double Number

Example

5.1.4 Square

Exercise SHOW ME

5.1.5 Triple

Exercise SHOW ME

Lesson: 5.2 Functions and Parameters 2

Section:


Functions and parameters are some of the key building blocks for all programs. Here we just introduce functions with parameters, but functions with return values comes later. This way students can just focus on the “input” to the function rather than the input and output at the same time. Students will start writing console programs to try simple functions with parameters and will then write graphics programs.

This lesson covers functions with multiple parameters. Students will write functions that take in multiple parameters as input and print out output.

Objective

Students will be able to…

  • Explain the purpose of functions
  • Create their own JavaScript functions
  • Utilize their JavaScript functions to solve simple problems
  • Create functions that take in multiple parameters as input, and use print statements for output

Activities

These are all the activities included in the lesson.

Activity
5.2.1 Functions and Parameters 2 Video
5.2.2 Functions and Parameters Quiz 2 Quiz SHOW ME
5.2.3 Sum Function Example
5.2.4 Area of Triangle Exercise SHOW ME
5.2.5 Height in Meters Exercise

Lesson: 5.3 Functions and Parameters 3

Section:


Functions and parameters are some of the key building blocks for all programs. Here we just introduce functions with parameters, but functions with return values comes later. This way students can just focus on the “input” to the function rather than the input and output at the same time. Students will start writing console programs to try simple functions with parameters and will then write graphics programs.

This lesson covers functions with multiple parameters that create graphics as output. This is very useful, since creating several different graphical objects involves writing the same code over and over again (set the size, set the color, set the location, etc). Functions and parameters allow us to write the code once and then use parameters to create the different graphical objects and add them to the canvas.

Objective

Students will be able to…

  • Explain the purpose of functions
  • Create their own JavaScript functions
  • Utilize their JavaScript functions to simplify their graphics programs
  • Identify repeated code that can be simplified with functions and parameters
  • Create functions that take in multiple parameters as input, and create graphics as output

Activities

These are all the activities included in the lesson.

Activity

5.3.1 Functions and Parameters 3

Video

5.3.2 Functions and Parameters Quiz 3

Quiz SHOW ME

5.3.3 Draw Circles

Example

5.3.4 Horizontal Lines

Exercise SHOW ME

5.3.5 Graphics Stop Light

Exercise SHOW ME

5.3.6 Pool Table

Exercise SHOW ME

5.3.7 Parameters Badge

Badge

Lesson: 5.4 Functions and Return Values 1

Section:


Think of a function like assigning a task. A return value is giving you the completed work.
This allows you to write functions that do some work for you and send back the result.
Parameters are like inputs into the function, and the return value is output.

Objective

Students will be able to…

  • Explain the purpose of returning a value from a function.
  • Create functions that return values.
  • Create programs that call functions with return values and store the result for later use.

Activities

These are all the activities included in the lesson.

Activity

5.4.1 Functions and Return Values 1

Video

5.4.2 Functions and Return Values Quiz

Quiz SHOW ME

5.4.3 Double Number

Example

5.4.4 Square with Return Values

Exercise SHOW ME

5.4.5 Triple with Return Values

Exercise SHOW ME

Lesson: 5.5 Functions and Return Values 2

Section:


Think of a function like assigning a task. A return value is giving you the completed work.
This allows you to write functions that do some work for you and send back the result.
Parameters are like inputs into the function, and the return value is output.

Objective

Students will be able to…

  • Explain the purpose of returning a value from a function.
  • Create functions that return values.
  • Create programs that call functions with return values and use the return values to solve a higher order problem.

Activities

These are all the activities included in the lesson.

Activity

5.5.1 Functions and Return Values 2

Video

5.5.2 Functions and Return Values Quiz 2

Quiz SHOW ME

5.5.3 Return Values

Example

5.5.4 Is It Even?

Exercise SHOW ME

5.5.5 Max

Exercise SHOW ME

Lesson: 5.6 Local Variables and Scope

Section:


In this lesson we explore the scoping of a variable, which is where the variable is “defined” or where it exists. In this unit getting students to define and explain the concept themselves is key.

Objective

Students will be able to…

  • Identify the scope of a variable
  • Identify which variables are in scope at a given point in a program

Activities

These are all the activities included in the lesson.

Activity

5.6.1 Local Variables and Scope

Video

5.6.2 Local Variables and Scope Quiz

Quiz SHOW ME

5.6.3 Return Values

Example

5.6.4 Local Variables

Exercise SHOW ME

5.6.5 JavaScript Exercises Badge

Badge

Lesson: 6.1 Unit Test

Section:


Use your knowledge of basic Javascript to create some fun programs! Students will create their own Ghost drawings from Pac-Man, a Guessing Game, and a drawing of their own choosing. This will allow students to get creative with their code to show what they have learned.

Objective

Students will be able to…

  • Synthesize the skills and concepts from the JavaScript and Graphics, JavaScript Control Structures, and the Functions and Parameters units to solve increasingly difficult programming challenges
  • Break down a large problem into smaller parts using Top Down Design, and solve each of these smaller parts using functions
  • Create helpful comments with preconditions and postconditions to help the reader understand the code
  • Find and fix bugs in large programs

Activities

These are all the activities included in the lesson.

Activity

6.1.1 Ghosts

Challenge SHOW ME

6.1.2 Guessing Game

Challenge SHOW ME

6.1.3 Draw Something

Challenge SHOW ME

6.1.4 Basic JS Unit Quiz

Quiz SHOW ME

6.1.5 JavaScript Challenges Badge

Badge

Lesson: 7.1 Timers

Section:


In this lesson students will be introduced to the concept of using timers for animation. Now instead of having graphics programs that stay the same, the content changes every time the timer runs. The first program students will see is a moving ball, so discussing this with the class as a demo on the projector is very useful.

Objective

Students will be able to…

  • Explain in their own words how animation works
  • Create animation in programs using the setTimer function
  • Explain what a callback function is

Activities

These are all the activities included in the lesson.

Activity

7.1.1 Timers

Video

7.1.2 Timers Quiz

Quiz PRINT QUIZPRO

7.1.3 Moving Ball

Example

7.1.4 Magic 8 Ball

Example

7.1.5 Crazy Ball

Exercise REVIEW FOR CLASS

 Lesson: 7.2 Random Circles

Section:


In this lesson we’ll look at more examples with timers and start making more interesting animations. Students will use timers and the Randomizer to create animations on the canvas.

Objective

Students will be able to…

  • Create programs with timers to create increasingly challenging animations
  • Analyze existing programs and explain how they create animations
  • Utilize the Randomizer to generate random events in their animations

 Lesson: 7.3 Random Ghosts

Section:


In this lesson students now use timers in combination with the other ideas they have learned, including more graphics as well as coordinate math to create different objects. The random ghosts serves as a fun example to show how you can modify things once you have the basic building blocks in place.

Objective

Students will be able to…

  • Explain the general workflow of creating an animation program
  • Analyze animation programs and identify similarities and differences
  • Create increasingly challenging animations using timers, graphics, and the Randomizer

Activities

These are all the activities included in the lesson.

Activity
7.3.1 Example: Random Ghosts Video
7.3.2 Random Ghosts Quiz Quiz PRINT QUIZPRO
7.3.3 Random Ghosts Example
7.3.4 Random Fireworks Example
7.3.5 Circle Wall Exercise REVIEW FOR CLASS

 Lesson: 7.4 Bouncing Ball

Section:


This lesson builds on our use of timers and utilizes if statements inside timers to dynamically change what the animations are doing. The exercises build on the Bouncing Ball example.

Objective

Students will be able to…

  • Explain the general workflow of creating an animation program
  • Analyze animation programs and identify similarities and differences
  • Create increasingly challenging animations using timers, graphics, and the Randomizer

Activities

These are all the activities included in the lesson.

Activity

7.4.1 Example: Bouncing Ball

Video

7.4.2 Bouncing Ball Quiz

Quiz PRINT QUIZPRO

7.4.3 Bouncing Ball

Example

7.4.4 Hotspot Ball

Exercise REVIEW FOR CLASS

7.4.5 Trail

Exercise REVIEW FOR CLASS

7.4.6 Animator Badge

Badge

 Lesson: 7.5 Mouse Events: Mouse Clicked

Section:


Here we introduce a way the students can get input from the mouse using mouse clicked. We keep some of the same building blocks by showing examples with circles and ghosts, and then the student programs prompt them to use this new idea in combination with tracking overall program state.

Objective

Students will be able to…

  • Describe how events are different than timers
  • Use mouse click events to create programs that respond to user clicks

 

Lesson: 7.6 Mouse Events: Mouse Moved

Section:


Mouse events capture actions performed by the mouse. This allows you to create interactive programs including basic games. This lesson explains how to use mouse events to make some interactive animations.

Objective

Students will be able to…

  • Explain how events are different from timers.
  • Create interactive programs that use events to respond to the mouse moving.

Activities

These are all the activities included in the lesson.

Activity

7.6.1 Mouse Events: Mouse Moved

Video

7.6.2 Mouse Events: Mouse Moved Quiz

Quiz PRINT QUIZPRO

7.6.3 Simple Painting

Example

7.6.4 Colorful Drag to Paint

Example

7.6.5 Coordinates

Exercise REVIEW FOR CLASS

7.6.6 Target

Exercise REVIEW FOR CLASS

 

 Lesson: 7.7 Drawing Lines

Section:


In this lesson we continue to use user input via the mouse.

Objective

Students will be able to…

  • Explain how events are different from timers.
  • Create interactive programs that use events to respond to the mouse moving.

Activities

These are all the activities included in the lesson.

Activity

7.7.1 Example: Drawing Lines

Video

7.7.2 Drawing Lines Quiz

Quiz PRINT QUIZPRO

7.7.3 Drawing Lines

Example

7.7.4 Leash

Exercise REVIEW FOR CLASS

7.7.5 Advanced Animator Badge

Badge

 

 Lesson: 7.8 Key Events

Section:


Keyboard events capture when the user presses keys on the keyboard. This allows you to write programs that take input from the keyboard to change what is happening in the program.

Objective

Students will be able to…

  • Explain how events are different from timers.
  • Create interactive programs that use events to respond to the keyboard input.

Activities

These are all the activities included in the lesson.

Activity

7.8.1 Key Events

Video

7.8.2 Key Events Quiz

Quiz PRINT QUIZPRO

7.8.3 Keyboard Square

Example

7.8.4 Basic Snake

Exercise REVIEW FOR CLASS

 Lesson: 7.9 Crazy Ball Game

Section:


In this lesson students will create a drag and drop program by combining lots of the ideas from this section.

Objective

Students will be able to…

  • Synthesize the skills and concepts learned in the Animation and Games unit to create a full game step by step.

 

Lesson: 8.1 Breakout

Section:


Students will learn to make their very own Breakout video game! This lesson brings together everything they have learned in the module and allow them to show it off in a complete game.

Objective

Students will be able to…
* Synthesize the skills and concepts from Java Script Control Structures, Functions and Parameters, and Animation and Games to create their very own Breakout game from scratch!
* Break down a large problem into smaller parts using Top Down Design, and solve each of these smaller parts using functions
* Create helpful comments with preconditions and postconditions to help the reader understand the code
* Find and fix bugs in large programs

Activities

These are all the activities included in the lesson.

CREATE YOUR OWN PROGRAM IN CODEHS.

YOU HAVE TWO CLASSES TO FINISH THIS

INCLUDE THE FOLLOWING:

  • 2 questions
  • base the response from the computer on the answers to the 2 questions
  • include multicolored graphics

 

CREATE YOUR OWN PROGRAM IN CODEHS.

YOU HAVE TODAY TO FINISH THIS–YOU WILL SHOW THE CLASS NEXT TIME

INCLUDE THE FOLLOWING:

  • 2 questions
  • base the response from the computer on the answers to the 2 questions
  • include multicolored graphics

 

FINISH YOUR CODEHS PROGRAM

 

Leave a comment

Your email address will not be published. Required fields are marked *