Thursday, September 11, 2008

What I Learned This Summer: introducing computer programming

I attended a workshop this summer on Alice, a programming language targeted to pre-college students to learn computer programming. The workshop was held on the beautiful Santa Clara University campus (for you 4th grade history teachers you can't beat a free fieldtrip to this campus to see part of a real California mission...thanks Mrs. Tinsley!). Other workshops were held at 5 other universities around the U.S.

We learned to use Alice, developed curriculum to be used in our classrooms this school year, practiced this curriculum with students, and began a PLC that hopefully will be very active and creative all in 3 weeks! It truly was this easy!

Teaching materials are available at but Alice is such an easy software to learn if you spend time playing around. Books are available from Amazon: you won't need to latest edition to learn Alice so feel free to use an old edition. Update! An Alice textbook is almost wholly available on Google Books

Scratch logoI was introduced to Scratch by a colleague who taught students to animate their drawings. It's very similar to Alice in that students learn programming without worrying about syntax, but it's received more press (viral if you will) because of the social networking aspect of their website and because there's more flexibility to create your own characters. More to come on this...

Other options include:
  • Logo, my original programming language! Using a turtle students learn to program geometric shapes, then create programs to control the turtle's movements.
  • A co-worker used MicroWorlds EX successfully to transform an energetic class into mini-programmers! There is also a library of projects available to use in your classroom.
  • Lego Mindstorm are kits where you build a robot and use a computer to program commands to make the robots move. Very interesting to build and even more fun to program!
  • Squeak is an open source programming language very involved with the One Laptop per Child initiative.
  • BASIC is another of my earlier languages! It was much like today's languages where you type commands and there's a visible action. There are a few versions sure you don't use Microsoft's Visual Basic as a teaching tool!
  • Python is another free programming language, with an easy beginning tutorial
  • Arduino is an open source language that lets you build your own Lego Mindstorm-like kit!
As a "computer teacher" I reflected on why computer science enrollment is down nationwide: I believe the "dot-bomb" or "dot-bust" scared many students away to more traditional, financially secure academic disciplines and careers. There are students still going into programming: some I met this summer are going into gaming (computer, video, online) which is still hard core programming, is a lot more fun than programming databases, and is the only software industry not in the dumps; the stereotypical programmers who have been doing so since a young age and are self-taught geniuses; and those from other nations who've found jobs in the U.S., but we've seriously lost the diversity that was present on campuses at the height of the "dot-boom" due to good salaries and many job opportunities.

I'm not sure what the solution is to our nation's problem because while there is still a need for programmers, this is the low point of an economic cycle and the industry is no longer immune.

1 comment:

Alfred Thompson said...

Why not use Visual Basic as a teaching tool?