Programming Mentorship Ideas

Ideas/notes on how to start a programming workshop project.

This is a great video of how to start a workshop using Scratch:

http://www.youtube.com/watch?v=eQGiv53SE4k&eurl=http://scratch.mit.edu/videos/

Ruby Programming

  • Ruby is a simple, elegant programming language that has use in the “real world”
  • Would be a good “starting” programming language due to simplicity and non-terse (no semicolons, odd characters needed)

Ice Breaker

Students should get to know each other.

Show Scratch Features

  • ONE machine is used (Instructor computer)
  • Students take turns learning features of Scratch
  • Basic structure of scratch was taught (blocks)
  • They brought all kids pictures into scratch, and worked on a community project.
  • Sample ideas were presented to students. to make sure that kids had some place to start
  • Always left time in workshop for kids to talk about their various projects.
  • Supportive & collaborative environment.
  • Unexpected things were:
    • Kids were doing lots of images, but no programming
    • they brought all kids together, and showed how to bring projects to life.
  • Large chunks of time for kids to get together on their workshops.
    • Benefits of uploading were that kids could see each others' projects.
    • We could have kids save their projects to an internal network,and have other kids download other

kids projects to their USB keys.

  • Kids liked being able to create projects that were about them,and were their own creations.

Upload Projects to MIT Website

  • Kids uploaded projects to Scratch website: See http://scratch.mit.edu
  • This should come later in a student's project, when project is nearing completion or is completed.
  • Involves registering at the Scratch website.
  • Not currently possible/easy to upload Scratch projects using the Linux version of Scratch.

Points to Teach

Baby-Step

Keep in mind that students are very young, and need to see results quickly. Make sure they can run programs and see progress w/o too much coding in between.

DRY

DRY == Don't repeat yourself ( http://en.wikipedia.org/wiki/Don%27t_repeat_yourself )

Use previous projects to avoid having to type in the same code repeatedly.

Save Early / Often

Projects should be saved early, to teach students how files work.

TMTOWTDI

There's more than one way to do it.

Ideas for Managing Students' Work

  • Give USB Keys to students, so they can take work back/forth
  • Have them make backups of their work on the workshop samba share

Upload Projects to Wiki

Ongoing Scratch projects should be saved to the wiki, for easy, documented access on later dates. This will also provide a handy backup feature.

Sample Projects

Below are listed some ideas for Scratch projects.

Catfood Bounce

Scratch tries to get to his bowl of catfood. Students place circles on the screen, and Scratch bounces off of the circles.

The player clicks the mouse in strategic places, where new circles appear. Scratch bounces off the circles until he touches the catfood bowl. The player who gets Scratch to the catfood in the shortest amount of time wins.

Zoom Shape

Scratch draws a square, then a smaller square, etc. Shapes would all be inside of each other. This project would highlight the coordinate system used for Scratch, as well as intermediate geometry.

scratch_zoom_project

Quiz

Basic Quiz where scratch asks questions, and students answer. Would teach input/output basics.

Scratch Plus

Numbers would fly across screen, and students would guide Scratch to catch certain numbers that add up to the target number.

Student Dance

Students would take pictures of themselves in three or four different dance positions. They could make themselves dance by pressing certain keys which would show the different dance positions.

Scratch Maze

Scratch is in a maze, and must get to an endpoint. Obstacles guard the exit from the maze. See Sir Scratch

Riverfront Walk

Get a snapshot of St. Louis Riverfront, and take students' pictures, and make them walk across the riverfront.

Fish Catch

Scratch has to catch the fish. See fish_catch

Pipe Dream

Create a video game where slime oozes through pipes that you construct. You get points for how many pipe-pieces that you lay down before the slime bursts out of the pipes.

http://en.wikipedia.org/wiki/Pipe_Dream_(video_game)

Wget It

A program to allow users to easily download pictures from a web page. Users will enter the URL of a web page, and Wget It will find all the pictures on the web page, and download them to the directory that the user chooses.

wget it

See Also

caleb project progress %2007/%12/%08 %11:%Dec nate
Any Shape    
Byteworks Workshop %2007/%11/%27 %21:%Nov nate
Byteworks Workshop Interest Form %2007/%08/%17 %21:%Aug nate
Custom Animation in Scratch %2008/%04/%29 %12:%Apr nate
Fish Catch %2008/%02/%14 %17:%Feb nate
Great Scratch Intro Program %2008/%11/%16 %00:%Nov nate
Photography Class %2007/%08/%29 %00:%Aug nate
Programming Mentorship Ideas %2008/%05/%14 %09:%May nate
Project Progress Template %2007/%11/%16 %16:%Nov nate
Project Report Card %2007/%11/%16 %16:%Nov nate
Scratch    
Scratch Catch %2008/%03/%02 %22:%Mar nate
Scratch Programming Class %2007/%08/%08 %00:%Aug nate
Scratch Zoom Project %2007/%09/%16 %23:%Sep nate
Sir Scratch    
Tic-Tac-Toe %2007/%11/%10 %06:%Nov nate
Turning the Beep Off %2008/%04/%29 %21:%Apr nate
 
programming_mentorship_ideas.txt · Last modified: 2008/12/15 20:00 by nate
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki