Computer Organization & Systems

Announcements

Course information

CS107 is the third course in Stanford's introductory programming sequence. Our CS106 courses provide students with a solid foundation in programming methodology and abstractions and CS107 follows on to build up their programming maturity and expand breadth and depth of experience. The course will work from the C programming language down to the microprocessor to de-mystify the machine. With a complete understanding of how computer systems execute programs and manipulate data, you will become a more effective programmer, especially in dealing with issues of debugging, performance, portability, and robustness. Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, elements of code compilation, optimization of memory and runtime performance, and memory organization and management.

The class has two lectures a week and a weekly lab designed for hands-on learning and experimentation. There will be significant programming assignments and you can expect to work hard and be challenged by this course. Your effort can really pay off - once you master the machine and advance your programming skills to the next level, you will have powerful mojo to bring to any future project!

Lectures: Mon & Fri 11am-12:15pm in 320-105

Labs: Tue/Wed/Thu various times Gates B08

Lecturer: Julie Zelenski

TAs: Matt Anderson, Ivaylo Bahtchevanov, Duyun Chen, Patrick Harvey, Mindy Huang, Peter Johnston, Shantanu Joshi, Andrew Molina, Sumi Narayanan, Keziah Plattner, Nat Roth, Eyuel Tessema, James Tran, Jacky Wang


Duyun

Eyuel

Ivaylo

Jacky

James

Keziah

Matt

Mindy

Mo

Nat

Peter

Patrick

Shantanu

Sumi