4003-520 Computer Architecture - Course Syllabus

Last Updated 2012/03/15 12:46:47

Update history:

2012/03/15: added programming style/documentation notes
2012/03/07: initial version

Name: Warren R. Carithers
Office: 3617 Golisano (70-3617)
Phone: (585) 475-5393
Email: wrc AT cs.rit.edu

1. Course Overview

1.1. Course Goal

The goal of Computer Architecture is to provide students with advanced knowledge of the design of modern computer architectures and to enable them to intelligently evaluate and compare the performance of different architectures.

1.2. Course Outcomes

The following are the intended outcomes for this course:

1.3. 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, Fifth Edition, by John Hennessy & David Patterson; Morgan Kaufmann, 2012. Make sure you get the fifth 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: 2012/05/16 11:27:37

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. RIT and CS Department Policies

4.1. Academic Conduct

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

4.2. Section 504 of the Rehabilitation Act

RIT is committed to providing reasonable accommodations to students with disabilities. If you would like to request accommodations such as special seating or testing modifications due to a disability, please contact the Disability Services Office. It is located in the Student Alumni Union, Room 1150; the Web site is www.rit.edu/dso. After you receive accommodation approval, it is imperative that you see me during office hours so that we can work out whatever arrangement is necessary.

5. Notes