Course Information for CS152: Computer Architecture and Engineering
Catalog Description: Computer Architecture and Engineering
5 units. Three hours of lecture per week, plus one hour of section per
Lectures: Tuesday and Thursday, 5:00-6:30PM, 306 Soda
Section: Friday, 12:00-1:00PM, 258 Dwinelle
All Quizzes held during lecture times.
Asanović, Associate Professor, CS Division, EECS Department
Email: krste at eecs
Office Hours: Mondays 1:30-2:30pm, 579 Soda Hall (email to confirm)
TA: Scott Beamer
Email: sbeamer at eecs
Office Hours: Mondays 10:30-11:30am & Wednesdays 4-5pm, 711 Soda Hall
See also Departmental Grading Guidelines for Undergraduate Courses.
We will distribute 6 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 feedback.
There will be 6 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 on due date. Each student gets two "free"
extensions of the lab assignments, can turn 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. Because of that, it is recommended that
regrade requests only be used when the case is strong and a decent 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.