1 of 116

CS Fundamentals

Intro Workshop

Wifi: Pass:

Before we begin, please sign into the workshop by visiting:

code.org/pd/XXXXX

Find the notes for this session here:

bit.ly/XXXXX

2 of 116

Welcome!

First, some logistics:

  • Did everyone join the section?
  • Food and Facilities
  • Parking Lot
  • Who are you people?

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

3 of 116

How about you?

Let’s take 15 seconds...

  • Share your name
  • Where you teach/work

Like what you hear or see?

TWEET about it!

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

4 of 116

5 of 116

Computer Science

Using the power of computers to solve problems.

In CS Fundamentals, we define Computer Science as:

But in reality, it’s so much more!

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

6 of 116

Computers and software are changing everything

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

7 of 116

…but the majority of schools don’t teach computer science:

Source: Gallup

90%

parents want their child to study computer science

40%

of schools teach computer programming

8 of 116

And students enjoy computer science and the arts the most

Source: Change the Equation

9 of 116

Computer science is just about learning technology

Some may think:

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

10 of 116

Computer science is just about learning technology

Computer science is about logic, problem solving, and creativity

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

11 of 116

First computer: 1943

12 of 116

First computer: 1943

Ada Lovelace

First computer program: 1843

13 of 116

Computer science is vocational

Some may think:

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

14 of 116

Computer science is vocational

Computer science is foundational

Some may think:

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

15 of 116

Technology affects every field:

16 of 116

But fundamentally, this is the picture we need to solve:

Source: Gallup

90%

parents want their child to study computer science

40%

of schools teach computer programming

17 of 116

NOTE: replace this slide with a screenshot of your own state from code.org/promote

18 of 116

The Code.org Vision:

every school

every student

opportunity

19 of 116

@TeachCode | #LeadCode

Our CS Fundamentals Curriculum

20 of 116

First, a short video

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

21 of 116

11

12

6

7

8

Middle School

9

10

High School

CS Discoveries

Our curriculum pathway — CS Fundamentals

AP CS Principles

CS Fundamentals Express

CS Fundamentals Courses A-F

Elementary school

K

1

2

3

4

5

Pre-reader CS Fundamentals Express

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

22 of 116

CS Fundamentals

Recently re-written to incorporate teacher and community feedback

Mix of unplugged (offline, kinesthetic) and plugged (online, programming)

Course length increases as students get older

Grade-level appropriate literacy and math skills in mind

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

23 of 116

Courses A & B Goals

Unique to A & B

  • Circle-Time Story books
  • Simple Online Puzzle UI

Key Concepts Covered

  • Sequence / Programming
  • Loops
  • Events

Goals of the courses:

  • Build confident thinkers
  • Explore problem solving
  • Don’t fear frustration
  • Learn the tools
  • Love computer science

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

24 of 116

Courses C & D Goals

Introduced in C & D

  • End of Stage Extras
  • Prediction Puzzles

Key Concepts Covered

  • Sequence / Programming
  • C: Loops, Events
  • D: Nesting Statements, Conditionals

Goals of the courses:

  • Enhance problem solving
  • Explore cause & effect
  • Master basic skills
  • Love computer science

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

25 of 116

Courses E & F Goals

Introduced in E & F

  • Capstone Projects

Key Concepts Covered

  • Ramp-Up of Previous
  • E: Functions
  • F: Variables, For Loops, Parameters

Goals of the courses:

  • Experience autonomy
  • Combine skills
  • Feel Empowered
  • Love computer science!

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

26 of 116

The Approaches We Use

27 of 116

CS Fundamentals

Story books

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

28 of 116

CS Fundamentals

Unplugged Activities

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

29 of 116

CS Fundamentals

Plugged Activities

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

30 of 116

CS Fundamentals

Bridging Activities

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

31 of 116

CS Fundamentals

Pre-Readers Readers

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

32 of 116

CS Fundamentals - Teacher Resources

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

33 of 116

Framing the Rest of Today

34 of 116

Workshop Overview

Morning:

  • We’re going to model two lessons for you! (one unplugged, one plugged)
  • You’re going to prepare and dry run an unplugged lesson

Afternoon:

  • We’ll talk about how to use the Code.org Website to manage your courses and students
  • You will prepare and dry run a plugged lesson
  • We’ll discuss how to teach these lessons to your students
  • You’ll build an implementation plan

35 of 116

What do you hope to get out of this workshop?

