CS 213: Introduction to Computer Systems, Spring 2006

 

You can evaluate the class using the CTEC Online system which will be open from Monday, May 22, 2006 to Sunday, June 11, 2006. Your feedback is highly appreciated.

 

Instructor:

Aleksandar Kuzmanovic (Office Hours: Wed 10-noon, Tech L457)

Teaching Assistant:

David Choffnes (Office Hours: Tu, Thr 1:00-2:30, Ford 2-217)

Undergraduate Assistant:

TBA

Lecture Time:

MW 2-3:20

Lecture Location:

Tech LR3

Recitation Time:

Tu, 5-6:30pm

Recitation Location:

Tech MG28

Enrollment Limit:

30

Communication

·  Newsgroups (cs.213.announce and cs.213.discuss) The newsgroups are available on news.cs.northwestern.edu

Important Handouts

·  Syllabus (.doc)

·  Physics To Logic (.doc)

·  Unix Systems Programming In A Nutshell (.doc)

·  Sockets In A Nutshell (.doc)

·  Concurency (pdf)

·  Distributed and Parallel Systems (pdf)

Programming Assignments

·  Data Lab (pdf) (Out: 3/27, In: 4/12)

·  Bomb Lab (pdf) (Out: 4/12, In: 5/1)

·  Exploit Lab (pdf) (Out: 5/1, In: 5/15)

·  Malloc Lab (pdf) (Out: 5/15, In: 5/31)

Homework Assignments

·  HW 1: Integer and Floating Point Number Representations (doc) (Out: 3/29, In: 4/10) 

·  HW 2: De-compiling Assembly Code (pdf) (Out: 4/10, In: 4/24)

·  HW 3: Memory and Cache (doc) (Out: 4/24, In: 5/10)  

·  HW 4: Virtual Memory and I/O (doc) (Out: 5/17, In: 5/31)

Lecture-related pointers

·  Dave's Recitation Slides

·  First (ppt)

·  Second (ppt)

·  Third (ppt)

·  Fourth (ppt)

·  My Lecture Slides
       ·  March 27 (ppt)

                               ·  March 29 (ppt)

                               ·  April 03 (ppt)

                               ·  April 05 (ppt)      

                               ·  April 10 (ppt)

       ·  April 12 (ppt)

       ·  April 17 (ppt)

       ·  April 19 (ppt)

       ·  April 24 (ppt)

       ·  April 26 (ppt)

       ·  May 1 (ppt)

       ·  May 3 (ppt)

       ·  May 8 (ppt)

       ·  May 10 (ppt)

       ·  May 15 (ppt)

       ·  May 17 (ppt)

       ·  May 22 (ppt)

       ·  May 24 (ppt)

       ·  May 31 (ppt)

·  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)


Aleksandar Kuzmanovic

Last modified: Thu May 25 10:08:11 CDT 2006