1 of 142

MyCS�Summer Institute

Day #2 - June 7th, 2016

Expanding Computer Science Education to ALL Students

2 of 142

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 142

Survey

Feedback

3

Expanding Computer Science Education to ALL Students

4 of 142

Survey Feedback

4

Expanding Computer Science Education to ALL Students

5 of 142

Survey Feedback

Worked Well:

  • emphasis on teamwork
  • (multiple) facilitators
  • help from HMC students
  • great food
  • art thief activity
  • corny joke animations
  • feedback from experienced teachers

  • energy of participants
  • good variety of activities
  • many engagement strategies
  • giving input to MyCS curriculum revisions

5

Expanding Computer Science Education to ALL Students

6 of 142

Survey Feedback

Other Topics / Support

  • debugging
  • curriculum overview
  • icebreakers in the curriculum
  • adapting the hackathon
  • integration with other tech platforms
  • Finch robots
  • Python

Resources

6

Expanding Computer Science Education to ALL Students

7 of 142

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! 😀

7

Expanding Computer Science Education to ALL Students

8 of 142

Today’s Agenda

  1. Equity in Computing
  2. Encoding and Decoding Data
  3. LEGO Tower Building
  4. Lunch + CS Games
  5. Scratch Maze Puzzles
  6. Storytelling & Music-Making
  7. Close-Out

8

conceptual focus:

algorithms, loops, conditionals, debugging

Expanding Computer Science Education to ALL Students

9 of 142

Reviewing Our Norms

What agreements can we make to create a comfortable learning environment?

  • It’s okay to make mistakes
  • It’s okay to not have the answers (yet)
  • Be equity-minded
  • Be present
  • Accept and expect non-closure

9

Expanding Computer Science Education to ALL Students

10 of 142

Other Notes

  • You can add to our shared notes.
  • All resources are linked at tinyurl.com/MyCSTeacher.
  • Use the backchannel, parking lot, and comment feature on Google Sites.

10

Expanding Computer Science Education to ALL Students

11 of 142

Equity in CS

11

Expanding Computer Science Education to ALL Students

12 of 142

Equity in CS Education

  1. Read “Equality is Not Enough: What the Classroom Has Taught Me about Justice”
    • Annotate the passage:�! = important / + = agree / = disagree / ? = question�
  2. When you finish, visit: �shoutkey.com/because�and type in your one key takeaway

12

Expanding Computer Science Education to ALL Students

13 of 142

Our Definition of Equity

13

fairness or justice in �the way people are treated

How is equity different from equality?

Expanding Computer Science Education to ALL Students

14 of 142

Inequity in CS Education

Every learner should have a stake in, and be able to contribute to, class proceedings.

Incoming privileged knowledge (i.e., knowing some CS ahead of time) should not advantage you in class (or more importantly, disadvantage others).

14

Expanding Computer Science Education to ALL Students

15 of 142

Inequity in CS Education

Unfortunately, not all CS learning spaces are inclusive or equitable, for many reasons:

  • There are many assumptions about who can and should learn CS, so CS classrooms are not as diverse as they can be (Mason, 2014).
  • Not all educators are skilled at facilitating an equitable learning environment, and teachers can often perpetuate assumptions and biases that students and parents bring into the school (Reed, 2005).

15

Expanding Computer Science Education to ALL Students

16 of 142

Inequity in CS Education

16

31% females

12% AfAm + Lat

30% females

5% AfAm + Lat

14% females

18% AfAm + Lat

Expanding Computer Science Education to ALL Students

17 of 142

Inequity in CS Education

17

Expanding Computer Science Education to ALL Students

18 of 142

Inequity in CS Education

18

22%

female

26%

female

Expanding Computer Science Education to ALL Students

19 of 142

Inequity in CS Education

19

10%

African American �& Latino

3%

African American �& Latino

Expanding Computer Science Education to ALL Students

20 of 142

