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
Welcome!
First, some logistics:
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
How about you?
Let’s take 15 seconds...
Like what you hear or see?
TWEET about it!
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
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
Computers and software are changing everything
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
…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
And students enjoy computer science and the arts the most
Source: Change the Equation
Computer science is just about learning technology
Some may think:
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Computer science is just about learning technology
Computer science is about logic, problem solving, and creativity
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
First computer: 1943
First computer: 1943
Ada Lovelace
First computer program: 1843
Computer science is vocational
Some may think:
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Computer science is vocational
Computer science is foundational
Some may think:
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Technology affects every field:
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
NOTE: replace this slide with a screenshot of your own state from code.org/promote
The Code.org Vision:
every school
every student
opportunity
@TeachCode | #LeadCode
Our CS Fundamentals Curriculum
First, a short video
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
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
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
Courses A & B Goals
Unique to A & B
Key Concepts Covered
Goals of the courses:
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Courses C & D Goals
Introduced in C & D
Key Concepts Covered
Goals of the courses:
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Courses E & F Goals
Introduced in E & F
Key Concepts Covered
Goals of the courses:
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
The Approaches We Use
CS Fundamentals
Story books
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
CS Fundamentals
Unplugged Activities
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
CS Fundamentals
Plugged Activities
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
CS Fundamentals
Bridging Activities
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
CS Fundamentals
Pre-Readers Readers
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
CS Fundamentals - Teacher Resources
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Framing the Rest of Today
Workshop Overview
Morning:
Afternoon:
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
What kind of environment do you need in order to get the most out of today?
Setting Expectations
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Model Lesson: Unplugged
Lesson Exploration — Setting Expectations
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
Are there any norms you want to add for the group?
Setting Expectations
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Model Lesson: Graph Paper Programming
NOTE: ONLY USE THE FOLLOWING 7 SLIDES IF MODELING GRAPH PAPER PROGRAMMING
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
Unplugged Activity: Graph Paper Programming
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
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
Unplugged Activity: Graph Paper Programming
| | | |
| | | |
| | | |
| | | |
Unplugged Activity: Graph Paper Programming
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Unplugged Activity: Graph Paper Programming
Curriculum Guide, page. 231
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Unplugged Activity: Graph Paper Programming
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Model Lesson: My Robotic Friend
NOTE: ONLY USE THE FOLLOWING 9 SLIDES IF MODELING MY ROBOTIC FRIEND
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
Demo Model Lesson — B.6 My Robotic Friend
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Demo Model Lesson — B.6 My Robotic Friend
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Demo Model Lesson — B.6 My Robotic Friend
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Demo Model Lesson — B.6 My Robotic Friend
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Demo Model Lesson — B.6 My Robotic Friend
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
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
Demo Model Lesson — B.6 My Robotic Friend
With a partner, rewrite the algorithm using only these symbols
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Demo Model Lesson — B.6 My Robotic Friend
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Demo Model Lesson — B.6 My Robotic Friend
Pick a new design to program
@TeachCode
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Reflection
@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
Model Lesson: Plugged
Context
@TeachCode | #TeachCode
Unplugged Lessons:
Computing without a computer
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Plugged lessons:
Online activities that work on�any computer or�tablet.
Model Lesson: B.7 — Programming with Maze
NOTE: ONLY USE THE FOLLOWING 4 SLIDES IF MODELING B.7
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
Demo Model Lesson — B.7 Programming in Maze
South
North
East
West
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Demo Model Lesson — B.7 Programming in Maze
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Model Lesson: D.2 — Introduction to Online Puzzles
NOTE: ONLY USE THE FOLLOWING 2 SLIDES IF MODELING D.2
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
Introduction to Online Puzzles
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
@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
Reflection
@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
Break
We’ll start back at XXXX am
Table 2:
Table 4:
Table 1:
Seating Assignments
Table 3:
Table 5:
Table 7:
Table 6:
Table 8:
projector
Prepare an Unplugged Lesson
Take a couple of minutes to say hello to your lesson planning partner
@TeachCode | #TeachCode
Unplugged Lesson Preparation
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
@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
@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
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
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
Dry Run an Unplugged Lesson
@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!
@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!
Reflect on Lesson
On your own, reflect on the following:
@TeachCode | #TeachCode
Unplugged Lessons — Reflection
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
As a table, discuss:
@TeachCode | #TeachCode
Unplugged Lessons — Table Discussion
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
@TeachCode | #TeachCode
Unplugged Lessons — Whole Group Share Out
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
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
Lunch
We’ll start back at XXXX pm
Using the Code.org Website
@TeachCode | #TeachCode
Using the Code.org Website
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Prepare a Plugged Lesson
@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
While you prepare your assigned lesson consider:
@TeachCode | #TeachCode
Plugged Lesson Preparation
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Dry Run a Plugged Lesson
@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!
@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!
Reflect on Lesson
@TeachCode | #TeachCode
Plugged Lessons
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
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
10 minute Break!
We’ll start back at XXXX pm
Teaching CS to all Students
Think back at the lessons you've experienced today.
@TeachCode | #TeachCode
Reflection: Teaching CS to All Students
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
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
@TeachCode | #TeachCode
Teaching CS to All Students
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
@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
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
code.org/equity
Reflection: Teaching CS to All Students
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Build an Implementation Plan
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
Getting answer to questions
Coordinating
Scheduling
Making an Implementation Plan
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Head over to <shared notes> to get started with making your implementation plan.
Making an Implementation Plan
@TeachCode | #TeachCode
@TeachCode
@TeachCode | #TeachCode
Wrap Up