Additional profile information on Alfred Thompson at Google+
One of my co-workers, Sam Stokes, put together a list of statistics about job projections in the US IT industry. I've copied a bunch of them here. Links to the origional data is supplied so you can see the details for yourself.
Computer software engineers, applications
Computer software engineers, systems software
Computer systems analysts
Computer Scientists and Database Administrators
Network and computer systems administrator
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.
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.