Making Programming More Approachable

Tools for AP Courses

Laurie White

Mercer University

APCSDC

A Short History of Learning to Program

Some Solutions

So, how do we make programming more engaging?

Historical solutions include:

Some More Solutions

Current solutions, to be presented today, include:

Organized from oldest to youngest audience, more or less.

Today's lecture

A whirlwind tour of as many of these as we can get to, so you can decide which you'd most like to revisit. The ones we're presenting have the positive features.

And they are far more powerful than they appear at first sight.

Greenfoot

Greenfoot

A Greenfoot Screen

Available at greenfoot.org

The Greenfoot Gallery at greenfootgallery.org was recently announced.

A related project is BlueJ, an interactive Java environment, at bluej.org

Start up greenfoot. Load the Wombats. Cover how to add objects, shift clicking, running, and examining.

Alice

The Alice GUI

Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web.

Provided by Carnegie Mellon.

Alice

Alice in Action

Available at alice.org

Story Telling Alice, a version of Alice designed for middle school students, is also available at the Alice site.

Alice 3.0 is also on the way soon. It will allow story creation with both drag and drop and text entry.

Now it's time to look at Alice!

Jeroo

Jeroo is a tool that helps novices learn fundamental concepts of object-oriented programming, including

[any material that should appear in print but not on the slide]

Jeroo

Jeroo

Available at jeroo.org

Thanks to Georgia Tech.

Start up Jeroo

Scratch

Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.

Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.

Scratch

Scratch

Available at scratch.mit.edu

Start up Scratch

Advanced Ideas in Scratch

Scratch has the ability to respond to events and to communicate between sprites. Message passing is a fundamental technique in parallel computing. Let's consider the problem of the Dining Philosophers.

The Dining Philosophers

Dining Philosphers

See for example the Wikipedia entry.

The Dining Philosophers in Scratch

Dining Philosphers

Squeak

Squeak is a modern, open source full-featured implementation of the powerful Smalltalk programming language and environment.

But don't let Smalltalk scare you. Squeak is the underlying system of many other systems, such as Scratch and Etoys.

Squeak

Squeak

Available at squeak.org

Amazing things have been done with Squeak. Consider Alan Kay's presentation at Etech and his work at Viewpoints Research.

Start up Squeak

Conclusions

  • There are lots of things out there that are fun and free
  • Many are fairly simple to start and have great support
  • Try them!

These slides are available at Mercer MUSCLE, mercermuscle.com. This site is a work in progress, so, please be kind!