Course Outline

This course will cover modern computer architecture. Computer Architecture: A Quantitative Approach (fourth edition) , by Hennessy and Patterson, will serve as the textbook providing the roadmap for the course. Specific topics related to parallel programming, scientific computing, and compilers will be covered in greater details and may use supplementary reading material, to be decided later.

Topics and Focus Areas

The course will follow the structure of the textbook, especially Chapters 1 through 5 although, certain sections my be skipped, depending on the time. Some of the material from Appendices A, B, and C will also be covered through a combination of lectures and self-study. Appendices D through H may be considered for class presentations. Remember that you may be asked to read material on your own to cover some of the gaps.

The course will aim to cover three supplementary areas, in addition to architecture: architecture-specific compiler issues, parallel programming, and scientific computing. The textbook will provide preliminary background on these topics, but additional material may be referenced to delve in these topics deeper. Pointers will be provided to any supplementary material used in the course.

Required Reading

The schedule page will be regularly updated with the required reading related to each topic covered in class. Since there are no exams, there will be an increased emphasis on self-study. This means that you may be asked to read background material that will not be covered explicitly in class. Similarly, you will be expected to make up for any deficiencies in your background by self-study. You may request the instructor for appropriate reading material on specific topics if you are at a loss to find it yourself.

Grading

There will be no exams in the course. The evaluation will be based on 2-3 assignments (approx. 25%), one final project (approx. 40%), class participation (approx. 10%), and answering questions raised from time-to-time in class on the course blog provided to you (approx. 25%).

Assignments an homework questions will be done individually. Final project may be done in small teams of two or three. While doing the assignments or answering questions on the blog, you must provide appropriate references to any sources of information or material that you use, which is not originally yours, clearly noting the parts that were obtained from external sources. In absence of such a reference, if any material submitted by you is found to be copied, it will be considered plagiarism. The university as well as the school has strict policies regarding academic dishonesty, including plagiarism.

Assignments will involve some amount of programming and will be designed to enhance your understanding of modern architectures discussed in class. A possible list of final projects will be provided, but you are encouraged to propose a project topic of your own. Project topics will be selected based on their potential to become research projects with clear possibility of submission to peer-reviewed conferences or workshops. Class participation will include actively participating in discussions and making at least one presentation on a topic of your choice (out of a list) during the semester. The list of topics open for student presentations will be made available during the course of the semester.