Significant Underrepresentation

20

Expanding Computer Science Education to ALL Students

21 of 142

Inequity in CS Education

21

Expanding Computer Science Education to ALL Students

22 of 142

Inequity in CS Education

22

Expanding Computer Science Education to ALL Students

23 of 142

Inequity in CS Education

23

Expanding Computer Science Education to ALL Students

24 of 142

Inequity in CS Education

24

Expanding Computer Science Education to ALL Students

25 of 142

Inequity in CS Education

25

Expanding Computer Science Education to ALL Students

26 of 142

Equity in CS Education

  • What are your reactions?
  • Do you agree with these perspectives?
  • How do you see these assumptions/biases about CS playing out in classrooms?

26

Expanding Computer Science Education to ALL Students

27 of 142

Equity in CS Education

  1. Read “What Setting ‘High Expectations’ for All Students Really Means” (Washington Post)
    • Annotate the article:�! = important / + = agree / = disagree / ? = question
  2. If you finished early, watch “Education, Race, and Computing” with Joanna Goode
  3. Discuss with your small group: What does it mean to teach with equity in mind (in CS)?

27

Expanding Computer Science Education to ALL Students

28 of 142

Equity

28

“Everybody is a genius. �But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.”

--Albert Einstein

Expanding Computer Science Education to ALL Students

29 of 142

Encoding Data

with Binary

29

Expanding Computer Science Education to ALL Students

30 of 142

Have we been here before?

Algorithms + Loops

31 of 142

Have we been here before?

Algorithms + Loops

Where're the algorithms here?

Where're the loops here?

32 of 142

Have we been here before?

Algorithms + Loops

algorithm ~ step-by-step instruction(s)

loop ~ repeated action

33 of 142

Have we been here before?

Algorithms + Loops

most famous infinite loop?

loop ~ repeated action

34 of 142

scratch

35 of 142

scratch

36 of 142

Infinite loop?

HMC's "awesome things" competition

37 of 142

Infinite loop?

38 of 142

Computer Science

is applying algorithms

to data

in loops!

Data = information

39 of 142

Data: big example

Google Glass

100 years of HD: 60,000,000 GB

= 60 Petabytes

video: Google glass

C:\Users\Owner\Desktop\to_sort_more_recent\desktop_to_sort\desktop_to_sort_fall_15_in_pusd_workshop\WKauaiDay2

Data = information

40 of 142

There's lots of it to work with!

Data: the big picture

41 of 142

Data: a big example

Google Glass concerns

5/16/13

Is Google Glass dead or hibernating?

42 of 142

To work with data, it is always encoded: converted into a specific form by a set of rules.

Later, it can be decoded: changed back into its original form.

CS Data: encoding and decoding

43 of 142

To work with data, it is always encoded: converted into a specific form by a set of rules.

Later, it can be decoded: changed back into its original form.

CS Data: encoding and decoding

This is the essence of CS:

communication!

44 of 142

Yesterday we noted two things computers do:

(1) process data (arithmetic) (2) store/retrieve data

Amazingly, this is all that computers do!

45 of 142

Is this all that computers do?

(1) process data (arithmetic) (2) store/retrieve data

Let's see… Try listing some things we use computers for…

Is this all that computers do?

Which is the LARGER subset?

46 of 142

Data: it's what computers do!

And this is the vast majority of computer work!

We noted two things computers do:

(1) process data (arithmetic) (2) store/retrieve data

Rather than computers, they should be called datadogs.

47 of 142

One method of encoding a sentence is by having every letter correspond to a number.

For example:

AND 1 - 14 - 4

BUG .

19 - 09 - 07 - 14

Decoded data

Encoded data

Encoding + Decoding!

48 of 142

One method of encoding a sentence is by having every letter correspond to a number.

For example:

AND 1 - 14 - 4

BUG 2 – 21 - 7

SIGN 19 - 09 - 07 - 14

