1 of 56

SCRATCH: FOUNDATIONS OF CODING THROUGH PROJECT DESIGN

2 of 56

Developing Computational Fluency

Computational Thinking,

Habits of Mind,

and Student Agency

2

3 of 56

“Computational fluency involves not only an understanding of computational concepts and problem-solving strategies, but also the ability to create and express oneself with digital technologies.”

-Mitch Resnick

3

4 of 56

Developing Computational Fluency

4

Habits of Mind

Student Agency

Computational Thinking

5 of 56

Computational Thinking

5

6 of 56

Computational Thinking

Concepts

The concepts that designers employ as they program.

Practices

The practices designers develop as they program

Perspectives

The perspectives designers form about the world around them and about themselves

6

7 of 56

Computational Thinking Concepts

  • Sequences
  • Loops
  • Events
  • Parallelism
  • Conditionals
  • Operators
  • Data

7

8 of 56

Computational Thinking Practices

  • Being Incremental (experimental) and Iterative
  • Testing and Debugging
  • Reusing and Remixing
  • Abstracting and Modularizing

8

9 of 56

Computational Thinking Perspectives

  • Expressing
  • Connecting
  • Questioning

9

10 of 56

16 Habits of Mind

Arthur L. Costa and Bena Kallick

10

11 of 56

16 Habits of Mind

“The Habits of Mind are an identified set of 16 problem solving, life related skills, necessary to effectively operate in society and promote strategic reasoning, insightfulness, perseverance, creativity and craftsmanship. The understanding and application of these 16 Habits of Mind serve to provide the individual with skills to work through real life situations that equip that person to respond using awareness (cues), thought, and intentional strategy in order to gain a positive outcome.”

-After Arthur L. Costa and Bena Kallick,

Habits of Mind: A Developmental Series, Copyright © 2000

11

12 of 56

13 of 56

Student Agency

13

14 of 56

Student Agency - What it is.

Student agency refers to learning through activities that are meaningful and relevant to learners, driven by their interests, and often self-initiated with appropriate guidance from teachers. To put it simply, student agency gives students voice and often, choice, in how they learn.

14

15 of 56

Student Agency - What it isn’t.

  • A free-for-all for students: They need your guidance, and sometimes too many choices can be counterproductive instead of inspiring.
  • Lacking accountability: Students must demonstrate mastery of concepts and skills.
  • A replacement for an expert teacher: While students choose their own direction, they will still require course-correction along the path to mastery

15

16 of 56

Student Agency - Why?

Student agency gives students a stake in choosing from opportunities provided for them. Their ability to make a decision triggers a greater investment of interest and motivation.

16

17 of 56

Student Agency - What it looks like.

Students have been learning about biographies in library class. They are asked to interview a family member about their life and experiences. Students are asked to create a Scratch project to present the information from their interviews. They can choose to create a “day in the life” project, a quiz, an interactive collage, video game, write a short story, reenact the interview like a talk show, or present the information in any other creative way as long as they program it in Scratch.

https://scratch.mit.edu/studios/26162817/

18 of 56

Developing Computational Fluency

18

Habits of Mind

Student Agency

Computational Thinking

19 of 56

1.

INTRODUCTION AND GETTING STARTED

19

20 of 56

Getting Started with Scratch

Tips and Suggestions for Using Scratch in Your Classroom

20

21 of 56

Creative Computing Curriculum

Designed by the Creative Computing Lab at the Harvard Graduate School of Education

https://creativecomputing.gse.harvard.edu/guide/curriculum.html

21

22 of 56

Your Students’ Scratch Accounts

  • Walk students through the process
  • Naming convention for usernames and passwords
    • South Fayette uses sffirstl
      • (sf+first name+last initial+number)
    • South Fayette uses computer password
  • Email address - use your teacher email

  • Review the Scratch Community Guidelines

22

23 of 56

Scratch Studios

  • Organize your own projects
  • Collect and organize student work
  • Gather sample projects from the Scratch Community in a “Favorites” studio

23

24 of 56

Commenting Suggestions

  • Students and teachers can provide feedback in the comments section of a shared project.
  • Develop critique standards: Say something nice about the project AND leave a suggestion.
  • Not a chat window

24

25 of 56

Reflecting

  • Valuable form of assessment
  • Reflection questions for each project
  • Where to reflect (What works best for your situation?)
    • Notes and Credits portion of a project
    • Reflection/Design journal
    • Blog or Digital Portfolio
    • Class discussion

26 of 56

Scratch Surprise

What can you make happen in Scratch?

  • Learn through Play
  • Very little/no instruction
  • Establish a culture of fearlessness, exploration, and peer collaboration.
  • Time for questions afterwards - allow students to share what they learned.

Habit of Mind: Take Responsible Risks, Finding Humor, Thinking Interdependently

26

27 of 56

Step-by-Step Instructions

Can you follow directions then build off what you know?

  • Great way to teach the basics, answer FAQs, and demonstrate the programming process.
    • How to stack blocks together
    • How to change variables within a block
    • How to add/change sprites and backgrounds
    • Explain the x-y grid

Student Agency: How can you support your students by teaching skills without creating "cookie cutter" projects and still promote creativity?

27

28 of 56

10-Block Challenge

What can you create only using these 10 blocks?

Student Agency: How might different students react to the idea of creating with constraints? What might this tell you about how students learn?

Habit of Mind: Thinking Flexibly

28

29 of 56

Testing and Debugging 1

Can you fix a “buggy” program?

  • Computer programmers spend the majority of their time “testing and debugging”
  • Introduce code comments
  • What strategies do you have for testing and debugging?

Computational Thinking Practice: Testing and Debugging

Habit of Mind - Thinking about your thinking

29

30 of 56

Interactive Collage

How can you combine interesting images and sounds to make an interactive collage about yourself/topic?

Student (Teacher) Agency: An interactive collage can be a great way for students to present information about a topic. Think about an activity or project in your class where you could have students create an Interactive Collage as a presentation.

Computational Thinking Concept: Events, parallelism, sequence

30

31 of 56

2.

EXPRESSING YOURSELF THROUGH SCRATCH

31

32 of 56

Programmed to Dance

Unplugged activity

Several activities you could try

Computational Thinking Practice: Abstracting and Modularizing (Express a complex activity using a sequence of simple instructions)

Habit of Mind: Finding Humor

32

33 of 56

Make Music

How can you utilize Scratch to create sounds, instruments, bands, or styles of music that represent the music that you love?

This might be a fun activity to tie in with

MakeyMakey

Computational Thinking Perspective: Expressing

Computational Thinking Concepts: sequences, loops, events, and parallelism

Habit of Mind: Managing your Impulsivity

33

34 of 56

Make Digital Art

How can you use Scratch to create an art project?

Orange Square Purple Circle -or- Pen Tool and Geometry

  • Students experiment with looks, motion, and pen blocks and use the paint editor to draw shapes.
  • Teach geometry (start with a square)

Computational Thinking Perspective: Expressing

Computational Thinking Practice: Experimenting and Iterating.

Habit of Mind: Applying past knowledge to new situations

34

35 of 56

Animate It!

How can you take an image or an object and make it come alive?

Students use the paint editor to manipulate a sprite’s costumes to create a moving animation.

Student agency: Some students are particularly interested in developing animation projects and prefer to spend their time drawing and designing sprites, costumes, or backdrops. It is important to engage these students in both the aesthetic and technical aspects of their project.

Computational Thinking Concept: loops and parallelism

35

36 of 56

Testing and Debugging 2

Students continue their problem solving skills.

  • investigate the problem and find a solution to five debugging challenges
  • explore a range of concepts (including sequence and loops) through the practices of testing and debugging
  • develop a list of strategies for debugging projects

Habits of Mind: Persisting, Thinking Interdependently, and Striving for Accuracy.

36

37 of 56

Greeting Card, Music Video, or Quiz

I introduce this project every year to all three grade levels. Each year, the card they create becomes more sophisticated and requires additional coding skills.

  • Third Grade: Interactive Greeting Card - very simple. When you click on an object something happens (music, movement, holiday greeting, etc)
  • Fourth Grade: Holiday Music Video - Sprites give a greeting, are programmed to dance or move, festive backdrop
  • Fifth Grade: Holiday Quiz - Use a conditional to make something happen based off the input of the user.

Student Agency: students have a lot of choices to make while creating.

Habit of Mind: Creating, Imagining, Innovating

37

38 of 56

3.

STORYTELLING IN SCRATCH

38

39 of 56

Conversations

What are different ways to coordinate interactions between sprites?

Broadcasting can be a difficult concept for students to understand.

  • Lunch table conversation example: wait vs. broadcast
  • Students learn various ways to use the broadcast commands

Computational Thinking Concepts: events, sequence

Computational Thinking Practice: Reusing and Remixing

Student Agency: students can extend this project using their own jokes or riddles. They learn, through experience, that there are times when the wait command works, but broadcasting can be more efficient.

39

40 of 56

Scenes

What is the difference between a stage and a sprite?

Students create a project with several backdrops, like a story with multiple scenes. They experiment with the different blocks related to backdrops.

Computational Thinking Concepts: events, parallelism

Computational Thinking Practice: Experimenting and Iterating

Habit of Mind: Thinking Flexibly

40

41 of 56

Make a Block

Do you want to make your own Scratch blocks?

The Make a Block feature can be used anytime you want to repeat a procedure in Scratch.

Computational Thinking Concept: data, operator, sequence

Habit of Mind: Thinking Flexibly

41

42 of 56

Testing and Debugging 3

Students continue their problem solving skills.

  • investigate the problem and find a solution to five debugging challenges
  • explore a range of concepts (including events and parallelism) through the practices of testing and debugging
  • develop a list of strategies for debugging projects

Habits of Mind: Persisting, Thinking Interdependently, Striving for Accuracy, and Thinking About Your Thinking

42

43 of 56

Tell a Story (Brainstorming)

