My friend, Alfred Thompson, had a really interesting blog post the other day. He tried to stir the pot with controversy about Computer Science in education. These are never ending questions and there are at least as many opinions as there are people who opine!
One of the questions that he raised was “What language to teach?”
Get 10 Computer Science teachers together and you’ll get at least 11 different opinions.
Given that students will stream from your class to university, or college, or the world of work, I’m of the opinion that there is no one right answer. But, I would suggest that you should offer a number of choices. And, one option should include an assembler or educational assembler simulator for as he notes, this is where you really get to know all about a computer.
I’m going to answer his question also, appropriately, with a Microsoft solution. Microsoft and Atari have partnered to create the Atari Arcade.
After playing Pong for a while, it really put Alfred’s post into perspective. As a Computer Science teacher, I used to let students into the computer room at lunch to be involved with computer and certainly gaming was one of the activities that enticed. These were in the days that the Radio Shack TRS-80 was the device and BASIC and Pascal were the language. The games entertained some of the students for a while but soon lost their lustre. Instead, they wanted to create their own.
The interpretive languages that we were using just didn’t run quickly enough to produce an equivalent so we dug into the computer manuals and learned about screen memory locations. In particular, we were really interested in reading the keyboard without requiring a press of the ENTER key and to get the information on screen as quickly as possible. Our first project was to write our own game of Pong so it was also important to know how to detect a screen collision. This led us to test and understand INKEY$, PEEK(), POKE(), and so much more as well as the individual screen memory locations.
Requires some work? Yes
In the curriculum? Meh? Possibly
Was it ever tested? No, not specifically, but I believe the more you learn, the better off you’ll be.
Learn with the students? Priceless
So, to finally answer Alfred’s question … I think that if you don’t open your mind, you might just miss some students’ passion and that would be too bad. It would be interesting to interview the people behind the Atari project and discover why they wrote games instead of turning their skills into writing business applications.
- Need More Than Pockets of Excellence (dougpete.wordpress.com)
- Computer Controversies For Fun and Discussion (blogs.msdn.com)
- Increase Problem Solving, Reduce Coding Syntax (gflint.wordpress.com)
- Computer Science @ Khan Academy (adafruit.com)
- A Bridge to Computer Science: Functions Exercises (talentopoly.com)