Course Information for CS152: Computer Architecture and Engineering

Spring 2013

Catalog Description: Computer Architecture and Engineering

5 units. Three hours of lecture per week, plus one section per week. Labs. Prerequisites: CS61C.

Class Schedule/Rooms

Lectures: Tuesday and Thursday, 2-3:30pm, 3108 Etcheverry Hall (Note: new room as of 1/31/2013)
Section: Friday, 10:30am-12pm, 9 Evans
All Quizzes held in class during lecture times.

Instructor: Krste Asanović, Professor, CS Division, EECS Department
Email: krste at eecs
Office Hours: Mondays 5-6pm, 579 Soda Hall (email to confirm)

TA: Yunsup Lee
Email: yunsup at eecs
Office Hours: Tuesdays 1-2pm, 751 Soda Hall

Course Grading

The course is organized into five modules, with each module having a problem set, a lab, and a quiz. The grade breakdown is given below, but a failure to complete the majority (at least 3/5) of the labs will result in an automatic F.

15% Problem Sets

We will distribute 5 problem sets for you to practice your understanding of the course material. The problem sets also provide essential background material for the quizzes. The problem sets will be graded primarily on an effort basis, but if you do not work through the problem sets you are unlikely to succeed at the quizzes! We will distribute solutions to the problem sets on the day the problem sets are due to give you instant feedback.

35% Labs

The labs will provide hands-on experience with the interaction of software and hardware, for a variety of machine designs. We will be making extensive use of designs written in the Chisel hardware description language. Each lab includes a directed component to guide students in learning certain concepts, plus an open-ended assignment to allow students to show their creativity.

50% Quizzes

There will be 5 in-class quizzes covering the material learned in readings, labs, and problem sets. These will be closed book with no calculators, phones, or computers allowed. There is no final exam in this class.

See also Departmental Grading Guidelines for Undergraduate Courses.

Late Assignment Policy

Problem sets must be handed in at the beginning of class on the due date, with no extensions possible. Each student gets two "free" extensions of the lab assignments, where labs can be turned in one class after the original due date. No other extensions will be given, unless for serious documented emergencies. An automatic F grade is given if less than three labs are completed.

Collaboration Policy

The problem sets are intended to help you learn the material, and we encourage you to collaborate with other students and to ask questions in discussion sections and office hours to understand the problems. However, each student must turn in their own solutions to the problems.

Students are encouraged to discuss solutions to the lab assignments with other students, but must run through the directed portion of the lab by themselves and turn in their own lab report. For the open-ended portion of each lab, students can work individually or in groups of two. Any open-ended lab assignment completed as a group should be written up and handed in separately. Students are free to take part in different groups for different lab assignments.

Regrade Policy

For addition errors in the total score, return the quiz back to the TA to get it fixed. For regrades, return the quiz to the TA within a week of the quiz being graded with a separate sheet of paper explaining the discrepancy. The staff will carefully regrade the entire quiz, read the reasoning provided, and then make a final decision. Since the entire quiz is being regraded, it is possible the total score could go down as a consequence of previously undiscovered mistakes being found. We therefore recommend that regrade requests only be used when the case is strong and a significant number of points are at stake.


The course will use Piazza for class communication. The course page can be found at

Compute Resources

Currently Simics will run on t7400-1.eecs, t7400-2.eecs, ... t7400-12.eecs. You may want to use other servers for writing code or compiling, and you can see a full list of them at inst.


The following textbook is required for the course:

TextBook Picture J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 5th Edition, Morgan Kaufmann Publishing Co., Menlo Park, CA. 2012.
ISBN: 978-0-12-383872-8

We will also use material from the companion Web site.

Note that the 5th edition is significantly different than the other editions, and it is not recommended that you attempt to use the earlier editions for this course.

The following textbook is recommended to refresh your background and to provide a simpler introduction to some of the basic concepts. Any recent edition should be sufficient for background study.

TextBook Picture D. A. Patterson and J. L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3rd Edition, Revised Printing, Morgan Kaufmann Publishing Co., Menlo Park, CA., June 2007. 

ISBN13: 978-0-12-370606-5
ISBN10: 0-12-370606-8 Paperback