1 of 79

MyCS�Summer Institute

Day #4 - June 9th, 2016

Expanding Computer Science Education to ALL Students

2 of 79

Welcome!

Please sit by people you don’t know well (yet). Switch up the seating arrangements!

Enjoy some breakfast

and get to know your teammates.

We will start at 9 AM.

2

Expanding Computer Science Education to ALL Students

3 of 79

CS is Changing Everything

3

Expanding Computer Science Education to ALL Students

4 of 79

Icebreaker: Concentric Circles

Form two concentric circles (same number in each). Face one person in the other circle.

Discuss a focus question with �each person. Then, rotate.

View Scratch project.

4

Expanding Computer Science Education to ALL Students

5 of 79

“Magic” Binary Cards

There is a great explanation for how this works in this Scratch project.

5

Expanding Computer Science Education to ALL Students

6 of 79

Survey

Feedback

6

Expanding Computer Science Education to ALL Students

7 of 79

Survey Feedback

7

Expanding Computer Science Education to ALL Students

8 of 79

Survey Feedback

Worked Well:

  • collaboration
  • unplugged activities
  • equitable teaching practices
  • hackathon
  • the food!
  • icebreakers

  • “I enjoyed the discussion about how to promote equity in the classroom. I also enjoyed the unplugged activities. These will be very useful in teaching the conceptual understanding of computer science.”
  • “The hackathon discussion was fun and engaging. HMC brings in so much energy.”
  • “Having Prof Dodds show me how to use the pen function in Scratch.”
  • “The sequence on functions and cups: Learning a concept, and then doing hands on activity that supports it, then going to coding.”

8

Expanding Computer Science Education to ALL Students

9 of 79

Survey Feedback

To Adjust:

  • more breaks

9

Requests:

  • how to manage grading
  • new ideas for Finch robots
  • for HMC: starter projects for games in 3-4 different genres
  • easy ways to find all the curriculum and resources

Expanding Computer Science Education to ALL Students

10 of 79

Yesterday’s Reflection

10

Expanding Computer Science Education to ALL Students

11 of 79

Goals for the Week

  • Develop familiarity with the MyCS curriculum.
  • Deepen knowledge and skills in:

Scratch / CS concepts / pedagogy

  • Build a collaborative and supportive community.
  • Maintain equity at the forefront of our work.
  • Have fun! 😀

11

Expanding Computer Science Education to ALL Students

12 of 79

Today’s Agenda

  1. CS Pedagogy
  2. Programming with Finch Robots

+ Best Practices

  • Lunch + Games
  • Hackathon!
  • Hackathon Presentations
  • Reflecting on Hackathon Process
  • Hackathon: Sketching & Planning
  • Close-Out

12

conceptual focus:

sensors, input/output, abstraction, decomposition

Expanding Computer Science Education to ALL Students

13 of 79

Reviewing Our Norms

  1. It’s okay to make mistakes
  2. It’s okay to not always have the answers.
  3. Be equity-minded
  4. Be present
  5. Accept and expect non-closure

13

Expanding Computer Science Education to ALL Students

14 of 79

CS Pedagogy

14

Expanding Computer Science Education to ALL Students

15 of 79

  1. Ditch the Uniformity

Students learn at different rates. They also come into technology with vastly different skills. Trying to keep everyone on the same page will alienate both the bottom third and top third of learners. Take the pressure off of everyone by having a list of “approved” activities to focus on when they’ve finished their class exercise.

15

Expanding Computer Science Education to ALL Students

16 of 79

2) Frequent Breaks

Teachers are used to helping their class get very focused and encouraging students to work quietly until an activity is done. In computer science, students often benefit from small and frequent breaks, even if it’s just switching to a new activity for a few minutes. Try having a student write a sentence or two about what they’re trying to do, or keep a notebook, like a biologist or chemist might.

16

Expanding Computer Science Education to ALL Students

17 of 79

3) Collaborate

It’s really hard for a programmer to “cheat”. Collaboration is a requirement out in the real world. This means helping one another solve problems, researching issues on the Internet, and looking at what others have done in similar situations. The only bad method is claiming another’s work as your own.

17

Expanding Computer Science Education to ALL Students

18 of 79

4) Don’t Be a Know-It-All

