CS 24: Introduction to Computer Systems

Instructor: Joe Vanderwaart

TAs: Keegan McAllister (keegan) and Sami Zerrade (szerrade at g mail)
Lab Hours: Tuesdays 8-10 p.m., Wednesdays 9-11 p.m.

Announcements

Schedule, Lectures & Readings

Week   MondayWednesday
31 Mar 1. What is this about? [pdf]
Digital Logic [No Slides]
2. Computing with Electrons [No Slides]
7 Apr 3. Computer Arithmetic; IA-32 Assembly Language [pdf] 4. Introducing the VM24 Virtual Machine [pdf]
14 Apr 5. Subroutines [pdf] 6. Data Representation [pdf]
21 Apr 7. Advanced Control [pdf] 8. Memory Management [pdf]
28 Apr 9. Automatic Memory Management [pdf] 10. Object-Oriented Programming [pdf]
5 May 11. Compiler, Assembler, Linker [pdf] 12. VM24 Linking; Virtual Memory
12 May 13. Introduction to Concurrency 14.
19 May 15. 16.
26 May 16. 17.

Assignments

Unless specified otherwise, all labs are due at 4 a.m. on a Thursday.

Links

Assembly Programming

VM24

Collaboration Policy

Unlimited collaboration between classmates is allowed only until you start implementing your own solution. Once you have started implementing your solution, you may discuss programming language issues, you may offer or receive advice on specific bugs in your programs or others', and you may share test cases (if applicable), but you may not examine others' work directly (and should not show your work to others). Online research on the subject matter of the course is allowed, but obtaining working solutions from any source is prohibited.

Clarification

Paraphrased from a student's question and the official answer.