4003-520 Computer Architecture - Course Syllabus

Last Updated 2010/02/28 14:45:50
Name: Warren R. Carithers
Office: 3617 Golisano (70-3617)
Phone: (585) 475-5393
Email: wrc AT cs.rit.edu

1. Course Prerequisites

This course has the following prerequisite structure:

These are prerequisites, not corequisites - to succeed in Computer Architecture, you should have already passed all of these courses, or their equivalents. Taking them at the same time as Computer Architecture is not sufficient! See me immediately if you are missing one or more of the prerequisites, or you may be dropped from Computer Architecture without further warning!

2. Books

The required textbook for this course is Computer Architecture: A Quantitative Approach, Fourth Edition, by John Hennessy & David Patterson; Morgan Kaufmann, 2007. Make sure you get the fourth edition, as there are significant changes from the earlier editions!

Not all of the material we will cover this quarter comes from this text; you will have to depend on handouts and class notes for the other material.

The programming assignments for this course must be done in C++. Although one is not required, having a C++ textbook is a good idea. One reasonable reference is C++: How To Program, by Deitel & Deitel; Prentice-Hall.

3. Grades

Your final grade will be based on three components: a series of programming assignments, a midterm exam, and a final exam. In addition, homework assignments will be made to give you the opportunity to practice various techniques. The distribution between these groups is:

  10% project 1
  20% project 2
  20% project 3
  25% midterm exam
  25% final exam

3.1. Exams

Two exams will be scheduled for this course. The first is a two-hour midterm exam; the second, a two-hour exam during finals week. The second exam will not be comprehensive. As a somewhat deeper understanding of the material is expected of graduate students, the graduate and undergraduate versions of the exams may not be the same.

Currently, the best guess as to the dates of these exams are:

Last updated: 2010/05/13 14:55:19

3.2. Projects

There will be three programming projects this quarter; as with exams, undergraduate and graduate project requirements may be different.

Programming projects will be done using a component simulation class library written in C++. This means that you must be able to do some elementary C++ programming. If you do not already know how to program in C++ or another object-oriented language, please let me know as soon as possible!

3.3. Problem Sets

In addition to the graded assignments described above, a series of ungraded problem sets and their solutions will be posted to the course assignments page. Their purpose is to help you gain additional experience with the concepts and techniques covered in class. Although these will not be collected or graded, I suggest you attempt to work the problems before looking at the answers, to help ensure that you understand the concepts.

4. Academic Conduct

Academic dishonesty will be dealt with in accordance with DCS and RIT policies.

5. Notes