Decoded data

Encoded data

Encoding + Decoding!

Where's the algorithm here?

Where's the loop here?

49 of 142

One method of encoding a sentence is by having every letter correspond to a number.

For example:

AND 1 - 14 - 4

BUG 2 – 21 - 7

SIGN 19 - 09 - 07 - 14

Decoded data

Encoded data

Encoding + Decoding!

Algorithm

Loop

Loop output

50 of 142

Or, we could shift every letter by one spot

A B, B C, C D, .....

For example:

ZOO APP

END

NVEE

Decoded data

Encoded data

Encoding + Decoding!

Where's the algorithm here?

Where's the loop here?

51 of 142

Or, we could shift every letter by one spot

A B, B C, C D, .....

For example:

ZOO APP

END FOE

MUDD NVEE

Decoded data

Encoded data

Encoding + Decoding!

Algorithm

Loop

Loop output

52 of 142

Another encoding algorithm

Morse code encodes letters as dots and dashes

short sound: "dit"

long sound: "dah"

R

How does this chart represent Morse code?

What is the letter A in Morse code? What about the letter

?

53 of 142

Another encoding algorithm

Morse code encodes letters as dots and dashes

What is the encoding of SOS in Morse code? How about FOG?

short sound: "dit"

long sound: "dah"

orange = dash

white = dot

What is this word?

54 of 142

Encoding + Decoding

Challenges

55 of 142

The following slides contain encoded words.

    • Find the rules or pattern for each one!
    • This is the Algorithm
    • Decode each phrase: This is the Loop

For some, you will encode, instead of decode.

    • We will provide one example.
    • Then, you'll create your own encoding…

Decoding = Algorithm + Loop

56 of 142

�25-15-21 19-15-12-22-5-4 20-8-5 6-9-18-19-20 15-14-5

Every letter corresponds to a number.

A = 1, B = 2, C = 3, ...

See the table below:

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

57 of 142

�KVTU LFFQ TXJNNJOH

Every letter is shifted by one.

 

  • A = B
  • B = C
  • C = D, ...

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

58 of 142

�REVELC SI SECNETNES GNISREVER

(Use this space to work it out)

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

59 of 142

�SENTENCE WIT MISSIN LETTER AR CONFUSIN

(Use this space to work it out)

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

60 of 142

�UOY ERA YAWFLAH ENOD

(Use this space to work it out)

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

61 of 142

�VEREOYEN OLEVS OCPMTURE CSEICNE

(Use this space to work it out)

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

62 of 142

�VOWOLS ORO OMPORTONT ON SONTONCOS

Every vowel is now an “O” !

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

63 of 142

�IS IT CATS RAINING DOGS AND

(Use this space to work it out)

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

64 of 142

You will use these Morse Code rules to decode the next two secret messages.

Morse Code

65 of 142

Another algorithm ~ morse code

Morse code encodes letters as dots and dashes

orange = dash

white = dot

66 of 142

Morse Code

_ _ _ _ _ . _ . . . . .

_ . _ . _ _ _ _ . . . . . . . .

_ . _ . _ _ _ _ _ _ . _ . .

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

67 of 142

�Morse Code

_ . _ . _ _ _ _ . _ _ . . _ .

. _ _ . . _ . _ . . . _ _ . .

_ _ _ _ . . . . _ . _ _

_ _ _ . . _ . . _ . . . _ .

. . . . . . . . . . _ . .

(Use this space to work it out)

Encoded Sentence:

Algorithm

Loop to decode

Optional!

68 of 142

��PUPPIES ARE CUTE

Pig Latin

  • If a word begins with a consonant:
    • the consonant is moved to the end
    • and an “ay” is added.
  • If not:
    • only “ay” is added.

Note: This time you are encoding the sentence.

Algorithm

Loop to ENCODE

Decoded sentence

Conditionals!

69 of 142

