Instructors:
Teaching Assistants:
Secretary:
Joan Maddamma
7121 Wean Hall
x8-7656
Joan.Maddamma@cs.cmu.edu
CS 347 presents the principles, characteristics, and trends of computer systems design at a level appropriate for all computer scientists and computer engineers. It expands on the role of a traditional computer architecture course, focussing largely on the hardware design, to include aspects of the complete system, comprising the hardware, operating system, compilers, and application software.
Our intention is to present material that will benefit all computer scientists, even those who are more concerned with software development than with hardware design. By learning more about what is inside ``the box,'' software developers can make more effective use of computers, often achieving dramatic performance gains.
Students will also gain an understanding of the hardware technology that has fueled the rapid progress of computer systems. Since the technology will continue to change and improve, it is important to see how these changes will affect the characteristics of future computer systems.
After completing the course, students should have gained a firm grounding in the following:
J. L. Hennessy, and D. Patterson, Computer Organization and Design : The Hardware Software Interface, Morgan Kaufmann, 1994.
Your participation in the course will involve five forms of activity:
Attendance will not be taken at the lectures or recitation sections. You will be considered responsible for all material presented at the lectures, much of which is not covered to the same depth in the textbook. In addition, you will find the recitations useful for better understanding the course material, the assignments, and the exam coverage.
There will be two types of assignments in this class. Homework assignments will involve solving problems with paper and pencil, and possibly writing and executing small programs. They are intended to reinforce the material covered in the lectures. Laboratory assignments will be multi-week efforts providing in-depth understanding of some aspect of computer system design. They will involve some combination of C and assembly programming, as well as performance measurements. For both types of assignments, you will be allowed to work in groups of up to 3 people. Each group will turn in a single report, identifying the group members. We will let you form and regulate your own groups. You are free to work on your own as well.
The textbook covers much of the material taught in the course. In the schedule shown in this document, you will see the reading assignments associated with each section of the course. It would be a good idea to read over each of these assignments twice--a brief reading before the lecture to become familiar with the basic concepts, and a more thorough reading later to understand the details.
All assignments are due at 3:00 pm on the specified due date. Late assignments will be accepted only if you have arranged for an extension in advance. Such arrangements can be made by contacting one of the instructors, but you should have a good reason for doing so. It is your responsibility to get your assignments done on time. Be sure to work far enough in advance to avoid unexpected problems, such as illness, unreliable or overloaded computer systems, etc.
Each student will receive a numeric score for the course, based on a weighted average of the following:
Grades for the course will be determined by a curve. The total score will be plotted as a histogram, and then approximate cutoff points for the different letter grades will be determined. Individual cases, especially those near the cutoff points may be adjusted upward or downward based on factors such as attendance, class participation, and special circumstances.
All of your assignments allow collaboration, but only with members of your project group. Each assignment must be the sole work of the group turning it in. Assignments will be closely monitored, and students may be asked to explain any suspicious similarities. The following are guidelines on what collaboration outside of your group is authorized and what is not:
Not Cheating:
Cheating:
Be sure to store your work in protected directories.
The penalty for cheating will depend on the severity of the offense and the student's past record in this regard. At the very least the student will be given a score of 0 for the assignment.
Table 1 shows a tentative schedule for the class. The notation ``Hi'' indicates a homework assignment, while ``Li'' indicates a lab. Any changes will be announced on the class news group. An updated schedule will be maintained on the class WWW pages.
Table 1: Tentative Course Schedule
Some of the assignments will require generating and examining assembly code for a MIPS processor. The various DECStations around campus are based on the MIPS architecture. These machines are fast disappearing, but there are still some server machines (unix1.andrew, etc.) with MIPS processors. In addition, the Silicon Graphics workstations on the 5th floor of Wean Hall use MIPS processors.
We will use the World-Wide Web (WWW) as the central repository for all information about the class. You can reach this page via the link labeled ``course, lecture, and seminar home pages'' from the CS home page. The complete URL is:
http://www.cs.cmu.edu/afs/cs/academic/class/15347-s97/www/home.htmlUsing the Web, you can:
For urgent communication with the teaching staff, it is best to send electronic mail (preferred) or to phone. We have also set up a news group for this class, cmu.cs.class.cs347. This group will be used by members of the teaching staff to post announcements and clarifications. You may also post to this group to make queries.
This document was generated using the LaTeX2HTML translator Version .95.3 (Nov 17 1995) Copyright © 1993, 1994, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -no_navigation -split 0 -no_subdir -reuse info.tex.
The translation was initiated by Dave O'Hallaron on Mon Jan 13 22:46:17 EST 1997