Overview
Welcome to CS447, Computer Organization and Assembly Language. The goals of the course are to understand how software is run on a processor; to gain the ability to write efficient programs in assembly language and understand how instructions are executed; to understand a simple processor design; to gain knowledge about fundamental components of a computer. Taking MIPS as an example, we will study processor organization (hardware) and write programs (software) in assembly language. We will also study how numbers are represented by computers and computer arithmetic, as well as performance metrics to evaluate different hardware and software implementations.
Class Times
Lectures | Labs |
---|---|
MW 4:30-5:45pm, Lawrn 203 | M: 6-6:50pm (11294) & F: 11-11:50am (12296), SS 5505 |
Contact information
Instructor | Office | Office Hours | |
---|---|---|---|
Prof Jan Wiebe | wiebe [at] cs.pitt.edu | Sennott Square 5409 | T: 3-4pm; TH 2-3pm; or by appt (send email) |
Teaching Assistant | Office | Office Hours | |
---|---|---|---|
José Baiocchi Paredes | baiocchi [at] cs.pitt.edu | Sennott Square 6404 | W: 2-4pm; T,TH: 4:30-6:30pm |
Textbook, Course Materials, and Courseweb
Computer Organization & Design (Patterson & Hennessy) 4rd Ed., Morgan & Kaufmann, 2009.The class will cover sections of Chapters 1-4 and Appendices B, C, and D. The schedule will list the specific sections covered as the class progresses. Also, some additional material will be covered in lectures.
Course materials will be distributed via a course web page http://www.cs.pitt.edu/~wiebe/courses/CS447/Sp10 including syllabus, software, schedule, etc. The schedule links to lecture notes, reading assignments, homework assignments, programming assignments, labs, and solutions.
We will use the MARS MIPS Assembler and Runtime Simulator. You can download the simulator and tutorial materials here
Grades will be available on CourseWeb at http://courseweb.pitt.edu . We will also use CourseWeb for submission of your programming assignment solutions (to the digital dropbox).
Prerequisites
CS 0445 - Data Structures and its prerequisites; CS445 and CS447 may be taken concurrently.Course Requirements
Work | Weight | Comment |
---|---|---|
weekly lab sessions | 15% | Weighted equally |
homework and programming assignments | 25% | Weighted equally |
2 term exams | 30% | Weighted equally |
Final exam | 30% | Cumulative |
Lab Sessions
Lab sessions will be held during recitations (a couple will be held during lecture). You will work in pairs. Variety is the spice of life, so we'll switch up partners periodically. Together, you'll work through examples and explore memory allocation, number representation and computer arithmetic, instruction execution, performance evaluation, processor control, etc. The lab sessions will help you learn the material and will also give you valuable experience explaining things to each other.The labs will be graded S/U (satisfactory/unsatisfactory). You'll earn an S grade for a lab if you attend the session, work with your partner, and complete the lab with reasonable answers. If needed, you can finish the lab after the session. Labs are due one week from the session. Solutions will be made available on the course schedule.
Homework and Programming Assignments
Homework and programming assignments will receive numerical grades. You may discuss the assignments and help each other figure out how to approach the assignment in general, but you must actually answer the questions and write/debug the code by yourself. The assignments must be your own individual work. See the section below on academic integrity.Homework should be submitted in hardcopy, in the TA's mailbox, on the sixth floor of Sennot Square.
Programming assignments should be uploaded to courseweb at http://courseweb.pitt.edu via the digital dropbox. The assignments will specify naming conventions for your submitted files. Your filenames must follow these conventions. The reason for conventions is that they enable the TA to maintain the files in an organized way.
Exams
The questions on the exams will all be similar to something we covered in lecture, on a homework or programming assignment, or on a lab. To study, read the text, and then use the lectures, assignments, and labs to focus studying. Practice the examples without looking at the answer, and then check your answers against the lectures, assignment/lab solutions, and simulator, as appropriate.See "What will be on Exam X" on the schedule to see what will be covered on Exam X.
Exams 1-2 are not cumulative. The final exam is cumulative.
You may bring a copy of the green card that comes with the book with you to exams. Also, some figures from the book will be given to you on some of the exams (this will be indicated in the "What will be on Exam X" files on the course schedule). Otherwise, the exams are closed book and calculator/computer-free.
The material gets more complex as the course proceeds, and later exams build on the stuff covered in the earlier exams. So keep up!
Other Policies and Notes
- Mail will be sent to your pitt account. So, if you don't check your pitt account regularly, you should forward mail from your pitt account to the account you do check.
- Make-up exams will be given only in the event of an emergency , which needs to be documented.
- Late home, programming, and lab assignments will not be accepted.
- Lectures will be mixtures of powerpoint slides, live software demos, and work on the board. The powerpoint slides are mainly to structure the lectures and hold reference information. Please ask and answer questions in lecture!
- If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 140 William Pitt Union, 412-648-7890 or 412-383-7355 (TTY) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.
-
Academic Integrity: Students in this course will be expected to comply with the University
of Pittsburgh's Policy on Academic Integrity Any student suspected of
violating this obligation for any reason during the semester will be
required to participate in the procedural process, initiated at the
instructor level, as outlined in the University Guidelines on Academic
Integrity. This may include, but is not limited to, the confiscation
of the examination of any individual suspected of violating University
Policy. Furthermore, no student may bring any unauthorized materials
to an exam, including dictionaries and programmable calculators.
Plagiarism and cheating are strictly prohibited. Each student is expected to do his/her own work on homework and programming assignments and exams, and each set of partners is expected to do their own work on labs. Offense of this rule will result in a 0 for two assignments or labs. A second offense will lead to an automatic F for the course and the offender may be subject to stronger actions.