## Hour of code

 This 20-hour course introduces core computer science and programming concepts. The course is designed for use in classrooms for grades K-8, but it is fun to learn at all ages. Hint : Google the names of the presenters and find out why they are famous. You might be suprised at what they do ... It builds on the previous introduction in the one hour of code. The programming language we will use from the hour of code site is called Blockely.  if you look to the right of the screen, you can click on the show code window and see the javascrip commands "under the hood".

## Introduction to Computer Science

 Objective: Students will — Learn the difference between programming, computer science, and computational thinking Understand that a computer is a tool and not an excuse to turn off your brain Main Goal: Give the class a clear understanding of what computer science is and how it could be helpful in their lives. Learn to be responsible computer users Discover that computer science can change the world Stage 1 is here Assignment: Write your initials in binary, using the binary decoder sheet. Vocabulary: automate, binary, computer, computer science, data, decoder, program, programming, open source, repeditive, data, information, philanthropy, simulation,

## Stage 2 : The Maze

 There are 20 lessons here. It is a repeat of the earlier one hour of code. When you complete it, you get to download a certificate Stage 2 is here Assignment: Complete the 20 lessons and be able to produce a completion cetificate. Objectives Students need to be able to explain what is meant by a program sequence a program repetion a program decision program termination Vocabulary program sequence, program execution (run), decision statements, if .. then, if .. then .. else, while, repeat, termination

## Stage 3 : Computational thinking

 Computational thinking is a way of breaking large problems into their parts to make it easy to solve the problem. There are four parts decomposition pattern location abstraction algorithm Stage 3 is here Objective:Students will — Learn the four steps of computational thinking Main Goal: Introduce the “Computational Thinking” model as a way of preparing real-world problems for digital representation. Use teamwork to solve complex problems Vocabulary : Computation, digital, complex

## Stage 4 : Coding with paper

 Main Goal: Help students understand how “coding” works. Stage 4 is here Objective: Students will — Understand the difficulty of translating real problems into programs Learn that ideas may feel clear to them, and still be misinterpreted by a computer Realize the need for formal programming structures like loops and functions Vocabulary Algorithm, coding, parameters, function, debugging, iteration, loops,

## Stage 5 : Programming with the Artist

 in this series of exercises called "Artist', you are introduced to the idea of drawing regular polygons and a circle. Stage 5 is here Here you will use the repeat command to draw a circle and a square. block

## Stage 6 : Algorithms

 Main Goal: Explain that the same thing can be accomplished many different ways, and sometimes there are “better” ways than others. Stage 6 is here Objectives Students will — Practice creating algorithms that describe  real-world directions Learn to think about solving a problem  many different ways Think about creating more “efficient”  solutions to problems Vocabulary: Tangram, algorithm, ambiguous, evaluate, included angle, nested loop, trial and error, debugging.

## Stage 7 : The Artist (2)

 Use the repeat block Stage 7 is here

## Stage 8 : Functions

 Main Goal: Illustrate how repetitive tasks can be stored in a small group of code that can be “called” several times, instead of wasting space with lots of copies of the same instruction. Stage 8 is here Objectives Students will — Learn to find patterns in processes Think about an artistic task in a different way Vocabulary Algorithm, abstraction, function, function call, function name, program, variable.

## Satge 9 : The farmer

 This is a really cool exercise. It deals with loops and decisions in coding. Stage 9 is here There are three in this exercise repeat (fixed number of loops) while (test at start of loop) if .. then (branching) Vocabulary: iteration, loops, testing, conditions, repeat, while, if then,

## Conditionals

 Main Goal: This lesson will introduce conditionals, especially as they pertain to loops and if statements. Objective:Students will —  Gain experience determining the outcome (true or false) of conditionals Evaluate logical statements to determine which branch of a program to follow Introduce the idea of a function Reuse a function more than once Stage 10 is here Assignment Produce a spiral using Blockly, then use a graphics package (eg GIMP, pixelar) to save the spiral and the code in a Word Processed document. Vocabulary ; Conditional, counters, if, function, increment, decrement, nested statements, variable.