We often think that being a teacher means being an expert. In computer science, it’s really much more important to be a cheerleader. Let the students know that it’s possible for them to quickly become better at this than you are. Foster determination. Encourage students to monitor themselves, and find answers for one another. Let them figure things out for themselves, then let them teach you.

18

Expanding Computer Science Education to ALL Students

19 of 79

Growth Mindset & Grit

19

Expanding Computer Science Education to ALL Students

20 of 79

Debugging Strategies

20

How do we help students develop grit to solve problems?

How do we help them develop stronger debugging skills?

Expanding Computer Science Education to ALL Students

21 of 79

You don’t have to know everything!

  • Be a guide on the side, not sage on the stage
  • Teach like a grandma (tease things out of Ss):
      • what is the problem?
      • what did you try?
      • how did that work?
      • what else can you try?
  • Students may quickly learn more than you, and this is okay
  • It’s okay to admit, I’m not sure; let’s figure it out together

21

Expanding Computer Science Education to ALL Students

22 of 79

This will be frustrating at times.

  • CS can be challenging, but doable.
  • Goal = build persistence (lengthen the productive struggle over time).
  • You don’t get the feeling of epic satisfaction without first feeling frustrated (FAIL = First Attempt In Learning).
  • Don’t chunk the activities too much or make it too easy for Ss to get → hold the line and help build their grit.
      • 22

Expanding Computer Science Education to ALL Students

23 of 79

How Students Ask for Help

1) Try it yourself three times

2) Ask your elbow partner

3) Ask your table partners

4) Ask the teacher

5) Ask an expert (or someone else)� [teacher is not last line of defense]

      • 23

Expanding Computer Science Education to ALL Students

24 of 79

How Students Ask for Help

  • Use pair programming!
    • Seriously. Do it.
    • This solves a lot of neediness issues!
  • Use the 3 before me strategy.
  • Use red (yellow) green cups/cards�for students to status and �indicate priority of question.

24

Expanding Computer Science Education to ALL Students

25 of 79

Red/Green Cards

25

Expanding Computer Science Education to ALL Students

26 of 79

Finch Robots

26

Expanding Computer Science Education to ALL Students

27 of 79

Finch Robots!

27

Please contribute to our Padlet:

Shoutkey.com/evil

Expanding Computer Science Education to ALL Students

28 of 79

Getting Started with the

Finch Robot

Version 1.0 - 9/8/14

29 of 79

Why Finch Robots?

30 of 79

What’s that?

31 of 79

Things to Remember

  • The Finch Robot needs to be connected to the computer with the USB cable at all times.

  • The Finch Robot uses Scratch programming to complete tasks.

32 of 79

Recommended: use Chrome

The Chrome browser supports an app that is attached to the user (Google account), rather than downloaded to the computer.

Get it here: goo.gl/L5ySZV

33 of 79

To Open Scratch X on a Chromebook

Option 1:

Click the Apps Icon in the Browser Bar

Option 2:

Click the Search Icon in the lower lefthand corner.

34 of 79

Stan the Man...

35 of 79

Finch Functionality

36 of 79

Motor Commands

Move Finch left:__ right:__

Sets the power to the left and right wheels. The range is -100 to 100.

For example Move Finch Left: 100 Right: 0 (100 is full forward),

-100 Right: -100 is full backwards.

37 of 79

LED Commands (Roy G Biv!)

Finch LED color R:__ G:__ B:__

Sets the color of the Finch's beak, the R, G, and B arguments control the intensity of the red, green, and blue elements in the Finch's beak. The range is 0 to 100 for each color.

38 of 79

Sound Commands

Finch buzz at __Hz for __ms

Plays the Finch's buzzer with a sound of the frequency specified for the time specified. Range is 20 to 20,000 for frequency.

Note: 1,000 ms is equal to 1 second

39 of 79

Sensing Commands - Part 1

Finch temperature

Returns the current temperature in Celsius.

Finch left light and right light:

Returns the intensity of light hitting the left or right light sensor. The values are in a range from 0 to 100 where 0 is total darkness and 100 is saturation of the sensor.

Finch left and right obstacle:

These are boolean or predicate blocks, returning true if an object is 1-4" from the sensor and false otherwise.

40 of 79