Now, invent your own code. Write your algorithm here:

Next, write your encoded secret message here:

Then, put it on the top of the next page + TRADE!

Algorithm

Loop to Encode:

Original (decoded) sentence

something not too difficult…

We'll use the board…

70 of 142

(Use this space to work it out)

(Use this space to work it out)

Algorithm

… from the previous page

Encoded Sentence:

Loop to Decode

Trade this page with another team and try to decode each other's sentences!

71 of 142

Scratch coding challenges…

72 of 142

The "digital age" ...

For computers, all data is ultimately represented as a set of numbers.

With binary, all numbers can be represented as a series 1's and 0's.

73 of 142

Binary is just another code!

0

1

2

3

4

5

6

7

8

9

10

decimal

74 of 142

Binary is just another code!

000

001

010

011

101

110

111

0

1

2

3

4

5

6

7

8

9

10

decimal

binary

75 of 142

Consider this much spam:

Why do we use 37 to encode this amount?

76 of 142

The 7 means "seven ones"

The 3 means "three tens"

Together, they represent the total amount (what we call thirty-seven)

3 7

3*10

7*1

tens

ones

37

77 of 142

Our numbers...

Decimal is based on the number 10.

ones

tens

hun- dreds

4 3 7

How is each column value getting larger?

78 of 142

In binary, the columns increase x 2

In decimal, the columns increase x 10

3 7

tens

ones

1 0

twos

ones

That's the difference!

in binary

79 of 142

In binary, the columns increase x 2

In decimal, the columns increase x 10

3 7

tens

ones

1 0

twos

ones

That's the difference!

in binary

2

ones

in decimal

=

80 of 142

Computers' numbers

Binary is based on the number 2.

ones

twos

fours

1 0 1 0

How is each column value getting larger?

What should this column value be?

81 of 142

Decoding binary decimal

Suppose the computer holds this binary number:

ones

twos

fours

1 1 0 1

eights

Let's decode it into decimal:

82 of 142

Practice

From binary to decimal:

From decimal to binary:

101

1011

10000

101010

Binary

Decimal

1

2

4

14

33

1

2

4

8

16

32

83 of 142

Try these!

From binary to decimal:

From decimal to binary:

1001

110

11010

10101

3

14

25

52

Binary

Decimal

84 of 142

Acting out in binary…

We need 110 volunteers...

Don't worry -- you'll only have bit parts in this.

85 of 142

Acting out in binary…

(1) Challenge the class!

have the "bits" create any number and the class has to figure out what it is

(2) Challenge the bits!

have the class suggest a number and challenge the "bits" to create it in binary

(3) Patterns in counting

have the cards count up + down and have the class find the patterns

(4) Even / Odd / More!

have everyone determine patterns in binary #s

86 of 142

but why do computers use binary… ?

87 of 142

How many different symbols can occupy each digit location in a number?

37

The problem is the number of digits!

88 of 142

How many different symbols can occupy each digit location in a number?

37

There can be ten different digits!

07 17 27 37 47 57 67 77 87 97

The problem is the number of digits!

89 of 142

A computer has to differentiate physically among all its possibilities.

Ten symbols is too many!

ten symbols ~ ten different voltages

This is too difficult to replicate billions of times

What digits are these?

engineering!

0

1

2

3

4

5

6

7

8

9

Ouch!

90 of 142

A computer has to differentiate physically among all its possibilities.

Easy!

Two symbols is easier!

What digits are these?

two symbols ~ two different voltages

ten symbols ~ ten different voltages

0

1

2

3

4

5

6

7

8

9

0

1

91 of 142

The "digital age" ...

For computers, all data is ultimately represented as 0s and 1s, in binary.

Could you encode a lego tower in binary... ?

Then, have someone else decode it back into the same Lego tower?

92 of 142

ImagineDecomposeSpecify Binarize – Execute – Compare – Debug!

Codes and Data

Lego towers