## Song writing

 Main Goal: Learn how to define and call functions. Objective: Students will —  Learn about defining functions> Practice calling functions See the practicality of passing variables as parameters Stage 12 is here Vocabulary Algorithm, abstraction, function, function call, function name, parameters, program, variable.

## The farmer (2)

 This part introduces the concept of functions and how they can be used. Stage 13 is here

## Abstraction

 Main Goal: Help students to see how often they use abstraction in their everyday life. Stage 14 is here Objectives : Students will —  Have the chance to internalize the idea of “abstraction” Combine writing and abstraction to test their own creativity Analyze their day to find differences that they can turn into similarities Vocabulary : Abstraction, specific, template.

## The Artist (4)

 This allows users to define functions, then use simple statements and parameters to manipute the functions as to how you want them. Stage 15 is here Parameter passing is very important. The word para means across, and it referes to the way variables can be cassed "accross from a calling routing to a function. Vocabulary : Functions, parameters,

## Relay programming

 Main Goal: Emphasize the importance of checking your workand writing programs in proper sequence Objective : Students will —Learn to check their work as well as the work of othersThink about sequencePractice imagining expected outcomesPractice completing “thinking tasks” under pressure Stage 16 is here World's first ever computer bug. A moth caught in open circuits of an early computer. Note it is in a notebook where the programmer was writting algorithms. This section also allows students to revise sequence loops fixed iteration  (repeat) conditional iteration (if ... then) before the loop executes (while .. do) after the loop executes (until ... do) functions functions with parameters Vocabulary : algorithm, bugs, debugging, checking, decision, function, iteration,  loops,  parameters, sequence

x

## The farmer (3)

 More practice on debugging. Stage 17 is here

## The Internet

Main Goal: Students will learn how the Internet works,
as it relates to URL addresses and web pages.

Objectives
Students will —

Learn about the complexity of sending messages over the Internet
Practice creative problem solving
Stage 18 is here

Vocabulary :

Network, server, Wifi (wireless), DLS (cable, UTP), fiber, DNS (Domain Name Server), IP (Internet Protocol),  IP address, packets, routing.

## More from the Artist #5

ADSL is an acronym for Asymmetric Digital Subscribers Line. It is sometimes refereed to as broadband. It is an internet cable that provides a high speed internet connection.

## Wrap up

 Here is a summary of the course 1)  Introduction: What is Computer Science? 2)  Maze #1: Sequence, Loops, Conditionals, Nesting 3)  Computational Thinking: Decompose, Patterns, Abstraction, Algorithms 4)  Graph Paper Programming: Draw what the algorithm tells you5)  Artist #1: Draw Shapes, Loops, Increment 6)  Algorithms: Put shapes into pictures, Folding paper 7)  Artist #2: Figure out algorithm 8)  Functional Activity: Suncatchers - Program, functions, variables 9)  Farmer #1: Conditionals, Repetition, Variables 10)  Conditionals Exercise: Coding with Cards 11)  Artist #3: Calling functions, Repeat with Loops, Variables & Parameters 12)  Song Writing: Functions like a chorus, Passing parameters, Parameters as Variables 13)  Farmer #2: Functions 14)  Abstraction: Madlib style stories 15)  Artist #4: Functions and Parameters 16)  Coding Under Pressure: Double Checking, Debugging 17)  Farmer #3: Importance of Order, Debug pre-made program 18)  Internet: What is the Internet? How does it work? 19)  Artist #5: Free play 20)  CS Wrap-U : What did we learn? What was your favorite part? Stage 20 is here Completing this course is a mighty achievement. Remember this. We live in an age where most adaults agree kids know much more about computers than they do. Completing this course makes you a lot smarter in proper computing than them.