CS 213: Introduction to Computer Systems, Spring 2005

Instructor:Peter A. Dinda (Office Hours: Thursdays 2-4pm)
Teaching Assistant:Bin Lin (Office Hours: Tuesdays and Thursdays 10:30-noon)
Undergraduate Assistant:Bob Adolf
Lecture Time:TR 5-6:20
Lecture Location:CS Small Classroom, 1890 Maple
Recitation Time: W, 5-6:30pm
Recitation Location:CS Small Classroom, 1890 Maple
Enrollment Limit:30

Communication

  • Newsgroups (cs.213.announce and cs.213.discuss) The newsgroups are available on news.cs.northwestern.edu
  • Mailing List (You can use SNAP to email to the class)
  • Important Handouts

  • Syllabus (pdf)
  • Physics To Logic (pdf)
  • TLAB
  • Unix Systems Programming In A Nutshell (pdf)
  • Sockets In A Nutshell (pdf)
  • Concurency (pdf)
  • Virtual machines (handed out in class on 5/12)
  • Distributed and Parallel Systems (pdf)
  • Where To Go From Here (pdf - WILL BE UPDATED)
  • Programming Assignments

  • Data Lab (pdf) (Out: 3/31, In: 4/19) contest!
  • Bomb Lab (pdf) (Out: 4/19, In: 5/5) contest!
  • Exploit Lab (pdf) (Out: 5/5, In: 5/19) contest!
  • Malloc Lab (pdf) (out: 5/19, In: 6/2)
  • Homework Assignments

  • HW 1: Integer and Floating Point Number Representations (pdf) (Out: 4/5, In: 4/14)
  • HW 2: De-compiling Assembly Code (pdf) (Out: 4/14, In: 4/28)
  • HW 3: Memory and Cache (pdf) (Out: 5/1, In: 5/17)
  • HW 4: Virtual Memory and I/O (pdf) (Out: 5/24, In: 6/2)
  • Lecture-related pointers

  • Bin's Recitation Slides
  • First (ppt)
  • Second (ppt)
  • Third (ppt)
  • Fourth (ppt)
  • My Lecture Slides
    I am not using slides all that much. Nonetheless, the lectures for which I have used slides are below. You may also find the book's lecture slides to be useful.
  • April 14 (ppt)
  • April 19 (ppt)
  • April 21 (ppt)
  • April 26 (ppt)
  • April 28 (ppt)
  • May 19 (ppt) (Partial)
  • May 24 (ppt) (Partial)
  • The Book's General Lecture Slides
  • Measure your own memory mountains using ECT memperf
  • Java applets showing how gates are built from CMOS transistors
  • Java simulators of gates and more complex circuits
  • Resources

  • Videos (You can also request a DVD or CD from us)
  • Introduction to Unix (Peter Dinda) (Real, Part 1, Real, Part 2)
  • Introduction to CVS (Peter Dinda) (Real)
  • Java Servlets and Server Pages (Andrew Simpson) (Real)
  • PHP for Active Content (David Choffnes) (Real)
  • The Book's Student Site
    Contains many useful FAQs, Primers, etc.
  • The Book's Code
  • Make Introduction (pdf)
  • Gdb commands (pdf)
  • Gdb manual (html)
  • The ELF Format (pdf)
  • Comparison with GAS format and Intel's assembler format (text)
  • The Intel Architecture Software Developer's Manual
  • Volume I: Basic Architecture (pdf)
  • Volume II: Instruction Set Reference (pdf)
  • Volume III: System Programming (pdf)
  • Intel Architecture Optimization: Reference Manual (pdf)
  • Overview of the Linux Kernel (pdf)
  • Cygwin Unix Emulation Environment for Windows
  • Wilson, P., et al, Dynamic Storage Allocation: A Survey and Critical Review, International Workshop on Memory Managment, September, 1995. (pdf)
  • Language-level Virtual Machines Ref
  • OS-level Virtual Machiens Ref

  • Peter Dinda
    Last modified: Mon Jul 17 14:10:48 CDT 2006