Additional profile information on Alfred Thompson at Google+
One of the blogs I enjoy is See Jane Compute which is written by a professor of Computer Science using the name pen name Jane. Recently she started a series specifically about the way she teaches computer science/programming courses. In the first of the series she talks about how her own experience as a beginning computer science student influences how she herself teaches introductory courses.
The first programming course I took is by far the most memorable course I took. For me it was the first experience with computers. It was over 30 years ago and back then computers were pretty rare. Taking a computer programming course was pretty exciting for me. I was very lucky in that my professor loved programming and was very good at communicating that love. He was also extremely patient which was very valuable as it helped him help those of us who caught on a bit slowly. When I became a teacher I thought about how Professor Roth taught. I didn't teach exactly the same of course. We're different people. But I did pattern my style after his to some extent. I suspect that a lot of teachers pattern their style after one of two things. Either they try to do what worked for them or they try to correct the obstacles that almost prevented them from learning. Sometimes we probably do a bit of both.
Coming back to Jane. One of her goals is to make the first programming course as pleasant as possible and as good a learning experience as possible. There are all too many teachers, or at least there were during the boom times of computer science enrollment, that view the first course as a filter – an opportunity to weed out all but the most determined student. A lot of what happens in introductory courses chases students away and makes them dislike the field. Sometimes teachers just give up on some students too soon. Or they allow an environment that is uncomfortable to beginners, women, and others who do not fit the pure computer geek mold. Personally I love programming. It’s a lot of fun for me. I want to transmit that excitement to all of my students. Jane seems to be the same way. She has some good advice in her post. I highly recommend it to teachers of introductory computer science courses.
I saw this cartoon the other day. It's fairly funny but there is more to it than meets the eye of ordinary people. The binary actually represents a message for the true computer person. When you saw it (if you haven't yet go ahead I'll wait) did you decode it? Would it even occur to your students to decode it? We don't teach much in the way of binary or ASCII any more. I think that is a shame.
Now in the old days a lot of people knew the ASCII table by memory. OK not me but I know people who did (and still do). So as soon as one of those people told me he laughed at the decoded message but didn't tell me the punch line I knew I had to decode it myself. Since I didn't have an ASCII table handy and I didn't really want to do the binary to decimal by hand I did the only logical thing. I wrote a piece of code that converted a string of ones and zeros to a decimal and then displayed the ASCII value. I used Visual Basic .NET because I always use VB for string manipulation. But I suppose a good programmer (or even a beginning student - see the project potential here?) could do it in what ever language they are comfortable with.
It's a nice little project when you think about it. A little string manipulation with a simple loop and you are pretty much all there. I think I used about 8-10 lines of code including the variable declaration, the return code (I created a function to convert the string to a decimal so I could reuse it later) and the display statement. So you could probably even do this as an in class demo, quiz or short project. And students seem to like things that look like codes, ciphers and secret messages.
I found this article this morning. It is about Paul Allan's collecting a couple of old Digital Equipment PDP-10s and a PDP clone. The systems run a pair of operating systems called TOPS-10 and TOPS-20. For those of you who don't know, Paul Allan and Bill Gates learned how to program using a PDP-10. The PDP-10 was a huge mainframe computer. It had a pretty neat operating system for a command line system. In fact I would say that it had a much better command line interface than *NIX and Windows does today. Monad, coming from Microsoft, will be pretty cool but it is not there yet.
The PDP Planet web site lets people request an account so that they can TELNET in and use these systems. The web site also has pictures and historical information about these computers and other computers. My hope is that they add a PDP-11 running the RSTS/E operating system. That is the system I was part of the OS Dev team for a while.
In any case, I think that if I were teaching a course today that included a history component (and a lot of them should IMHO) that having an account of one of these systems would be pretty interesting. It would give students a look back into the past. I'm glad Paul Allan is doing something like this.