New approaches to CS1

As a professor you get sent new sample textbooks all the time, or so I learned from Dr Nick last night. The “hot” area for these textbooks is the CS1 (or Intro to Computer Science) classes. Computer Science programs have the unique challenge of getting beat up by Industry because they aren’t producing enough new graduates. At the same time Mass Media keeps saying “all your tech job are belong to India”, scaring potentially interested students to the much more secure careers of History and English.

The thing that is exciting about software development is the ability to be creative with a nearly infinitely malleable canvas. The tools for creating software are better than they’ve ever been, and the massive prevalence of Open Source Software makes finding example code really easy. In a weekend you can create a completely reasonable web application with Rails, or a nice client application using Glade. In each case they solve a problem you have, and make you’re life a little easier.

The bad old ways of teaching CS definitely miss this whole point. I’m a firm believer in students needing to understand interesting data structures and what is going on in the memory of the computer, but that doesn’t have to be the CS1 focus. That’s like teaching shop in high school, but instead of letting people build boxes or bridges, having them spend the entire first semester pounding nails into boards until they get it right. As with any industry that has a stigma for boring, you need to show students the creative aspects early in their education.

Back to text books. One of the new textbooks that Nick got was teaching CS1 in Javascript, in a browser. It did all the standard CS1 things about loops and datastructures, but in an environment that students might actually intrinsically care for. Relevancy is key to interest, and what can be more relevant in this day and age than the web browser. I’m sure the purists will loose their lunch over the idea of Javascript as the first language people learn, fortunately lunch is cheap and easy to find.

I for one, am excited about anything that brings more creative and talented people to the field. The current approach of making 18 year olds decide they don’t like software because they didn’t understand inane java syntax in the first 4 weeks that they were in college isn’t working out so well.

2 thoughts on “New approaches to CS1”

Leave a Reply to Sean Dague Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s