|
Computer Science 240
Computer Networks
Fall 2008
Welcome to CS240
By now you are quite comfortable writing and executing your own computer programs. However, you may be less familiar with how exactly the computer works its magic with the programs you have written. This course opens up the "black box" that is the modern digital computer, exposing the many layers that lie hidden beneath the application programming
level you lived in in CS111. Topics include an overview of
computer organization, an introduction to digital logic, basic datapath and
control implementation, the conventional machine level, assembly language
programming, and a brief overview of operating systems. Course
requirements will be discussed on the first day.
Prerequisite: CS111
Distribution: Mathematical modeling
Semester: Fall, Unit: 1.25
Textbook
The text this
semester is Computer Organization and Design: The Hardware/Software Interface the written by David A. Patterson and John L.
Hennessy and published by Morgan Kaufmann. Copies of the text are available in the College Bookstore.
Laboratory
This course has a
3 hour laboratory meetings taught by Jean Herbst Wednesday afternoons. Please see the laboratory website for
details.
Course Materials
CS240
CS240 course materials for each class will be handed out
at the beginning of each lecture. Copies are available in .pdf format using
the links on this page and require the Adobe Acrobat Reader program for
on-screen viewing and printing. This program is installed on most public
computers at Wellesley College. If your computer does not have a working copy
of Acrobat Reader, it is available for free from Adobe on all major computer
platforms. Click on the button to the left to download Acrobat Reader. Note
that there are plug-ins that allow you to read .pdf files directly from your
browser; again, these are installed on most public computers and are freely
available from Adobe.
Course Conference
The course
conference, CS240_Fall08, will contain announcements and changes to the
schedule. Please check this conference before each class and especially
before an assign is due. In addition, the conference will contain a section
for CS240 students ask and answer questions among themselves concerning
course material and assignments. You may discuss the homework in general
terms, suggest where to go in the text or lecture notes to help someone get
started, or you may help clarify an ambiguous question. However, please do
not post your solutions either complete or partial. I will check the
conference regularly to help with any unanswered questions.
Transparencies
Copies of course transparencies will be available at the beginning of each
lecture. Copies may be obtained using the following links. These notes were
prepared using materials supplied by the authors of our text, David Patterson and John Hennessy. Additional materials may be found on the course CD that comes with the text.
- No
laboratory
Wednesday, September 3
- Computer organization and the abstraction
hierarchy
Thursday, September 4
- Introduction to MIPS
Monday, September 8
-
Lab
1 -- Working with MIPS & SPIM
Wednesday, September 10
- Decisions
Thursday, September 11
- Procedures
Monday, September 15
- Lab 2 -- Stack programming and procedures
Wednesday, September 16
- MIPS addressing modes
Thursday, September 18
- Translating and running a program
Monday, September 22
- Lab 3 -- Hangman
Wednesday, September 24
- Putting it all together
Thursday, September 25
-
Pointers and arrays (no additional slides)
Monday, September 29
- Lab 4 -- More Hangman (no additional notes)
Wednesday, October 1
- Numeric representation
Thursday, October 2
- Digital logic level
Monday, October 6
- Lab 5 -- Electrical and digital laboratory concepts
Wednesday, October 8
- Midterm examination
Thursday, October 9
- Fall break
Monday, October 13
- Lab 6 -- Binary arithmetic and transistor gates
Wednesday, October 15
- Basic digital circuits
Thursday, October 16
- Design of the Arithmetic Logic Unit (ALU)
Monday, October 20
- Lab 7 -- Boolean logic & basic digital circuits
Wednesday, October 22
- Flip-flops
Thursday, October 23
- Memory organization
Monday, October 27
- Lab 8 -- Latches, flip-flops, registers, and memories
Wednesday, October 29
- Assessing performance
Thursday, October 30
- More performance assessment (no additional slides)
Monday, November 3
- Lab 9 -- Data and microcomputer bus design
Wednesday, November 5
- Building a datapath
Thursday, November 6
- In control
Monday, November 10
- Lab 10 -- Datapath design
Wednesday, November 12
- Pipelining
Thursday, November 13
- Pipelined MIPS
Monday, November 17
- Lab 10 -- Control Unit
Wednesday, November 19
- Cache basics
Thursday, November 20
- Improving cache performance
Monday, November 24
- Happy
Thanksgiving
Wednesday -- Friday, November 23 -- 25
- Virtual memory
Monday, December 1
- Lab 12 -- MIPS machine
Wednesday, December 3
- Introduction to OS
Thursday, December 4
- Review
Monday, December 8
Homework Sets
All assignments are due at the beginning of class on the due dates announced
when distributed and given below. Once graded homework is returned and
solutions posted (usually on the class following the day the assignment was
due) no late work for that assignment will be accepted. Copies of assignments
may be obtained using the following links.
- Assignment 1 due Monday, September 15
- Assignment 2 due Monday, September 22
- Assignment 3 due Monday, September 29
- Assignment 4 due Monday, October 6
- Assignment 5 due Monday, October 27
- Assignment 6 due Monday, November 3
- Assignment 7 due Monday, November 10
- Assignment 8 due Monday, November 17
- Assignment 9 due Monday, November 24
- Assignment 10 due Monday, December 10
Randy Shull -- rshull@wellesley.edu
Computer Science 240, Fall 2008
Last Modified November 10, 2008
Page Expires December 31, 2008
|