Workshop 1: Advanced Scratch: Computer Science Through Storytelling and Games
Wednesday, March 9, 7:00 PM -- 10:00 PM
Room: Lone Star A2, Sheraton Dallas Hotel and Conference Center

SIGCSE 2011, Dallas Texas

Please note that you WILL need a computer with Scratch installed to get full value from this workshop.

Table of Contents:

Presenters
Abstract
Audience
Materials

Agenda
Preconference Resources
Presenter Biographies

Presenters:

Ursula Wolz  (contact person): wolz AT tcnj DOT edu
Computer Science and Interactive Multimedia
The College of New Jersey
Ewing, NJ 08534, USA

John Maloney:
Lifelong Kindergarten Group
MIT Media Laboratory, E14-464B
77 Massachusetts Ave.
Cambridge, MA 02139  USA

Christopher Dunne,
Pennington NJ, 08534 USA

Abstract: A set of Scratch storytelling and game project starters are presented to those with minimal prior Scratch experience.  Each project demonstrates good media design, intermediate/advanced programming and core computing concepts. Initially developed to integrate Scratch into middle school language arts curriculum, the projects are now used in a CS 0 course, a one semester CS1/CS 2 course, and a senior level course in game design. Computing concepts include modular design via game engine architecture, data management and communication via sprite interaction, and algorithm efficiency via sound production and sprite animation. Laptops are required. Participants will have ample time to extend the project starters and discuss the ramifications for computing curriculum. See this page!

Intended Audience: Educators, with some prior experience with Scratch, who are interested in non-traditional approaches to programming foundations throughout the K-12 and undergraduate curricula. If you really don't have any experience with Scratch, then please play with the tutorials (or just play around) on the Scratch site.

Materials To Be Provided: Media materials including sample Scratch projects, hypertext-based tutorials, and short videos will be made available via USB drives.  Please email Ursula if you need a CD/DVD instead. Paper handouts of the agenda, instructions for project work and other reference information necessary for participation will also be distributed, HOWEVER, if you would prefer to be paperless, please email Ursula who will make those materials available by Sunday, March 6.

Agenda:

  1. Overview: The Pedagogy of Storytelling and Games (10 minutes)
  2. CS concepts in a Game Engine (50 minutes)
    • Level management with just global variables.
    • Animation and sound synchronization – concurrency.
    • Catching and shooting – algorithms for rendering.
    • Make it your own: extend a sample project, alone or with a partner.
  3. CS concepts in a Story Engine (50 minutes)
    • Interaction Design for Linear Storytelling (data structures and management).
    • Interaction Design for Multithreaded Storytelling (parsing and list processing).
    • Make it your own: extend a sample project.
  4. Continue one of the above projects alone or with a partner. (30 minutes)
  5. Project sharing by walking around the room  (20 minutes)
  6. Discussion of Advanced Scratching in the Curriculum (20 minutes).

Preconference Resources (e.g. preparation homework):

Please download Scratch from the MIT website

There is added value to being familiar with creating projects in the Scratch environment before coming to the workshop. We respect that you are busy, and may not have time for this. Consequently we suggest you plan on spending time with Scratch while you travel.

Scratch comes bundled with a set of help resources. When you launch Scratch, you can access web-free (that's like sugar free) resources by clicking on the "Help" button. You can also get help on any Scratch "block" by right clicking it.

But please take some time to download resources you may need if you can't access the internet (such as when your plane is being de-iced). The two basic web-free resources to download ahead of time are:

Airports are wonderful for loosing yourself in creativity while you wait, especially if you have free wi-fi, in which case you can go to the plethora of introductory tutorials on the Scratch site. Places to go:

HOMEWORK:

The best way to prepare for this workshop is to play around and do your own thing. However, we know that many of you are highly achievement oriented, so your homework assignment is to send us a Scratch project via the list-serv by March 7. We will accept the excuse that your dog ate it. We will also give two prizes: one to a person who despite overwhelming demands on their time managed to send us a project, and one to a person whose time constraints are such that he/she just couldn't spend an hour having fun with Scratch.

If you need to be assigned a challenge here are 5. Each has a comment with a suggested challenge. You can interpret the challenge to make it as easy or hard as you like. But HAVE FUN!!!!!!

Presenter Biographies

Ursula Wolz, PhD. has been teaching programming for 30 years using just about every language including BASIC, Logo, Pascal, Mathematica, Scheme, Java, C, C++, and most recently Actionscript. She has never seen students ÒgetÓ the fundamental concepts as quickly and as thoroughly as when they make their own games or stories in Scratch. She has published extensively at SIGCSE and elsewhere on computer science education, especially related to programming fundamentals and using game design and storytelling as vehicles through which to engage students in computer science. She is currently the Principal Investigator on an NSF project ÒBroadening Participation in Computing via Community Journalism for Middle SchoolersÓ where she has facilitated the process by which adolescents learn computing foundations Òon the sideÓ in their language arts classes.

John Maloney, PhD, a researcher at the MIT Media Laboratory, is the lead developer for Scratch. He is currently working on a new, web-based version of Scratch that will allow projects to be viewed and edited directly in the browser with no need to download or install an application. Earlier, John worked in Alan Kay's research group, where he helped develop Etoys, a graphical programming system for children similar to Scratch. John has facilitated many Scratch workshops for both adults and young people. He enjoys workshops because he sometimes learns new Scratch techniques and is frequently inspired by ideas for improving Scratch.

Christopher Dunne, received his High School diploma in April 2010 and is co-authoring with Wolz an intermediate programming book for adolescents on Scratch via Games and Storytelling. As one of the early ÒScratchers,Ó his projects were showcased around the world by the Scratch developers.  His Scratch user name is a ÒtagÓ on the Scratch site.  In 2008, he and John Maloney presented Scratch at a special session at SIGCSE.  Dunne was part of the keynote presentation at the first Scratch@MIT conference as well as co-presenter at a regular session. He is a volunteer Scratch expert on the NSF project ÒBroadening Participation in Computing via Community Journalism for Middle SchoolersÓ assisting in middle school language arts classes.  Many of the algorithms and media techniques presented in the workshop are a result of his experience teaching ÒadvancedÓ Scratch to others, including to Wolz.