How can you use Scratch to express your ideas?

  • What is the story you want your students to tell? Think about characters, scenes, and other story elements (perspective, narration, problem, solution, events, etc).
  • Provide opportunities for students to go through the writing process, then bring their stories to life using the skills they learned in the storytelling (and previous) units.

Habits of Mind: Creating, Imagining Innovating, Communicating with Clarity and Precision, Applying Past Knowledge to New Situations

Student Agency: Students create stories that are unique to their topic.

43

44 of 56

Tell a Story (Storyboarding)

Modify or duplicate slide as needed

Scene 1 (background image)

Scene 2 (background image)

Scene 3 (background image

44

Scene 1 Sprites/Dialogue/Story

Pseudo Code: What do you need to program?

Scene 2 Sprites/Dialogue/Story

Pseudo Code: What do you need to program?

Scene 3 Sprites/Dialogue/Story

Pseudo Code: What do you need to program?

45 of 56

Tell a Story (Reflection)

What are some lessons or units you currently teach where you can have students present information or tell a story using Scratch? What resources do you already have available to you related to the storytelling process?

  • Habitat story In STEAM class students study habitats and human made environmental disasters and they program a story from the point of view of an animal whose habitat has been destroyed. Their Scratch story is integrated in with a Hummingbird robotics project in STEAM class, where they build a four sided animated cube to tell their story.
  • Digital Dilemma students create a “digital dilemma” choose your own adventure story related to digital citizenship, where a sprite is faced with a decision while using technology. Their story has two different endings, one where they make a good decision an one where they make a bad choice. A digital citizenship lesson is learned and shared with classmates.

45

46 of 56

4.

SCRATCH VIDEO GAME DESIGN

46

47 of 56

Video Game Design

While this unit is based upon the Creative Computing Curriculum Unit 5, my colleague created this great resource that she printed out and laminated for students. It combines storytelling with video game design.

Scratch Video Game Design

47

48 of 56

Starter Games

Through starter games, students learn the basics of programming game mechanics.

  • Maze - Students create a game where the objective is to move a sprite from the start of a maze to the end without touching the walls.
  • Pong - Students create a game that is similar to the classic game of pong, where the goal is to keep the sprite from getting past you.
  • Scrolling - Students create a game that is similar to Flappy Bird, where the goal is to keep an object from falling to the ground or touching certain objects.

48

49 of 56

Variables

To learn how to program a score into a game, students remix the Fish Chomp game. Before programming, they first analyze the existing code and add comments to tell what each part of the code does. Then they need to figure out where to place variable blocks to keep score when the big fish eats the little fish.

Then students choose one of their starter projects to remix and program a score variable into it.

Computational Thinking Practices: Reusing and Remixing, Abstracting and Modularizing

49

Fish Chomp Game

50 of 56

Game Enhancements

There are many things students can add to their game to make it more interesting or challenging.

  • Score
  • Level
  • Timer
  • Enemies
  • Rewards
  • Mouse controls
  • Restart
  • Menu
  • Multiplayer

50

51 of 56

Testing and Debugging 4

Students continue their problem solving skills.

  • investigate the problem and find a solution to five debugging challenges
  • explore a range of concepts (conditionals, operators, and data) through the practices of testing and debugging
  • develop a list of strategies for debugging projects

Habits of Mind: Persisting, Thinking Interdependently, Striving for Accuracy, Applying Past Knowledge to CUrrent Situations, and Thinking About Your Thinking

51

52 of 56

Video Game Arcade

Once students finish programming their games, they add them to a class studio where they are evaluated by one another using a class-created rubric. Then they vote on their favorite.

The winners from each class then are put into another studio where the whole grade level votes for their favorite.

Student Agency: Students create the scoring tool as a class - hold one another accountable and provide meaningful feedback.

52

53 of 56

21 Day Getting Unstuck Challenges

  • Set of 21 small programming challenges
  • Can be aligned with many of the activities in the Creative Computing Curriculum
  • I created an Edmodo page for students who wanted to go above and beyond in class.

53

54 of 56

Scratch Cards

  • Set of cards that can be printed and laminated with thematic challenges and tips for how to code various programs.
  • Align with some of the tutorials on the Scratch website.
  • Topics include:

54

  • Pong Game
  • Let’s Dance
  • Jumping Game
  • Virtual Pet
  • Catch Game
  • Video Sensing
  • Animate a Name
  • Imagine a World
  • Chase Game
  • Make Music
  • Animate a Character
  • Create a Story

55 of 56

Additional Resources

55

56 of 56

Questions?

Shad Wachter rswachter@southfayette.org

Follow me on Scratch: shad647

Follow us on Twitter: @SFIS_Steamlab

Link to presentation: Scratch: Foundations of Coding through Project Design

Survey Links:

Certificate of attendance (i.e. Act 48) to be submitted to your district: https://forms.gle/RfUiQxDBX4h2daLz6

Feedback for the PASmart grant on today’s Ignite Talk: https://forms.gle/gxGX45KXi9cLjYQX8

56