The prerequisites for this course that I feel are important are:
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!
The book is Computer Architecture - a Quantitative Approach fifth edition, by John Hennessy & David Patterson. It should be available at the RIT bookstore.
A portion of the material for which you are responsible is not in our text. You will have to depend on handouts and class notes for it.
In addition, the labs for this class will require you to code in C++, so a book on C++ is recommended.
Your final grade will be based on a number of components. The grade distribution between these groups is:
| Exams: | 40% |
| Termpaper: | 5% |
| Class Presentation: | 12% |
| Class Presentation Evaluation: | 3% |
| Labs: | 15% |
| Team Project: | 25% |
|
This course uses the
traditional 90/80/70/60 percentage-based grading scale.
Each instructor reserves the right to alter these division points as they see fit at the end of the quarter if they believe it to be necessary, based on the overall evaluation of individual or class performance and effort. |
|
Two exams will be scheduled for this course. The first is a two-hour test covering more than half the course material. An exact date will be announced at least one week in advance. The best estimate right now would be April 4th. The second half of the course will be tested May 9th. The 2nd Exam will not be comprehensive.
The graduate and undergraduate versions of the exams may not be the same. A somewhat deeper understanding of architectural issues is expected of the graduate students.
Students will be working in groups of two to research and present some current topic in computer architecture. Each student will have to write an 8-12 page paper, and together the group will present their research in a 20-25 minute presentation during the 9th-10th week of class.
For the presentation, each group will be required to schedule a time to do a test run of their presentation prior to the actual in-class presentation. The test runs will happen during the 8th-9th week, with sign up for dates/times happening during the 7th week.
The practice presentation is required, and will be graded as part of your presentation grade.
You will be required to attend and evaluate the class presentations from the other groups. These evaluations will make up a part of each teams group presentation grade, and you will be graded on the quality and quantity of the feedback you provide the other groups.
There will be two programming labs in this course. They will involve the use of a computer component simulation package written in C++. This means that you will have to learn how to do elementary C++ programming. Possession of a textbook on the language is recommended. More details on the library we will use and the first assignment will be available very soon.
If you do not already know how to program in C++, or in another object-oriented language, please let the me know as soon as possible!
There will be a single, quarter long, team programming project. This project will require you to design and implement your own instruction set. Like the labs, the project will use the C++ computer component simulation package. In additon the project will have a number of documents due during the quarter.
Note that the homework assignments are not required for graduate students. I still recommend that you do them because they provide a good resource to help you prepare for the exams.
It is a shame that this must be stated at all, but there are always a few students who do not abide by the rules of proper academic conduct. For the record:
You can find the complete RIT's Academic Honesty Policy (section 18 of the RIT Students Rights and Responsibilities handbook) by following the links.
Those who behave in a dishonest or unethical manner in computer science courses, or in their dealings with the Computer Science Department, are subject to disciplinary action. In particular, dishonest or unethical behavior in the execution of assigned work in a computer science course will be treated as follows:
Furthermore, the following action will be taken for each person involved in the incident, whether currently enrolled in the course or not:
For more details refer to the DCS Policy on Academic Dishonesty. For most of you, such warnings are unnecessary. We have to mention this because otherwise some students would say, ``but you never said I couldn't just copy Johnny's work and turn it in as my own.''