Colby College

CS 232, Computer Organization
Syllabus

Spring, 2008
9:00-9:50 MWF, Keyes 102
Instructor: Dale Skrien
Office: 404 Mudd, ext. 3256, e-mail: djskrien
Home phone: 623-3909 (8am-8pm)
Office hours: Tues 11-2, Fri 2-4

Prerequisites: CS 151

Texts: Structured Computer Organization, 5th ed., by Andrew Tanenbaum

Software: CPU Sim 3.5.1 for Windows, Linux, and MacOS X

Course web site: http://www.cs.colby.edu/djskrien/cs232/

Homework: Assigned, collected, and graded usually daily.

Programming Projects: Assigned regularly, usually weekly or biweekly.

Midterm Exam: Wed. March 19

Grades: The course grade will be determined as follows:

projects30%
midterm 30%
final exam 35%
homework & attendance5%

The minimum grade you will receive is shown below. Grades may be raised and plusses or minuses added at the instructor's discretion.

90-100%A
80-89%B
70-79%C
60-69%D
below 60%F

Course Outline:

During the semester we will mostly follow the text, covering mainly the material in the chapters on digital logic, microprogramming, conventional machine language, operating system, and assembly language.

There will be many programming assignments, mostly using the software package CPU Sim, which allows you to create your own computer at the register level, including all the machine instructions, and then it simulates the actions of your computer as it runs your machine language and assembly language programs. This product has excellent debugging features, including the ability to step forward and backward (Wow! Don't you wish other packages such as Eclipse or BlueJ would let you do that?) through your program. More information about this package can be found on the CPU Sim web site. CPU Sim should have already been installed for your use on the Macintoshes in the Olin lab and the Mudd Lab.

If you have a Windows, MacOS X (but not OS 9 or earlier), or Linux machine of your own, you are welcome to copy CPU Sim onto it free of charge. In order to run it, you will need to install Java 1.4 or higher on your machine. You can download Java 1.5 or 1.6 for Linux or Windows from the web site: java.sun.com. Java 1.5 comes preinstalled with the latest version of MacOS X.

Classroom activity: Before each class, I will expect you to review the material from the previous day. Since the new material always depends on previously covered material, reviewing will help you understand the new material as it is presented in class. Also, before each class, I expect you to read (but not necessarily completely understand) the section of material to be covered in the next class. This will help you develop skills in reading and understanding written materials. There will be many opportunities in class for discussion and you will not be able to participate if you haven't reviewed the old material and read the new material. During discussions, I do not expect you always to give correct explanations or answers to my questions, but I do expect you to try to give reasons for your answers.

Attendance: You are expected to attend every class. As a class member, your regular attendance is a social, as well as an individual, obligation. Class discussion is an essential feature of this course that only you can provide. Your absence affects the continuity of the class, my effectiveness in presenting ideas, and the group's responses to those ideas. Therefore, unexcused absences will adversely affect your course grade. Flagrant absenteeism will result in your failing the course. You are responsible for all information presented in class, whether or not you are there.

Late assignments: I am giving you about twice as much time as I estimate you will need to write each of your programming projects. Therefore I will accept no excuse for not handing your project solutions in on time, except for the excuse of being sick more than half the time given for the assignment (and that excuse requires a slip from the health center). Each day your program is late, your score on that program will be reduced by one full letter grade below what you would have received if it had been handed in on time. If you think you may be ill during the second half of the time given for the assignment or if you have a sporting event that will take time away from studies during the second half of the time given for the assignment, then you better plan to finish the assignment in the first half of the time given for the assignment.

Academic dishonesty: You may discuss homework or project assignments with classmates, but all work you turn in must be your own. For a complete discussion of my expectations, please read Expectations of Working Together and Individually. In addition, I expect you to help minimize the opportunities for others to succumb to the temptation to cheat. In particular, I expect you to remove all of your code from public machines after every session.

Homework: There will always be text material to be studied. Daily homework exercises will be assigned in most classes and should be done before the next class meeting. These exercises will be collected, corrected, and returned, and a grade will be recorded. Homework provides the main opportunity for you to learn the material. However, I also want to give you credit for honest effort, even if it didn't lead to the correct answer. Therefore the homework portion of your final grade will be based partly on your homework grade but mostly on whether or not you regularly hand in reasonable attempts at the assignments. That is, I will grade you partly on whether you actually managed to come up with a correct solution but mostly on whether you worked hard and tried to solve the problems. In homework assignments, you are encouraged to work with other students.

Active Learning: Please come see me any time you have questions. Office hours are the best time to come by, but feel free to come by at other times too, although just before class is usually a bad time to reach me since I am busy with last-minute class preparations. Please feel free to make an appointment if you prefer. Many of the concepts we will cover build on each other. If you find yourself stuck trying to understand something, it will only make catching up later that much worse. Whether you are aware of it or not, one of the advantages of Colby over larger colleges and universities is that we have relatively small classes, and we have faculty who are willing to take the time to help you learn when you ask. It frustrates us when we miss opportunities to pull students out of confusion.

Miscellaneous Information: