Programming Projects

One of the recurring problems with nearly every programming assignment I’ve had while at Florida State has been underspecification and ambiguity. I don’t remember this problem occuring at High Point. I’m sure it happened, but it wasn’t systematic like it seems here.

The latest example is the final project for my Compiler Construction class. Despite having an eleven (11!) page specification, we have had multiple “clarification” emails. The first actually had a list of five rather important notes, which if not observed, would prevent you from being able to finish the assignment.

Of the five, two of them significantly changed the details of the implementation. The easier of the two was making function recursion possible, which isn’t that difficult, but was never covered in the book or lectures. I was able to solve it by adapting a technique we used previously. The second was much more daunting and highlighted a limitation to his design I had noticed from the very beginning, which is frustrating because our projects have to start from a set of code he gives us that we have to extend and complete. Frankly, after spending a few hours this afternoon trying to figure it out, I was ready to give up, but I emailed the professor asking for help while detailing what I had tried and why it wouldn’t work. He replied about an hour ago with a fairly clever, but unique (in that it wasn’t a technique I had seen in the lecture notes or book) solution. I haven’t finished implementing, mainly because I’m not quite sure it actually works (he might have just sketched out the idea when he emailed it to me rather than having actually tested and used it).

Anyway, I don’t mean to make it sound like I disliked the project, professor, or class. I actually like all three very much, but have just been flummoxed by this and wanted to share.