Course Information for CS152: Computer Architecture and Engineering
Catalog Description: Computer Architecture and Engineering
5 units. Three hours of lecture per week, plus one section per
Lectures: Tuesday and Thursday, 9:30AM-11:00AM, 310 Soda
Section: Thursday, 2:00-3:30PM, 320 Soda
All Quizzes held during lecture times.
Asanović, Associate Professor, CS Division, EECS Department
Email: krste at eecs
Office Hours: Mondays 2:00-3:00pm, 579 Soda Hall (email to confirm)
TA: Andrew Waterman
Email: waterman at eecs
Office Hours: Mondays 3:30-4:30pm, 711 Soda Hall
See also Departmental Grading Guidelines for Undergraduate Courses.
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.
There will be 5 in-class quizzes covering the material learned in
labs and problem sets. These will be closed book with no calculators
or computers allowed. There is no final exam in this class.
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
the Virtutech Simics
full-system machine simulator. 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.
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.
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
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 or three. 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.
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 has a
that will be checked by the instructional staff. See
for instructions on connecting.
Currently Simics will run on ilinux1.eecs, ilinux2.eecs,
and ilinux3.eecs. You may want to use other servers for writing
code or compiling, and you can see a full list of them at
The following textbook is required for the course:
Note that the 4th 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.