Sensing Commands - Part 2

Finch X/Y/Z Acceleration

Returns the current g-forces measured along the Finch's X (beak to tail), Y (wheel to wheel), and Z (top to bottom) axes.

Range is -1.5 to 1.5 gees.

Finch Orientation

Returns the current orientation of the Finch.

Possible responses are: level, upside down, beak up, beak down, left wing down, right wing down, and in between.

41 of 79

Experienced Finch Users...

Which Finch Functions worked and which didn’t (or were memorably difficult?)

42 of 79

Finch Activity Resources

43 of 79

Recommended: use Chrome

The Chrome browser supports an app that is attached to the user (Google account), rather than downloaded to the computer.

Video Instructions

Get it here: goo.gl/L5ySZV

Shoutkey.com/coconut

44 of 79

Intro Finch Programming Activities

Activity 1:

  • Emergency Stop
  • “Next”
  • “Speed” Variable

Activity 2:

  • Movement

Activity 3:

  • Explore the Beak Colors

Activity 4:

  • Detect Light

Activity 5:

  • Navigate the Maze

45 of 79

Task #1 - Starting & Stopping

Find the Move Finch block and add in values of 100 for left and right. Click the block What happens?

Add the Stop All block to stop your Finch from moving.

Try experimenting with other numbers in the Move Finch block. Can you get the Finch to move left, right and backwards?

CHALLENGE: Can you control the Finch Robot’s movement using the arrow keys?

46 of 79

Task #2 - Changing Beak Colors

Find the Finch LED Color block and add in values of 100 for R, G and B. Click the block. What happens?

Try experimenting with other numbers in the Move Finch block. What colors do you get if you only put 100 in the R, G or B?

What happens if you place a Pick Random (under operators) block in each of the three sections?

CHALLENGE: Can you get the Finch to produce each of the colors of a rainbow?

47 of 79

Task #3 - Beep, Beep!

Find the Finch buzz block. What happens when you click it? What happens if you replace the 500ms with 1000ms?

Try experimenting with other numbers in the Hz block. What do you notice when you have a lower number compared to a higher number?

CHALLENGE: Can you get the Finch to play a song?

Hint: You’ll need to use multiple blocks and the Wait __ secs block between each Finch buzz.

48 of 79

Task #4 - Light Detection

Find the Finch left light and Finch right light blocks. What happens when you click them?

Borrow a flashlight from your teacher and shine it on one of the light sensors on the Finch? How does the number change? What are the lowest and highest numbers you can produce?

CHALLENGE: Can you get the Finch to move towards a light source?

Hint: You’ll need to use multiple Finch light blocks AND Move Finch blocks.

49 of 79

Task #5- what’s the temperature?

Add the Finch temperature block. When you click the block, a number will show up. Can you guess what is being displayed?

The Finch temperature block will display the temperature in Celsius.

CHALLENGE: Can you use a variety of the green operators blocks along with the Finch temperature block to display the temperature in Fahrenheit? If you get stuck, click on this slide to see how to do it!

50 of 79

Task #6 - Orientation

Find the Finch Orientation block. What happens when you click it?

The Finch Orientation block returns a description of the position that the finch is in. Can you get it to produce all seven positions?

CHALLENGE: Can you figure out a way to use the Finch Orientation block to control the Scratch character on the screen?

Hint: Click on the slide for the blocks needed to move a character to the right.

51 of 79

Cool things you can do

  • navigate a (timed) obstacle course, with some requirements (e.g., spin here, light up here)
  • draw a specific shape (give cards with shapes to replicate with pen taped to tail of Finch)
  • navigate a maze
  • create a coordinated dance (think synchronized swimming or Finch mob)

52 of 79

Cool things you can do

  • Sumo wrestling (push another Finch outside of the ring -- using sensors)
  • Solar Power Source
  • Neighborhood Simulation
  • Finch Tug -of-War
  • “Social Programming”- different phrases based on sensor data
  • beep when it backs up

53 of 79

Cool things you can do

  • Set up a Finch obstacle course
    • requires creating controls for ramp-navigation, turns...ultimately race for time
  • Finch Soccer!
  • actions based on loudness (sensing in Scratch)
  • use Finch as a controller
  • activate animations (broadcast) when the Finch senses different things
  • musical chairs

