Here’s a link to the PDF version of the presentation I gave Saturday at the Microsoft Academic Days on Game Development for Computer Science Education conference:
Game Programming for Introductory Computer Science
If Microsoft makes the video available, I will blog a link to it – much context is missing even from the expanded PDF. Here’s an outline of the talk:
Introduction
Kid’s Programming Language (07/2005)
Phrogram (10/2006)
Publications
Pedagogical Goals
Fun: learning is best when learning is fun
Accessible: easy to get started
Engaging: games, graphics, sounds
Simple: resist CS tendency toward increasing complexity
Rewarding: see quick, fun results from one’s work
Highly leveraged: maximum function, minimum code
Progressive: lots of concepts to learn, step by step
Preparatory: easy ‘graduation’ to professional IDEs
Modern: consistent with current software design standards
Publishable: as open source or executables
State of the art: extensible use of current technology
International: IDE language versions available
First Contact = Red Herring
First contact languages are not enough.
There must be a comfortable path for students to progress into mainstream languages and IDEs
Programming is Hard
We respectfully disagree.
We think this assumption prevents the thinking that will make it easier.
If you can read and you can type, you can program.
Demo: Phrogram version of Hello World!
Demo: Phrogram’s Logo-style sprite movement
Demo: User-defined Class example
Demo: Interactive debugging’s pedagogical value
Demo: Pong – absolute beginners can do this!
Demo: Pinball simulator
Demo: Missile Command – still cool after all these years!
Demo: Program Explorer UI, for large programs
Demo: Storytelling and other programs interesting to girls as well as boys
Demo: Conway’s Game of Life
Phrogram is simpy the easiest way to create educational software on any topic
Demo: Sierpinski Triangles, and bitwise AND operator implemented in Phrogram
Demo: 3D programming – Phrogram runs atop XNA and the XBox 360!
Things I didn’t demo:
XNA compatibility: beta next month!
Extensible class libraries:
Peer-to-peer Internet-based data exchange, for multiplayer games, chat and other multi-user apps
Extended file I/O library
Advanced math library (128 bit precision)
Weatherbug library for processing and visualization of weather data from live Internet feeds
XML-based IDE translation: Spanish, Portuguese, French, Italian, German, Czechoslovakian so far
Ohio State University feedback
PUC-Rio University feedback
Lakeside School, Seattle – academically acclaimed independent school
Using Phrogram in 6th and 7th grades, and Java in 8th+
Available Phrogram materials
150-page User Guide and 30-page Beginner’s Tutorial
110-page Addison-Wesley eBook, Learn to Program with Phrogram!
Active online community: http://www.phrogram.com
Ohio State: full CS0 course curriculum
Lakeside: curriculum published end of term
3 more book proposals in progress, one of them a textbook by a published CS teacher/author