EECS 213: Introduction to Computer Systems, Fall, 2018
Instructor: | Peter A. Dinda (Office Hours: Tuesdays and Thursdays, 3:30-5, Mudd 3507) |
Teaching Assistant: |
Conor Hetland (Office Hours: Wednesdays, 5-8pm, Wilkinson Lab) |
Peer Mentors: |
Gino Wang (Office Hours: Mondays, 11:00-12:30, Fridays, 10:30-12, Wilkinson Lab)
Nathaniel Tracy-Amoroso (Office Hours: Mondays, 3-4:30, Fridays, 12-1:30, Wilkinson Lab)
|
Lecture: | Tuesdays and Thursdays, 2-3:20pm, Tech M345 |
Discussion: | Wednesdays, 4pm, Tech L361 |
Midterm Review Session: Wednesday, October 31, 4-6pm, Tech L440 (replaces discussion on that day)
EECS 213 is a required core course in the Computer Science
curriculum in both McCormick and Weinberg. It is also a required
course for CS minors in both schools. 213 can also be taken for
credit within the Computer
Engineering curriculum.
Communication
We will use Canvas to report grades,
but for nothing else. For
critical announcements, we will send email to the addresses that
CAESAR maintains.
For discussion, we will use Piazza: EECS 213
Piazza Site. Directing your questions to Piazza will likely
produce the fastest response, and everyone else in the class will also
benefit. Piazza is configured to allow anonymous posting.
Accounts, Remote Access, Getting Started with Unix
Handouts
Syllabus (pdf)
Physics To Logic (pdf)
Unix Systems Programming In A Nutshell (pdf)
Sockets In A Nutshell (pdf)
Concurency (pdf)
Parallelism (pdf)
Programming Assignments
Data Lab (pdf) (Out: 9/27, In: 10/16)
Bomb Lab (pdf) (Out: 10/16, In: 11/1)
Attack Lab (pdf) (Out: 11/1, In: 11/15)
SETI Lab (Parallelism Lab) (pdf) (Out: 11/15, In: 12/6)
Homework Assignments
HW 1: Integer and Floating Point Number Representations (pdf) (Out: 10/2 - solutions now available in HANDOUT directory)
HW 2: De-compiling Assembly Code (pdf) (Out: 10/11)
HW 3: Memory and Cache (pdf) (Out: 10/27)
HW 4: Virtual Memory and I/O (pdf) (Out: 11/20)
We will make solution sets for these homeworks available. They will not be graded. Nonetheless, we strongly encourage you to do them in preparation for exams.
Exams
Midterm: Monday, November 5, 6pm, Lunt 105
Covers lectures 1-9 and related reading/materials in syllabus
Midterm Review Session: Wednesday, October 31, 4-6pm, Tech L440 (replaces discussion on that day)
Final: Monday, December 10, noon, Tech M345
Covers lectures 10-20, and related reading/materials in syllabus
Final Review Session: TBA
Resources
The Book's Student Site
Contains many useful FAQs, Primers, etc.
Lecture slides, code, videos, and other materials for the CMU version of the class
Make Introduction (pdf)
Gdb commands (pdf)
Gdb manual (html)
An amazing online compiler
This lets you easily see the assembly that results from C/C++ code
An amazing online disassembler
This lets you easily decode object code back to assembly
The ELF Format (pdf)
Comparison with GAS format and Intel's assembler format (text)
The Intel Architecture Manuals and the AMD Architecture Manuals
Compare and contrast with the beautiful and much mourned DEC Alpha, and with the very much alive and kicking ARM architecture that powers your phone and tablet
Overview of the Linux Kernel (pdf) (This is very old, but still a good intro)
Cygwin Unix Emulation Environment for Windows
Peter Dinda
Last modified: Thu Jun 1 17:23:43 CDT 2017