University of Pittsburgh

Department of Computer Science

 

CS/COE 0447 – Computer Organization and Assembly Language

Syllabus – Fall 2007

 

 

Goals and Course Description

 

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.

 

Textbook, Course Materials, and Courseweb

 

Computer Organization & Design (Patterson & Hennessy) 3rd Ed., Morgan & Kaufmann, 2004.

 

The class will cover Chapters 1-5 and parts of Appendices A and B.

 

Course materials will be distributed via a course web page  http://www.cs.pitt.edu/~wiebe/courses/CS447/Fall07 , including syllabus, software, schedule, etc. The schedule links to lecture notes, homework assignments, programming assignments, labs, and solutions.

 

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, as described below).

 

Also, there is a courseweb Discussion Board for questions, discussion, and information about assignments, labs, lectures, MARS, and the text.  

 

 

Prerequisites

            

CS 0445 – Data Structures (can be taken concurrently)

 

 

Instructor

            

Dr. Jan Wiebe (wiebe@cs.pitt.edu), 412-624-9590, 5409 SenSq

             Office hours: 1pm-2pm Tues, Thurs & by appt (send email to make an appointment)

 

 

 

 

 

Graduate TA

 

       Kiyeon Lee (lee@cs.pitt.edu), 412-624-8239, 5501 SenSq

       Office hours: M 2-4 & W 2-3        

 

 

Lecture/Recitation/Link To learn Hours and Classroom

            

Lecture:      T Th  4 :00 ~ 5 :15    @105 Lawrence Hall

             Recitation 1:  F    11:00 ~  11:50   @5505 SenSq

         Recitation 2:  F     1:00 ~   1:50   @5505 SenSq

        Link-to-Learn office hours [Mike Maksymowych]: T 2:45 ~ 3:50; Th 5:15 ~ 6:15 @ 5712 SenSq 

               (additional time may be added, if needed)

 

Student Evaluation

 

             12-14 lab sessions                                      15%

             4 homework + 3 programming assignments   25%

             3 Term exams                                              35%

             FINAL exam                                                25%

        _________________________________________

                                                                100%

 

 

Lab Sessions

Lab sessions will be held during recitations (a couple will be held during lecture).  You will work in pairs, with partners switching from week to week.   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.  In addition to the graduate TA, Kiyeon Lee, two undergraduate TAs, Toby Horn and Jesse Szwedko, will attend to assist you.

 

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 grader’s mailbox, on the fifth floor of SenSq. 

 

Programming assignments should be uploaded to courseweb at http://courseweb.pitt.edu.  Click on course tools, then digital dropbox.   Please name the file, for example, PA1part1 (for programming assignment 1 part 1), followed by your name.  You need to click on “send file” for the file to be submitted to us.  If you only click on “add file”, the TA and I will not be able to access your submission.

 

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-3 are not cumulative.  The final exam is cumulative.

 

You can 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 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.

·         Late homework, programming, and lab assignments will not be accepted.

·         Students are expected to be present for all exams. Make-up exams will be given only in the event of an emergency, which needs to be documented.

·         Lectures will be mixtures of powerpoint slides and work on the board.  Lecture notes will be available by 6pm the day before, if you want to bring copies.  I suggest you set up your notes so you can easily interleave your handwritten notes with the lecture slides.  Note that there is a “notes” view in powerpoint which might be useful.

 

Academic Integrity

 

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” in the particular assignment, exam, or lab. The second offense will lead to an automatic “F” for the course and the offender may be subject to stronger actions

 

8. Students with disabilities

 

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Office of Disability Resources and Services (DRS), 216 William Pitt Union, 412-648-7890/412-383-7355 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodation for this course.