Mindstorms: Children, Computers and Powerful Ideas was written by Seymour Papert in 1980 at the dawn of the personal computer revolution. I had the pleasure of reading an excerpt from the book published in The New Media Reader for a class. I immediately identified with what he wrote about programming as a tool to think about how to think. He predicted that the future ubiquity of computers might spark a revlotion in the learning process. Unfortunately, I was also struck by how little of what he hoped for has come to pass, even over 30 years since the writing, while his predictions of the increase in affordability, ubiquity and power of personal computers has come to be a reality. His critics have largely been correct in their predictions that computers would be used to replace exiting teaching practices of drills and tests rather than be exploited to change the way learning and teaching was done. But why?
Continuing the theme from last time, I’d like to take a closer look at another final project from this past semester’s ECE2524. Just like the project I reviewed last time, the central limit theorem calculator works as advertised, but it requires quite a bit of interactivity which makes it difficult to use in a script. Providing a good non-interactive interface is particularly important for this project: one of the assumptions needed to use the results of the central limit theorem (CLT) is that the sample size is greater than 30 or 40. Depending on the data, a sample could contain hundreds of measurements and the current program prompts the user for every single one.
Every semester I am impressed by the variety of final projects I get for ECE2524. Games are always popular (and always fun to play), and so the non-game projects tend to stand out. Two from the Spring 2014 were a utility to convert resistor values to color codes and a program that calculates the sample mean and variance of a set of data points. Both of these programs are great examples of the “do one thing and one thing well” rule that Unix developers like to follow. In both cases the central algorithm is relatively straight forward as well, and so a “strong single center” design is easy to define. It is for these reasons that I’d like to look at each project in more detail than I was able to during the review process. I’ll start with the resistor color code calculator.
I still feel like I’m recovering from the final couple weeks of the semester, and I still have one more task to complete as part of my teaching responsibilities before I don’t take a break and roll right in to finishing up a M.S. thesis. So the time is as good as any to reflect on these past two weeks, and since these were my final last two weeks teaching EC2524, maybe a chance to reflect on my experience as a whole.
In the assessment class I’m taking the first thing we learned about creating assessments is that having clear goals are a prerequisite to everything else. Based on my own experience and what I’ve heard from others, I wonder if the folks who have had a hand in developing the computer programming components of the engineering curriculum had any goals in mind aside from “learn basic programming skills”.