(Last Mod: 17 December 2013 13:19:15 )
The book CODE is a "soft" technical book that strives to place most of the same concepts covered by The Elements of Computing Systems into a more intuitive context as an aid to understanding the big picture. The Elements text tends to be too narrowly focused on the specific things needed to get this specific computer up and working to provide much in the way of a broad context. In contrast, CODE is too broadly focused to serve as an effective text aimed at bringing these concepts together and making a working computer. But, taken together, they complement each other quite nicely.
To be sure, the focus of the course is on the Elements text and the associated projects. If you were to completely ignore the CODE assignments you would likely lower your final grade in the course between 0.5 and 1.5 letter grades due to the points lost on the quizzes and exams and perhaps another half a letter grade by forfeiting some of the insights that you could have leveraged to improve your work on the projects.
Fortunately, there is no reason to forego these points or this insight. The author, Charles Petzold, is an extraordinarily gifted technical writer whose works are very easy to read and follow. Most people actually find CODE enjoyable to read, even to the point of classifying it as "light pleasure reading".
Having said that, it is none-the-less true that the book does, at times, delve into some technical topics to a fair depth and a conscientious and motivated reader could certainly spend some time ensuring that they got everything out of it they could. While you are certainly welcome and encouraged to dig in to that level, rest assured that it is neither needed nor expected for this course. A single pass, perhaps with some pauses here and there to ponder the main gist of what is being conveyed, should suffice.
The text is roughly the same format as some novels and, at about 380 pages, is about the same length as a moderate length novel -- certainly many science fiction novels are twice as long. In an ideal world, you would need to read about ten pages per class. Unfortunately, the material in CODE does not line up neatly enough with the material in Elements to permit that, particularly in the early part of the semester. Thus, for roughly the first week, you will need to read typically three chapters in CODE before each class. Then, for roughly another two weeks, you will need to read one chapter per class. Fortunately, the early material should present little in the way of new concepts, particularly difficult concepts, and the material in Elements is largely the same, thus moving through CODE at an accelerated pace in the first few weeks of the semester should not present much of a challenge. Once we have reached roughly the halfway point in CODE, we will slow the pace down to about one chapter every two classes. At this point we will actually be moving ahead in CODE compared to the material in Elements, which will be starting to get a bit more difficult and time consuming. But this pace will allow us to finish CODE just as the Elements project reach the final three chapters, which involve writing a compiler and an operating system. Having completed the material in CODE before undertaking these tasks will not only free up some valuable time, but also allow you to start with a pretty decent "big picture" understanding of what you are setting out to do.
Finally, you might be wondering how thoroughly you are expected to know the material in CODE for the quizzes and exams. The quizzes are largely a non-issue because they are open note and so you can have the text available and use it while you are taking the quiz. The questions on the final exam that are related to CODE will be drawn exclusively from the questions asked on the quizzes, thus you will have the complete set of questions that are fair game prior to the exam. Most of the questions will tend to look at concepts that you should understand and be able to apply or reason your way through. Few questions will be "trivia" questions that require you to memorize specific facts and figures.