Coder Social home page Coder Social logo

teaching_scratch's Introduction

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"

teaching_scratch's People

Contributors

mkruijt avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.