… in binary

93 of 142

Secret Fortress Construction Challenge

93

You should have two identical LEGO block kits.

Set the extra kit aside, and use one kit to build a LEGO fortress:

  1. Find a secluded spot to build your secret fortress. Don’t let anyone else see it!
  2. Place your Lego baseplate on top of the template on page 2. Note the x and y axes are 0, as usual.
  3. [First-timer advice] Keep your tower to the lower-left corner, where x and y are 7 or less
  4. Write the English instructions for building your tower… (page 3)
  5. Create a binary encoding (the legend) for each type and color of your Legos. (page 3)
  6. Translate the English instructions to binary instructions for your tower! (page 4)
  7. Be sure to copy over the legend, as well!
  8. [Optional] Create a single line of 0s and 1s that you will send to the other team.
  9. [Optional] Text or email that single line of 0s and 1s to the other team.
  10. [Optional] Reassemble the other team's single line of 0s and 1s into binary instructions:
  11. Swap! Make sure you have the chart of the other team's binary instructions
  12. Make sure you copy the other team's legend with their binary encoding
  13. Convert their binary instructions back to English instructions using the legend.
  14. Try to build their secret fortress!
  15. When both teams are done, compare the fortresses you’ve created.
  16. Were you successful? Why or why not?
  17. Debug! If something went wrong, find where it went wrong -- which step of the process was it?!

There are lots of background materials…