What do you plan to do with CS Fundamentals and your students?

Setting Your Intentions

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

36 of 116

What kind of environment do you need in order to get the most out of today?

Setting Expectations

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

37 of 116

Model Lesson: Unplugged

38 of 116

Lesson Exploration — Setting Expectations

39 of 116

What we’re about to do: Facilitators will model 2 lessons from the CS Fundamentals curriculum — one Unplugged and one Plugged.

This is a role play activity where you will act as students (wearing your learner hats ) while the facilitator acts as the teachers (wearing the teacher hat )

Setting Expectations: Model Lessons and Role Play

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

40 of 116

Are there any norms you want to add for the group?

Setting Expectations

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

41 of 116

Model Lesson: Graph Paper Programming

NOTE: ONLY USE THE FOLLOWING 7 SLIDES IF MODELING GRAPH PAPER PROGRAMMING

42 of 116

Lesson Context

Recently re-written to incorporate teacher and community feedback

Mix of unplugged (offline, kinesthetic) and plugged (online, programming)

Course length increases as students get older

Grade-level appropriate literacy and math skills in mind

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

43 of 116

Unplugged Activity: Graph Paper Programming

  • Move One Square Right
  • Move One Square Left
  • Move One Square Up
  • Move One Square Down
  • Fill-In Square with color

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

44 of 116

Unplugged Activity: Graph Paper Programming

4. Move One Square Down

5. Fill in Square with Color

3. Move One Square Right

2. Fill in Square with Color

1. Move One Square Right

Commands

Move One Square Right Move One Square Left

Move One Square Up Move One Square Down

Fill-In Square with color

45 of 116

Unplugged Activity: Graph Paper Programming

  1. Move One Square Right
  2. Fill in Square with Color
  3. Move One Square Right
  4. Move One Square Right
  5. Fill in Square with Color
  6. Move One Square Down
  7. Move One Square Left
  8. Fill in Square with Color
  9. Move One Square Left
  10. Move One Square Left
  11. Fill in Square with Color
  12. Move One Square Down
  13. Move One Square Right
  14. Fill in Square with Color
  15. Move One Square Right
  16. Move One Square Right
  17. Fill in Square with Color
  18. Move One Square Down
  19. Move One Square Left
  20. Fill in Square with Color
  21. Move One Square Left
  22. Move One Square Left
  23. Fill in Square with Color

46 of 116

Unplugged Activity: Graph Paper Programming

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

47 of 116

Unplugged Activity: Graph Paper Programming

Curriculum Guide, page. 231

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

48 of 116

Unplugged Activity: Graph Paper Programming

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

49 of 116

Model Lesson: My Robotic Friend

NOTE: ONLY USE THE FOLLOWING 9 SLIDES IF MODELING MY ROBOTIC FRIEND

50 of 116

Lesson Context

Recently re-written to incorporate teacher and community feedback

Mix of unplugged (offline, kinesthetic) and plugged (online, programming)

Course length increases as students get older

Grade-level appropriate literacy and math skills in mind

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

51 of 116

Demo Model Lesson — B.6 My Robotic Friend

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

52 of 116

Demo Model Lesson — B.6 My Robotic Friend

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

53 of 116

Demo Model Lesson — B.6 My Robotic Friend

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

54 of 116

Demo Model Lesson — B.6 My Robotic Friend

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

55 of 116

Demo Model Lesson — B.6 My Robotic Friend

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

56 of 116

Demo Model Lesson — B.6 My Robotic Friend

Pick up cup

Step forward

Step forward

Put down cup

Step backward

Step backward

Pick up cup

Step forward

Step forward

Step forward

Step forward

Put down cup

Step backward

Step backward

Step backward

Step backward

Pick up cup

Step forward

Step forward

Step forward

Put down cup

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

57 of 116

Demo Model Lesson — B.6 My Robotic Friend

With a partner, rewrite the algorithm using only these symbols

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

58 of 116

Demo Model Lesson — B.6 My Robotic Friend

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

59 of 116

Demo Model Lesson — B.6 My Robotic Friend

Pick a new design to program

@TeachCode

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

60 of 116

Reflection

61 of 116

@TeachCode | #TeachCode

Unplugged Lesson: reflect

What would you need to do to make this lesson work for the students in your own classroom or context?

@TeachCode

@TeachCode | #TeachCode

62 of 116

Model Lesson: Plugged

63 of 116

Context

64 of 116

@TeachCode | #TeachCode

