Skip to content

mkruijt/teaching_scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 

Repository files navigation

teaching_scratch

course material/ inspiration and metaphors for teaching scratch to children.

What can you find in this document?

  1. Setup (a bit about basic setup and structure in the classes)
  2. Class1 // Walk the cat 😻
  3. Class2 // Make a conversation πŸ’¬
  4. Class3 // Make a game 🎲
  5. Class4 // Program an instrument πŸ₯
  6. Class5 // Make a (personalized) Christmas card β˜ƒοΈ
  7. Class6 // "Aapenkooien" make a maze or obstacle/parkour game πŸ’

Setup:

Work in pairs

Children in this class always work in pairs, we believe that they have always something to learn from one another. We let them switch pairs every class, in this way better students can teach to students who are having a hard time.

"Standup"

Every class we start with a "standup" and try and come up with a metaphor that links a programming concept (that we would like to cover today) to something they can relate to in real live. The standup is short and to the point.

Let them try themselves

We have the experience that the children do not pick up "theoretical" sessions, they are better in understanding a problem or difficulty when they actually run into it when coding themselves. This could of course have to do with our lacking abilities as teachers, but on the other hand we also prefer learning by doing. Of course this means you will be repeating yourself multiple times. On the other hand you can also ask children you just explained a concept to, to explain it to another group that runs into the same problem.

Give some structure, but give loads of space for creativity

We start each day with a standup wherein we explain a metaphor and based on that metaphor we give a broad assignment for the day. These assignments are picked because it lets them run into certain issues/concepts we would like them to learn (more about that below). Every week we are amazed by the creativity of the students and what they accomplish and come up with. Giving broad assignments of course leads to confusion and messiness. We believe that's totally worth it.

Run

We let children run a small round around the play yard when they get hyper and lose their focus. After that they go back to work. Not always necessary but if it is, it works great.

Present

At the end of the day we always take 5-10 to group around the different projects and take a look at what the others in the class have made.


Class1 // Walk the cat 😻

Standup:

Who knows scratch? What can you do with it? What do are the specific parts in the UI used for?

Concepts:

  • Get familiar with the UI of scratch, backgrounds, sprites, where you program your sprites.
  • Get to know the x and the y axis you can navigate trough the screen with.
  • How to get the position of your sprite on the screen.
  • How to move your sprite from one position to another.

Optional:

  • talk about degrees 🧭

Assignment:

Make your cat walk, and let it switch appearance.

Implementation of basic assignment:

  • add a background, for example with a little road.
  • ask students to make the sprite navigate over the road, this makes that they have to figure out how the coordinates work in the screen.
  • Try and let them implement a "starting position", so when green flag is pressed, make the sprite go back to a specific point. let them first implement it without a starting point to understand why it is useful, they will probably be dragging the sprite back to the beginning every time.

Bonus:

do other fun things with the appearance of the sprite, for example:

  • switch (build in) appearance
  • add delays in between
  • make the sprite or smaller
  • rotate
  • add music
  • show how to edit the colors of the sprite itself

Concepts:

  • scratch UI
  • x and y axis

Class2 // Make a conversation πŸ’¬

Standup:

Assignment:

Create a conversation (a story).

can be done (based on level) with:

  • after .... seconds, say .....
  • send signal, when signal ... is send, say .....
  • make the conversation based on the sprite you run into (touch). So if sprite cow touched sprite penguin, let the cow say "hello penguin"!

Bonus:

  • implement with (getting) inputs, for example "what is your name" and reply in a message with "Hello {name}!"

Concepts:

  • getting input
  • using variables to do something with that imput

Class3 // Make a game 🎲

Standup:

Ask if children have rules at home and if they can give examples of some of the rules they have. Ask what all games have in common, just like all of you they have rules that determine if the game end or not. Ask the children to pair up in pairs of two and discuss the rules of a game they both know. Ask them to come up with two rules of the game and explain the rules to the group.

Assignment:

Build a game that has a starting point and define some rules that determine if the game ends (it should just end, win or loose is not relevant for now).

Concepts:

  • game logic
  • if else

Class4 // Program an instrument πŸ₯

Standup:

Assignment:

Take an instrument from the sprite library, and come up with your own rules about how it can be played (the sounds it makes based on the keys you press or combination of keys you press). You can also make a band or come up with your own instrument.

Concepts:

  • key events
  • execution of multiple key events
  • if else

Class5 // Make a (personalized) Christmas card β˜ƒοΈ

Standup:

Assignment:

Based on user input, make two or more different Christmas cards.

Concepts:

  • capturing user input
  • if else

Class6 // "Aapenkooien" make a maze or obstacle/parkour game. πŸ’

Standup:

combine all you have done with gym in the last year into a game - so there are some rules. take all you have learned in the previous sessions and apply here.

Assignment

Build a maze or obstacle track, just like in aapenkooien.

What is nice about this assignment it that it forces the children to think about the difference between backgrounds and sprites. In our experience all of them will start drawing mazes on a background, which is something you can't interact with. They end up learning that in order to interact with something in scratch it has to be a sprite and also the maze should be drawn as a sprite to be able to check if for example you are touching the boarders or not (or if the sprites are touching each other)

Bonus:

  • let the sprite be chased by another sprite (pac man like)

Ideas for upcoming classes πŸ’‘:

  • something with a drawing game
  • shapes, geometry
  • board games, concepts: checking values of other sprites, logic etc.
  • give children base sprites/games/setup they have to start with
  • give children games that have mistakes in them and that they have to "debug"

About

course material/ inspiration and metaphors for teaching scratch to children.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published