CS 0447
Computer Organization and Assembly Language Programming
Spring 2000
Instructor
Mark Moir (moir@cs.pitt.edu)
225 Alumni Hall,
Phone: 624-8407
Office Hours: Mondays and Wednesdays, 3:30-5:30.
If you are unable to make these times, I am also available by
appointment.
Class Times
Mondays and Wednesdays, 5:45pm-7:05pm, 104 Thaw Hall
Teaching Assistants
All teaching assistants will hold their office hours in Eberly 330, phone 624-8843.
If you cannot make their office hours, send email and they will try to set up an
appointment with you.
Philippe Chaintreuil (pecst13@pitt.edu)
Colleen Mullin (clmst68@pitt.edu)
William Schrier (wjsst23@pitt.edu)
Office Hours:
Monday 12:00pm-2:00pm
Tuesday 2:00pm-3:30pm
Thursday 7:15pm-8:45pm
Friday 11:00am-12:30pm
There will be two TAs on duty
from 12:30-1:30 on Mondays and on Thursday evenings, and one TA
at all other times listed.
Recitations
Recitations will be held on Mondays and Wednesdays in 332 Eberly Hall
from 7:15pm until 8:05pm. A TA will be prepared to discuss whatever you
want: homeworks, class material, or projects. Recitations are not
mandatory, except in some special cases. Recitations in the week of
January 10th are mandatory. Recitations in the week of January 24th
are mandatory, and will be held in a different location, to be
announced.
Course Description
In this course, we will study the basics of assembly language, the
conversion from assembly language to machine language, the
relationship between the machine language and the machine executing
it, how it is possible to build a machine that executes instructions,
what makes a good architecture and how we compare architectures. We
will write several programs in MIPS assembly language for the MIPS
R2000/R3000 RISC architecture. We will use the SPIM simulator for the
projects.
Textbooks
Computer Organization and Design - The Hardware/Software Interface
By David Patterson and John Hennessy
Second Edition - Morgan & Kaufmann.
Requirements and grading
Click here to
see the schedule of classes, material to be covered, homework and
project assignments and due dates. You are required to read this web
page frequently in order to know what work is due when, etc.
Your grade will be determined according to the following break-down.
Note that the majority of your grade is determined by exams. However,
projects and homework assignments will help to prepare you for the
exams, so you are advised to take them seriously.
In-class exam 1, Monday, February 14th, 15%
In-class exam 2, Wednesday April 3rd, 20%
Final exam, Monday April 24th, 40%
Four programming projects, 16%
Homeworks and quizzes 9%
Grades will be posted on the class web page by secret code. It
is your responsibility to check these grades frequently, and to
bring any errors to my attention early.
Policy on cheating and late homeworks and projects
Programming projects and homeworks are to be individual
efforts. Collaboration is considered cheating. Cheating on exams,
homeworks, or projects will be dealt with severely. Possible
penalties include an "F" in the course and Academic Integrity
Violation Reports to the Dean. (Furthermore, some or all exams will
have questions that you may not be adequately prepeared for if you
have not worked on the projects and understood them. These questions
will be worth a significant number of points. Thus, it is in your own
best interests to do all of your projects alone and be sure you
understand every aspect of them.)
Late work will be accepted only under extenuating circumstances, and
may incur a late penalty. Exams will not be rescheduled except under
extraordinary circumstances.
Course Outline
We will cover Chapters 1, 2, 3, 4 and 5 from the textbook, as well as
Appendices A, B and C. If time permits, we will also cover parts of
Chapter 8, and touch on issues from Chapter 6.