Course Objectives. The goal of this class is to learn and
use C/assembly language, understand the interface between
running programs and the microprocessor, and discover the mysteries
of how the CPU chip in your computer works.
Language and Compilers. The programming language used is C (gcc), and Intel's Pentium assembly language, which needs no compiler (it is, essentially, a human-readable version of what the gcc compiler produces). We may also compare the Intel assembly language with the assembly language for the MIPS chipset (used in the PlayStation 2, for example).
Class Web Pages. The syllabus, policies, lab exercises, homework, and sample code are posted as links from the class website. When available, some lecture notes will be posted as well.
Reading Assignments. Read the sections of the textbook as assigned. While doing the reading, you are encouraged to look at the historical notes (which place the development of microprocessors into context), the exercises, and the problem statements at the end of each section and chapter. Be sure to ask questions about what you don't readily understand.Wikipedia is a reasonable technical resource for more information or background on the topics we'll study and links to primary sources.
Students may discuss ideas for solving an assignment among themselves.
However, each assignment must be your own work unless collaboration is
specifically allowed in the assignment. Turning
in any portion of work written by another is an Honor Code violation and
grounds for disciplinary action as allowed by University policy.
Exams and the Final Exam. Exams may be given during class time or may be take-home. Anyone missing an exam given during class must present me a documented excuse explaining their absence if they are to make it up. The Final Exam is scheduled in advance by the registrar; see the syllabus for your final exam time.
Grading. Grades are assigned according to a method whereby the mean of the top class scores are used to determine the cutoff points for each letter grade; in this way, final scores are based on the performance of the class as a whole. The instructor reserves the right to move grades up or down in the distribution based on factors such as attendance, improved (or not) scores through the quarter, etc.
Stephen P. Carl