Unplugged Lessons:

Computing without a computer

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

65 of 116

Plugged lessons:

Online activities that work on�any computer or�tablet.

66 of 116

Model Lesson: B.7 — Programming with Maze

NOTE: ONLY USE THE FOLLOWING 4 SLIDES IF MODELING B.7

67 of 116

Demo Model Lesson — B.7 Programming in Maze

South

North

East

West

Today we’re going to use the same symbols as we did yesterday, but this time they have a new meaning

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

68 of 116

Demo Model Lesson — B.7 Programming in Maze

South

North

East

West

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

69 of 116

Demo Model Lesson — B.7 Programming in Maze

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

70 of 116

Model Lesson: D.2 — Introduction to Online Puzzles

NOTE: ONLY USE THE FOLLOWING 2 SLIDES IF MODELING D.2

71 of 116

Lesson Context

Recently re-written to incorporate teacher and community feedback

Mix of unplugged (offline, kinesthetic) and plugged (online, programming)

Course length increases as students get older

Grade-level appropriate literacy and math skills in mind

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

72 of 116

Introduction to Online Puzzles

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

73 of 116

@TeachCode | #TeachCode

Plugged Lesson: Context

Navigate to the code.org website.

(You will be able to get to that directly from our shared notes, which are at <notes>)

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

74 of 116

Reflection

75 of 116

@TeachCode | #TeachCode

Plugged Lesson: reflect

What would you need to do to make a lesson like this one work for the students in your own classroom or context?

What role can you play as the teacher during plugged lessons like this to make sure that all of your students are able to engage in the activity, regardless of background or prior knowledge?

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

76 of 116

Break

We’ll start back at XXXX am

77 of 116

Table 2:

Table 4:

Table 1:

Seating Assignments

Table 3:

Table 5:

Table 7:

Table 6:

Table 8:

projector

78 of 116

Prepare an Unplugged Lesson

79 of 116

Take a couple of minutes to say hello to your lesson planning partner

@TeachCode | #TeachCode

Unplugged Lesson Preparation

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

80 of 116

@TeachCode | #TeachCode

What we are about to do: prepare and dry run two lessons from the CS Fundamentals curriculum — one unplugged and one plugged.

Dry Run = Practicing your plan with a friendly audience (one another) before implementing it with your students.

What is a Dry Run?

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

81 of 116

@TeachCode | #TeachCode

Your goals for the next 30 minutes:

Read and make a plan for teaching your assigned unplugged lesson to your students.

Feel free to make posters, slides, or whatever else you would use to teach this lesson with your students.

Unplugged Lesson Preparation

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

82 of 116

What you are preparing to do later:

Take the other teachers at your table through a dry run of 15 minutes of your lesson.

This should include using the materials you created and having your tablemates do the activity.

@TeachCode | #TeachCode

Unplugged Lesson Preparation

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

83 of 116

Plan your unplugged lesson with your partner

(assignments in our shared notes document, <insert bit.ly>)

@TeachCode | #TeachCode

Unplugged Lesson Preparation

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

84 of 116

Dry Run an Unplugged Lesson

85 of 116

@TeachCode | #TeachCode

Dry Run: Unplugged Lessons

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

If your group prepared the first lesson (in order in the curriculum) it’s your turn to do your dry run!

86 of 116

@TeachCode | #TeachCode

Dry Run: Unplugged Lessons

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

If your group prepared the second lesson (in order in the curriculum) it’s your turn to do your dry run!

87 of 116

Reflect on Lesson

88 of 116

On your own, reflect on the following:

  • Anything surprising about unplugged activities?
  • What did you learn here that will impact how you use these lessons with your students?
    • Are you going to try any specific strategies or practices?

@TeachCode | #TeachCode

Unplugged Lessons — Reflection

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

89 of 116

As a table, discuss:

  • Anything surprising about unplugged activities?
  • What did you learn here that will impact how you use these lessons with your students?
    • Are you going to try any specific strategies or practices?
  • What role can you take in building confidence with your students through unplugged lessons?

@TeachCode | #TeachCode

Unplugged Lessons — Table Discussion

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

90 of 116

  • Anything surprising about unplugged activities?
  • What did you learn here that will impact how you use these lessons with your students?
    • Are you going to try any specific strategies or practices?
  • What role can you take in building confidence with your students through unplugged lessons?

@TeachCode | #TeachCode

Unplugged Lessons — Whole Group Share Out

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

