Computer Organization & Systems

Announcements

  • Final exam practice compilation posted Mon Oct 15 by Cynthia Check the final exam logistics page for advice, topics, and practice exams. You'll especially want to study Julie's most recent exam and the practice problems compilation that I've just posted.

  • Assign6 posted Mon Oct 15 by Cynthia Check the assignments page for some FAQs about assignments generally, as well as a link to the instructions for assign6. The assignment is due Tuesday after Thanksgiving (it should take just over one week to complete, which is how much time you have if you do NOT work over Thanksgiving, since it is our intention that you rest in that time).

  • Assignment stats so far and upcoming deadlinesMon Nov 5 by Cynthia Here are some class distribution stats for the graded assignments so far, for your reference (remember you can check your own scores on the Gradebook). Assign0: range 6-20, average 19, median 20, stdev 2. Assign1: range 3-80, average 71, median 76, stdev 11, 69% on time. Assign2: range 11-80, average 72, median 76, stdev 8. Assign3: range 2-90, average 81, median 84, stdev 12. And for planning purposes, here are the upcoming due dates: assign5: Friday 11/9, assign6: Tues 11/27 (please do NOT work on it over vacation--the number of days it is out is intended to be enough without using vacation days), assign7: Fri 12/7.

  • Myth down, assign3 grace period extended Wed Oct 24 by Cynthia Due to the power outage in Gates, which took out the myth machines, the grace period for assign3 is extended by 12 hours, until Thursday noon. In the mean time, you can work on assign3 and assign4 by logging in to rice.stanford.edu (same username/password).

  • Assignment stats so far Sat Oct 20 by Cynthia Here are some class distribution stats for the graded assignments so far, for your reference (remember you can check your own scores on the Gradebook). Assign0: range 6-20, average 19, median 20, stdev 2. Assign1: range 3-80, average 71, median 76, stdev 11, 69% on time. Assign2: still being graded, 64% were on time.

  • Assign3 posted Mon Oct 15 by Cynthia Check the assignments page for some FAQs about assignments generally, as well as a link to the instructions for assign3. The assignment is due Monday Oct 22 at 11:59pm.

  • Assign2 posted Tues Oct 9 by Cynthia Check the assignments page for some FAQs about assignments generally, as well as a link to the instructions for assign2. The assignment is due Monday Oct 15 at 11:59pm.

  • Assign1 posted Mon Oct 1 by Cynthia Check the assignments page for some FAQs about assignments generally, as well as a link to the instructions for assign1. The assignment is due Monday Oct 8 at 11:59pm.

  • Labs schedule and signups Wed Sep 26 by Cynthia Hi everyone, due to unexpectedly large enrollment in CS107 this quarter (to be clear: we expectd it to be large, just not quite this large!), we ran out of lab spots. The good news is that the department provides extra TAs in cases when enrollments are unexpectedly large. So we will grow our staff to match our enrollment numbers, and with more TAs comes more lab sections (dates/times). I apologize for any stress at this time, but rest assured we will accommodate everyone in the class' needs. --CBL

  • Assign0 posted Mon Sep 24 by Cynthia Check the assignments page for some FAQs about assignments generally, as well as a link to the instructions for assign0. The assignment is due Monday Oct 1 at 11:59pm.

  • Welcome all! Sat Sep 22 by Cynthia Our first lecture is Monday September 24 11:30am in NVidia Auditorium. We are looking forward to meeting you and starting off a great quarter together! I've been getting some emails with questions, so I've updated the FAQ. It covers Qs like is lecture recorded, can I take a conflicting class, and more. Please check it out, hope that helps!

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 11:30-12:50pm in Nvidia Aud; Note that this is shorter than what Axess says. We will only use the full Axess-listed timeslot for Midterm exam.

Labs: Tue/Wed/Thu various times Gates B08

Instructors:

Cynthia

TAs:

Charissa

EmilyL

EmilyM

Kevin

MaxL

Michal

Petar

Reynis

Rifath

Sushain