(we'll go light on these for now)

94 of 142

Imagine – Decompose – Specify – Binarize – Execute – Compare – Debug!

from ideas to binary – and back

95 of 142

Imagine – Decompose – Specify – Binarize – Execute – Compare – Debug!

Codes and Data

96 of 142

96

97 of 142

97

How could you tell someone how to build this tower – if they could not SEE it!

98 of 142

98

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Secret Fortress Base Template

x

y

We definitely need to be able to describe positions of Legos!

99 of 142

99

Block

Color

Brick Type

Orientation

X

Y

Sample

Red

2x4

Horizontal

6

4

0

Red

2x3

Vertical

0

0

1

Yellow

2x3

Horizontal

2

0

2

Yellow

2x2

Vertical

1

1

3

4

5

6

7

8

Color

Red

001

Your Legend

Brick Type

2 x 4

010100

Orientation

Horizontal

00

Vertical

01

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

Fill in the chart below with English and numeric instructions for your fortress.

Follow the sample line, which says “put the sample block, which is a red 2x4 block, horizontally, with its bottom left corner at the position given by the x-coordinate 6 and the y-coordinate 4.”

Then, fill in the legend to create an encoding for all the bricks you used.

For example, a 2x4 block might be represented with 010100, since 010 is 2 in binary, and 100 is 4 in binary.

Chart A. Your team's English Instructions

Let's go!

100 of 142

100

Block

Color

Brick Type

Orientation

X

Y

Sample

001

010100

00

0110

0100

0

(Red)

(2x3)

Vertical

(0)

(0)

1

(Yellow)

(2x3)

Horizontal

(2)

(0)

2

(Yellow)

(2x3)

Vertical

(1)

(1)

3

(Red)

(2x3)

Vertical

(1)

(2)

4

5

6

7

8

Color

Red

001

Brick Type

2 x 4

010100

Orientation

Horizontal

00

Vertical

01

Copy the legend you created on the last page to this page.

Then, translate the instructions in Chart A to binary.

Converting information into binary allows a computer to store it and communicate it. Computers use an electric signal to represent the 1s and no signal to represent the 0s.

Your Legend

Chart B. Your team's binary Instructions

& convert to binary…

Now, we fill the legend…

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

101 of 142

101

Block

Color

Brick Type

Orientation

X

Y

Sample

001

010100

00

0110

0100

0

001 (Red)

010011 (2x3)

01 Vertical

0000 (0)

0000 (0)

1

010 (Yellow)

010011 (2x3)

00 Horizontal

0010 (2)

0000 (0)

2

010 (Yellow)

010010 (2x2)

01 Vertical

0001 (1)

0001 (1)

3

001 (Red)

010010 (2x2)

01 Vertical

0001 (1)

0010 (2)

4

5

6

7

8

Orientation

Horizontal

00

Vertical

01

Copy the legend you created on the last page to this page.

Then, translate the instructions in Chart A to binary.

Converting information into binary allows a computer to store it and communicate it. Computers use an electric signal to represent the 1s and no signal to represent the 0s.

Your Legend

Chart B. Your team's binary Instructions

My answer…

Color

Red

001

Yellow

010

Brick Type

2 x 4

010100

2 x 3

010011

2 x 2

010010

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

102 of 142

102

Block

Color

Brick Type

Orientation

X

Y

Sample

001

010100

00

0110

0100

0

001

010011

01

0000

0000

1

010

010011

00

0010

0000

2

010

010010

01

0001

0001

3

001

010010 (

01

0001

0010

4

5

6

7

8

Orientation

Horizontal

00

Vertical

01

Copy the legend you created on the last page to this page.

Then, translate the instructions in Chart A to binary.

Converting information into binary allows a computer to store it and communicate it. Computers use an electric signal to represent the 1s and no signal to represent the 0s.

Your Legend

Chart B. Your team's binary Instructions

just the bits!

Color

Red

001

Yellow

010

Brick Type

2 x 4

010100

2 x 3

010011

2 x 2

010010

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

103 of 142

103

Block

Color

Brick Type

Orientation

X

Y

Sample

001

010100

00

0110

0100

0

001

010011

01

0000

0000

1

010

010011

00

0010

0000

2

010

010010

01

0001

0001

3

001

010010 (

01

0001

0010

4

5

6

7

8

Color

Red

001

Yellow

010

Brick Type

2 x 4

010100

2 x 3

010011

2 x 2

010010

Orientation

Horizontal

00

Vertical

01

Copy the legend you created on the last page to this page.

Then, translate the instructions in Chart A to binary.

Converting information into binary allows a computer to store it and communicate it. Computers use an electric signal to represent the 1s and no signal to represent the 0s.

Your Legend

Chart B. Your team's binary Instructions

Differentiating delivery

Extra challenge: text the lines of bits

Usual: just swap binary pages (this one)

Simpler: just swap English pages (previous)

- swap bits -

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

104 of 142

104

Orientation

Horizontal

00

Vertical

01

Their Legend

Color

Red

001

Yellow

010

Brick Type

2 x 4

010100

2 x 3

010011

2 x 2

010010

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

Transferring the bits!

Try it!

Take a picture of your binary instructions of 0s and 1s

Next, send a text or email with the bits of your tower.

Then, decode the instructions & build the same tower!

Finally, compare the original tower with the new one – and debug any differences!

105 of 142

105

Block

Color

Brick Type

Orientation

X

Y

Sample

Red

2x4

Horizontal

6

4

0

Yellow

2x3

Horizontal

1

0

1

Red

2x3

Vertical

2

0

2

Red

2x2

Vertical

0

3

3

Yellow

2x2

Vertical

3

1

4

5

6

7

8

Orientation

Horizontal

00

Vertical

01

Translate the other team's instructions to English instructions.

Chart D. Other team's English Instructions

Their Legend

Color

Red

001

Yellow

010

Brick Type

2 x 4

010100

2 x 3

010011

2 x 2

010010

Decode…

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

106 of 142

106

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

DECODED Fortress!

x

y

See if they match!

107 of 142

DECODED Fortress!

See if they match!

108 of 142

108

Bug tracker…

How many differences were they between the original and DECODED towers?

Find where the differences happened and make a mark for each location of these "bugs"

If you want to actually draw bugs, even better!

Translating from tower to English

Translating from English to binary

Transferring the bits

Translating from binary to English

Translating from English to tower

109 of 142

Secret Fortress Construction Challenge

109

You should have two identical LEGO block kits.

Set the extra kit aside, and use one kit to build a LEGO fortress:

  1. Find a secluded spot to build your secret fortress. Don’t let anyone else see it!
  2. Place your Lego baseplate on top of the template on page 2. Note the x and y axes are 0, as usual.
  3. [First-timer advice] Keep your tower to the lower-left corner, where x and y are 7 or less
  4. Write the English instructions for building your tower… (page 3)
  5. Create a binary encoding (the legend) for each type and color of your Legos. (page 3)
  6. Translate the English instructions to binary instructions for your tower! (page 4)
  7. Be sure to copy over the legend, as well!
  8. [Optional] Create a single line of 0s and 1s that you will send to the other team.
  9. [Optional] Text or email that single line of 0s and 1s to the other team.
  10. [Optional] Reassemble the other team's single line of 0s and 1s into binary instructions:
  11. Swap! Make sure you have the chart of the other team's binary instructions
  12. Make sure you copy the other team's legend with their binary encoding
  13. Convert their binary instructions back to English instructions using the legend.
  14. Try to build their secret fortress!
  15. When both teams are done, compare the fortresses you’ve created.
  16. Were you successful? Why or why not?
  17. Debug! If something went wrong, find where it went wrong -- which step of the process was it?!

Now, the real thing…

Pairs, pair up!

110 of 142

110

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Secret Fortress Base Template

x

y

Don't show the other team your tower!

111 of 142

111

Block

Color

Brick Type

Orientation

X

Y

Sample

Red

2x4

Horizontal

6

4

0

1

2

3

4

5

6

7

8

Color

Red

001

Your Legend

Brick Type

2 x 4

010100

Orientation

Horizontal

00

Vertical

01

Fill in the chart below with English instructions for your fortress.

The sample line is ONLY an example. Don't use that brick!

Also, fill in the legend to create an encoding for all the bricks you used.

For example, a 2x4 block might be represented with 010100,

since 010 is 2 in binary, and 100 is 4 in binary.

Chart A. Your team's English Instructions

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

112 of 142

112

Block

Color

Brick Type

Orientation

X

Y

Sample

001

010100

00

0110

0100

0

1

2

3

4

5

6

7

8

Color

Red

001

Brick Type

2 x 4

010100

Orientation

Horizontal

00

Vertical

01

Copy the legend from the prior page to this page.

Then, translate the instructions in Chart A to binary.

Your Legend

Chart B. Your team's binary Instructions

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

113 of 142

113

Extra -- Transferring the bits!

Try it!

Take a picture of your binary instructions of 0s and 1s

Next, send a text or email with the bits of your tower.

Then, decode the instructions & build the same tower!

Finally, compare the original tower with the new one – and debug any differences!

Color

Red

001

Brick Type

2 x 4

010100

Orientation

Horizontal

00

Vertical

01

Their Legend

Differentiating delivery:

Spicy: actually text the bits!

Medium: just swap binary pages (images).

Mild: just swap English pages (images)

Numbers

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

114 of 142

114

Block

Color

Brick Type

Orientation

X

Y

Sample

001

010100

00

110

100

0

1

2

3

4

5

6

7

8

Color

Red

001

Brick Type

2 x 4

010100

Orientation

Horizontal

00

Vertical

01

Numbers

0

000

1

001

2

010

3

011

4

100

5

101

6

110

7

111

Translate the other team's instructions to English instructions.

And… build the tower!

Chart D. Other team's English Instructions

Their Legend

115 of 142

115

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

DECODED Fortress!

x

y

See if they match!

116 of 142

116

Bug tracker…

How many differences were they between the original and DECODED towers?

Find where the differences happened and make a mark for each location of these "bugs"

If you want to actually draw bugs, even better!

Translating from tower to English

Translating from English to binary

Transferring the bits

Translating from binary to English

Translating from English to tower

117 of 142

Imagine – Decompose – Specify – Binarize – Execute – Compare – Debug!

Codes and Data

118 of 142

More Binary Activities

119 of 142

Share Your

Scratch Projects

119

Expanding Computer Science Education to ALL Students

120 of 142

Share Your Projects!

Please share your Scratch projects to our gallery

at https://scratch.mit.edu/studios/2101971/

120

Expanding Computer Science Education to ALL Students

121 of 142

Share Your Projects!

  1. Go to our shared studio.
  2. Click Add Projects.
  3. Paste in URL, or select a project from the bar at the bottom of the page. Voila!

121

Expanding Computer Science Education to ALL Students

122 of 142

Hackathon!

122

Expanding Computer Science Education to ALL Students

123 of 142

Hackathon Process

123

Plan

Develop

Pitch

Brainstorm

Showcase

Respond to Feedback

Expanding Computer Science Education to ALL Students

124 of 142

Close-Out

124

Expanding Computer Science Education to ALL Students

125 of 142

Complete Feedback Survey

Your feedback is critical!

Please complete the feedback survey.

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

125

Expanding Computer Science Education to ALL Students

126 of 142

It’s time for a

RAFFLE!

126

Text your name to

415-890-4522

Expanding Computer Science Education to ALL Students

127 of 142

Reflection

Please write a haiku�Summ’rize your experience�Or, share what you learned.

Reminder: 5 syllables // 7 syllables // 5 syllables

127

Expanding Computer Science Education to ALL Students

128 of 142

128

Expanding Computer Science Education to ALL Students

129 of 142

Additional Materials

129

Expanding Computer Science Education to ALL Students

130 of 142

Kids React to Old Computers

130

Expanding Computer Science Education to ALL Students

131 of 142

Icebreaker: Dice Race Game

  1. Form groups of four(ish).
  2. Read the directions in pseudocode. They won’t be perfectly clear. Just do your best.
  3. Play the game.
  4. Debrief:
    • What directions were missing?
    • What directions were unclear?
    • How could you improve this activity?

131

Expanding Computer Science Education to ALL Students

132 of 142

Debrief: Dice Race Game

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

132

Expanding Computer Science Education to ALL Students

133 of 142

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.

133

Expanding Computer Science Education to ALL Students

134 of 142

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.

134

Expanding Computer Science Education to ALL Students

135 of 142

CS is Really About Thinking

135

Expanding Computer Science Education to ALL Students

136 of 142

CS is Changing Everything

136

Expanding Computer Science Education to ALL Students

137 of 142

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?

137

Expanding Computer Science Education to ALL Students

138 of 142

Inequity in CS Education

138

Expanding Computer Science Education to ALL Students

139 of 142

Inequity in CS Education

  • What can we do about this?
  • What strategies can we try?

139

Expanding Computer Science Education to ALL Students

140 of 142

Create a More Equitable Classroom

  • Reflect on your own biases and assumptions about computer science. Ensure you are aware of the inequity you might be creating through your words and actions in the classroom.
  • Signal an inclusive and equitable classroom environment at all times through your actions, seating arrangements, strategic grouping choices, posters and classroom decorations, etc.

140

Expanding Computer Science Education to ALL Students

141 of 142

Create a More Equitable Classroom

  • Facilitate conversations and activities in which students reflect on their biases and assumptions about themselves and others as they pertain to computer science and STEM education.
  • Explicitly teach strategies for students to employ when confronted with bias from others, both in and out of the classroom.
  • Foster a culture of resiliency, tenacity and grit by modeling and supporting student self-advocacy.

141

Expanding Computer Science Education to ALL Students

142 of 142

Create a More Equitable Classroom

What are other ideas for how we can create equitable CS learning environments?

142

Expanding Computer Science Education to ALL Students