CSE 410 – Computer Systems

Spring 2007 Syllabus

 

Course Goals

Detailed understanding of

  1. Structure and components of hardware and software systems. Machine organization, including central processor and input-output architectures; memory systems and caches, pipelining, assembly language programming.
  2. Operating systems, including processes, threads, synchronization, virtual memory, and file management.

The idea of this course is to teach you how computers really work, from the chip level up to the user application. The major goal is that when we finish, you will understand what is actually happening when a computer system is running a set of application programs, and so will be able to make good design choices in the future as a developer, project manager, or system customer.

Instructor

Hal Perkins, perkins@cs.washington.edu, CSE548.  See the course web for office hours.

TAs                                 

Daria Craciunoiu
Andrew Hemmaplardh

Prerequisites

CSE 373 (data structures and algorithms)

Course Format

The class meets three times a week for lectures. On your own time, you will have homework to do, including computer programs to design and debug. You will be working on homework more or less all the time, with frequent, inflexible deadlines. You will need to use the Internet to get and turn in assignments and to keep in touch with the course.

Textbooks

There are two textbooks for the course.

The first book is Computer Organization and Design: The Hardware/Software Interface, Third Edition, by Patterson and Hennessy.

The second book, which you won't need for the first few weeks of the course, is Operating System Concepts, 7th Edition, by Silberschatz and Galvin.  As an experiment, this book has been listed as optional, since it is expensive and we only use it for part of the course, but we will refer to it and it will be helpful if you have access to it.

We don’t really care what edition of the books you have, however, when we assign homework problems from the book, you will need to make sure that you do the right problem.

Exams

There will be a midterm and a final exam.

·         Midterm: Friday, April 27th  (subject to change)

·         Final exam: Tuesday, June 5, 2:30 – 4:20

Grades

Grades will be assigned roughly as follows:

·         Homeworks: 50%

·         Midterm: 20%

·         Final: 25%

·         Other (participation, etc.) 5%

Scores for all assignments and tests will be combined to produce a single score from 0-100%.  The final grade will be computed from this score using basically a linear conversion.  Assuming no major disasters (which could happen if a test is way too difficult, but not if it is too easy), your final grade will be at least as follows based on your score: 90% or better: at least 3.5, 70% or better: at least 2.5.  Grades are likely to be more generous than this but they will not be worse.  In other words, you are not particularly in competition with others for your grade: do a good job and you’ll get a good final grade.

You can check your scores online using the links on your MyUW page.

Policies

·         Late Policy: Homeworks are due when they’re due.  No late homeworks.

·         Cheating vs. Collaboration: Let’s just state up front that this is an unresolvable issue. Collaboration, as an aid to learning, is highly encouraged. Cheating is just as highly discouraged.  Any cheating discovered will be brought to the college.   See the CSE academic conduct policies (linked from the course web site) for a more extensive discussion.