91 of 116

Take a minute to jot down any ideas or notes from your lesson dry run that will be useful when making your implementation plan (classroom setup constraints, etc)

@TeachCode | #TeachCode

Implementation Plan

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

92 of 116

Lunch

We’ll start back at XXXX pm

93 of 116

Using the Code.org Website

94 of 116

@TeachCode | #TeachCode

Using the Code.org Website

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

95 of 116

Prepare a Plugged Lesson

96 of 116

@TeachCode | #TeachCode

What we are about to do: prepare and dry run your plugged CS Fundamentals lesson.

Remember, Dry Run = Practicing your plan with a friendly audience (one another) before implementing it with your students

What is a Dry Run?

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

97 of 116

While you prepare your assigned lesson consider:

  • What concepts are covered in your lesson?
  • How are these activities different from the puzzles you saw during the model lesson at the start of the day?
  • How will you introduce this type of activity with students?
  • What role will you take in helping all of your students engage with this lesson?
  • When are students likely to experience frustration? How might you support students who are feeling this way? Think about being a lead learner!

@TeachCode | #TeachCode

Plugged Lesson Preparation

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

98 of 116

Dry Run a Plugged Lesson

99 of 116

@TeachCode | #TeachCode

Dry Run: Plugged Lessons

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

If your group prepared the first lesson (in order in the curriculum) it’s your turn to do your dry run!

100 of 116

@TeachCode | #TeachCode

Dry Run: Plugged Lessons

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

If your group prepared the second lesson (in order in the curriculum) it’s your turn to do your dry run!

101 of 116

Reflect on Lesson

102 of 116

  • What did you learn here that will impact how you use these lessons with your students? any specific strategies or practices?
  • What role can you take in helping all of your students engage with plugged lessons?
  • How does the structure of the curriculum (introducing concepts with unplugged lessons, then building on them with plugged lessons) influence how your students interact with the computer science concepts covered in CS Fundamentals?

@TeachCode | #TeachCode

Plugged Lessons

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

103 of 116

Take a couple of minutes to jot down any ideas or notes from your lesson role play that should be added to your implementation plan

@TeachCode | #TeachCode

Plugged Lessons

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

104 of 116

10 minute Break!

We’ll start back at XXXX pm

105 of 116

Teaching CS to all Students

106 of 116

Think back at the lessons you've experienced today.

  • How are unplugged and plugged lessons connected?
  • Why do you think we have so many unplugged lessons in the curriculum?

@TeachCode | #TeachCode

Reflection: Teaching CS to All Students

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

107 of 116

Consider your students.

How many of them have prior knowledge or background experience with Computer Science (outside of whatever you might have taught them already)?

Do you think these activities can be presented in a way that is accessible to all of your students?

@TeachCode | #TeachCode

Reflection: Teaching CS to All Students

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

108 of 116

@TeachCode | #TeachCode

Teaching CS to All Students

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

109 of 116

@TeachCode | #TeachCode

On your own, consider the following:

What can you (in your role in the school) do to help make sure your students have a learning environment that enables equitable access to computer science instruction?

What barriers exist that make this challenging?

Reflection: Teaching CS to All Students

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

110 of 116

At your table, discuss:

What can you (in your role in the school) do to help make sure your students have a learning environment that enables equitable access to computer science instruction?

What barriers exist that make this challenging? Any ideas for how to address these barriers?

Reflection: Teaching CS to All Students

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

111 of 116

code.org/equity

Reflection: Teaching CS to All Students

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

112 of 116

Build an Implementation Plan

113 of 116

Let’s revisit your intentions from the start of the day.

Do you have any questions that haven't been answered that are blocking you from making a plan to get started with CS Fundamentals?

Making an Implementation Plan

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

114 of 116

Getting answer to questions

  • What​ questions do you have?
  • Where​ can you find answers those questions?

Coordinating

  • Is there anyone at your school you need to work with in order to start teaching CS Fundamentals? (reserving space in the computer lab, finding ways to integrate into lessons, etc)
  • When can you talk to those people?

Scheduling

  • When could CS Fundamentals fit into the schedule (either your own or for the teachers you support)?
  • What needs to happen between now and then to make offering the course possible?

Making an Implementation Plan

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

115 of 116

Head over to <shared notes> to get started with making your implementation plan.

Making an Implementation Plan

@TeachCode | #TeachCode

@TeachCode

@TeachCode | #TeachCode

116 of 116

Wrap Up