Sun, Apr 28, 2002
I've given an assignment like this several times in compiler design and computer architecture courses, and always thought that it helped fix some basic concepts in students' minds. I also thought it was a lot of fun, but I may be the only one.
Don't use me as a guide to "fun" -- I once wrote an assembler in Perl.
When students complained about the assignment, I would tell them I once read that Bill Gates wrote the first version of Microsoft BASIC with an 8080 simulator on a PDP-10. The CS department at CSUF being a Microsoft shop, this went over well.
From a pedagogical standpoint, the assignment forced students to finally confront the difference between a binary 0 and the ASCII character '0', an apparently subtle distinction that had, to this point, eluded many.
We're talking Juniors and Seniors in Computer Science who hadn't yet caught on to a fairly fundamental bit of computer knowledge. I like to think of this part of my career as having performed a public service.