On Sunday, I added another to my series of interviews. This time, I was fortunate to be able to interview Alfred Thompson. If you haven’t read it, I would like to recommend that you do so. He’s an interesting guy.
One of the questions that I asked was what was his favourite computer science textbook. This has always been a flash point for me. Schools seem to be able to find money for the latest mathematics or language textbooks but optional courses don’t fare as well. Alfred’s recommendation was Rob Miles‘ C# Yellow Book. If you’re visiting this and are a Computer Science teacher, follow the link and see what you think.
As I was preparing for my interview and came across that question, I wondered to myself what my answer would have been. It brought back all kinds of memories as a Computer Science teacher, and before that, as a Data Processing teacher.
When I got my first job, I taught Data Processing and was part of the Business Education department. I had a full schedule of Data Processing from Grade 10-12 and inherited the choice of textbooks that I think were probably very common throughout the province. In Grade 10, we taught a lower level language designed to teach the elements of computer architecture like registers and absolute memory locations. In Grade 11 and 12, students could continue their studies and Fortran was the language of choice in both Data Processing and Computer Science. Often, students would take both courses and so a very necessary approach was to change the type of problem that was offered. This was long before a curriculum was available from the Ministry but I think we did a very good job of providing problems that were applicable to Business and then Mathematics/Science. But the thing that got me was that this was the same book that I used in my own high school experience! It was more about teaching the language and consequently I was constantly creating my own problems for students to solve. Thankfully, four years of university had provided me with all kinds of ideas that were melded to fit secondary school aged students appropriately.
So why this shaggy dog story? It was a few years later, and I ended up teaching both courses. By that time, we had chosen completely different programming languages. the Data Processing class was using BASIC and the Computer Science class, Pascal. Now, with all the programming languages that I’ve used, I’d never experienced Pascal. I had two months to learn it! Unlike now where I’d just head over to YouTube, I decided to buy a book. It turns out that this was the best thing I’d ever done. Not only did I learn how to program in Pascal, I changed my entire approach to teaching programming. The book, Oh! Pascal! did it for me. Very early in the book, I got it. While I had been paying lip service to teaching “problem solving” instead of teaching “the language”, this book changed everything. We weren’t preparing the kids for the language that they would use at university; we should be teaching them to solve problems so that they could use whatever language that they had to use. And, stop taking yourself so seriously – make programming fun, tell stories, laugh at yourself. If you’re programming in Pascal, or hopefully Delphi, or actually anything, see if you can lay your hands on a copy of this book. You won’t regret it.
Later, much later, languages are experimented with and dropped/kept as great teachers within our district tried to stay on top of an ever moving target. As Alfred notes in the interview, often you’re running just to avoid losing ground. I was no longer in the classroom but working as the computer consultant at the board office and we’re doing an introspective look at what the courses might offer. At the time, Holt Software was big in the province. I worked quite frequently with Tom West (whose wife is a very interesting Sci-Fi author) and Chris Stephenson and they were always helping us with professional learning. We had elected to license Turing as our introductory programming language and Java for the older grades.
Now, for those of us new to Java, this was quite a challenge. The BASIC -> Java path was very slippery. Fortunately, Holt Software had a publication that had us covered. “The ‘Don’t Panic’ Guide to Programming in Java” Again, it’s not really a textbook but more of a conversational approach to learning to program. It made the hurdle of going from nothing to running with Java relatively easy.
Unlike the traditional textbook, computer science textbooks are different. They recognize that not everything may be linear for student (and often teacher) learning. Choosing the right resource is very important.
If you’re a computer science teacher reading this post, let me ask you the same question I asked Alfred. What’s your favourite computer science textbook? Or, do you even use a computer science textbook?
If you’re not a computer science teacher but have hung around enough to reach the bottom of this post — have you ever used a resource that changed your approach to teaching? What was it and how did it make that change?
- An Interview with Alfred Thompson (dougpete.wordpress.com)
- How Code.org is extending computer science beyond ‘the lucky few’ (venturebeat.com)
- Geeking out young: gadgets and coding need to be core in US schools (engadget.com)
- Schools Aren’t Teaching Kids To Code (Here’s Who Is Filling The Gap) (blogs.sap.com)
- Code.org aims to introduce more than 10M students to computer programming (zdnet.com)
- Khan Academy finally launches its computer science curriculum (venturebeat.com)