54 of 79

Tips and Tricks

  • save often (it doesn’t autosave in ScratchX)
  • make emergency stop (to prevent falls)
  • any turn you do, you must undo before you can go in a different direction
  • make the speed a variable (to change with the click of buttons)
  • student roles: driver, navigator, cord-holder

55 of 79

Additional Resources

55

Expanding Computer Science Education to ALL Students

56 of 79

Load Finch Blocks into ScratchX

Once Scratch opens, open the File Menu. From there choose Load Project .

57 of 79

Load Finch Blocks into scratchx

Choose Finch.s2e from the Documents folder. You’ll now see the blocks to the right in the More Blocks category. These will blocks control the Finch Robot.

58 of 79

Activity Debrief

  1. What did you like about this lesson?
  2. How could we improve the lesson �for use in your classroom?
  3. What made a strong creative project?

58

Expanding Computer Science Education to ALL Students

59 of 79

Scavenger Hunt!

59

Expanding Computer Science Education to ALL Students

60 of 79

Scavenger Hunt!

  1. Form small teams.
  2. Solve a station’s puzzle to earn clues.
  3. When you have all four clues, try to debug the Scratch program so that it writes a coherent message.

60

Expanding Computer Science Education to ALL Students

61 of 79

Hackathon!

61

Expanding Computer Science Education to ALL Students

62 of 79

Hackathon Process

62

Plan

Develop

Pitch

Brainstorm

Showcase

Respond to Feedback

Expanding Computer Science Education to ALL Students

63 of 79

Reflecting on the Hackathon Process

Gallery walk:

  • Grouping students
  • Shaping project ideas (and getting feedback)
  • Revisions to the project guide
  • Rubric & how to grade
  • Showcase ideas

63

Expanding Computer Science Education to ALL Students

64 of 79

Close-Out

64

Expanding Computer Science Education to ALL Students

65 of 79

Reflection

65

Expanding Computer Science Education to ALL Students

66 of 79

Complete Feedback Survey

Your feedback is critical!

Please complete the feedback survey.

When you’re finished, visit the parking lot, backchannel, and Google+ community.

66

Expanding Computer Science Education to ALL Students

67 of 79

It’s time for a

RAFFLE!

67

Text your name to

415-890-4522

Expanding Computer Science Education to ALL Students

68 of 79

68

Expanding Computer Science Education to ALL Students

69 of 79

Additional Materials

69

Expanding Computer Science Education to ALL Students

70 of 79

Kids React to Old Computers

70

Expanding Computer Science Education to ALL Students

71 of 79

Debrief: Dice Race Game

  • What did you like about this lesson?
  • What directions were unclear or missing?
  • How could we improve the lesson �for use in your classroom?

71

Expanding Computer Science Education to ALL Students

72 of 79

Relay Programming

  1. Small teams will line up on one side. The other side has graph paper drawing that your team must program, one direction at a time.
  2. Like a relay race, the first in line will run to the other side and write ONE direction to “program” the graph drawing.
  3. The next person DEBUGS or writes the NEXT direction for the program.
  4. Repeat step #3 until the program is complete.

72

Expanding Computer Science Education to ALL Students

73 of 79

Debrief

  • What did you like about this lesson?
  • How could we improve the lesson �for use in your classroom?

73

Expanding Computer Science Education to ALL Students

74 of 79

Icebreaker: Two Truths and a Lie

Each person will introduce him/herself by stating two truths about his/her life and one lie.

Make it interesting! And, switch up the order.

The rest of the participants will guess which statement is the lie.

74

Expanding Computer Science Education to ALL Students

75 of 79

CS is Really About Thinking

75

Expanding Computer Science Education to ALL Students

76 of 79

Reflection

What is an activity or strategy from today that want to be sure to implement in your classroom?

How would you an adjust an activity from today when implementing in your classroom?

76

Expanding Computer Science Education to ALL Students

77 of 79

Icebreaker: Binary Activity

Each person will have one card with a number �in binary. Arrange yourselves in sequence. ��Tell a corny joke to the people next to you.

77

Expanding Computer Science Education to ALL Students

78 of 79

“Magic” Binary Cards

78

Expanding Computer Science Education to ALL Students

79 of 79