Computer Organization & Systems

Announcements

  • Grade reports for assign7 Mon Jun 18 by Julie Link to your online grade report was sent in an email to your sunet@stanford.edu address or visit your Gradebook. Median score 115/125 -- super!

  • Graded final exam Fri Jun 16 by Julie You can now review your graded final on Gradescope.com. Here is our solution and histogram. Our never-at-rest TAs are now working on grading heap allocators, we hope to have those back by end of the weekend. Course grades get worked out Monday and will be published in Axess on Tuesday. Hope you are all enjoying the start of summer!

  • Reminder: assign7 due tonight Wed Jun 6 by Michael Just a reminder that heap allocator is due tonight (Wed 6/6). Those who find themselves needing a bit more time can use the one day grace period, but please take note that we will not accept submissions after tomorrow (Thu) night, as this would cut into your (and the TAs') final exam schedules.

  • Grade reports for assign6 Wed Jun 6 by Michael Link to your online grade report was sent in an email to your sunet@stanford.edu address or visit your Gradebook. Median score 79/84 -- great work!

  • Final exam, Wed June 13th Mon Jun 4 by Julie The last stop on your CS107 journey! Please see exams page for more info and practice problems.

  • Lab attendance records Sun Jun 3 by Julie Your Gradebook should now have up-to-date info for all 8 labs. We ask for your help in ensuring our records are accurate and complete. Lab credit is earned for attending in person and sincerely participating. If your gradebook entries do not match reality, i.e. missing credit when attended or credit improperly awarded, please let us know asap.

  • Grade reports for assign5 Tue May 29 by Julie Thanks to the TAs for working through these over holiday weekend! Median score 33/35! (Note: one batch expected to come out later today. If your score not available, hold tight and thanks for your patience)

  • assign7 posted Sun May 27 by Julie Heap allocator -- the final frontier! You are ready, my young systems warriors, go forth and conquer! Assignment 7 due Wed 6/6. Please take note of abbreviated one day grace period for late submissions (cannot encroach on final exams!)

  • Grade reports for assign4 Mon May 21 by Julie Link to your online grade report was sent in an email to your sunet@stanford.edu address or visit your Gradebook. Median score 85/90 -- strong trendline classwide continues!

  • assign6 posted Sun May 20 by Julie Watch your step- the infamous binary bombs are here! Assignment 6 due Sun 5/27.

  • Graded midterms Mon May 14 by Julie Link to access your graded midterm online at Gradescope.com was sent in an email to your sunet@stanford.edu address). Here is our solution and histogram.

  • assign5 posted Sat May 12 by Julie A light assignment to follow up midterm: exercises for floats and assembly. Assignment 5 due Friday 5/18.

  • Grade reports for assign3 Wed May 9th by Julie Link to your online grade report was sent in an email to your sunet@stanford.edu address or visit your Gradebook. Median score 86/90 -- congrats on some mighty fine work!

  • Midterm approaching Thu May 3 by Julie The midterm will be next Friday in class. Please see exams page for more info and practice problems.

  • assign4 posted Tue Apr 24 by Julie Void* and function pointers, the final frontier. You now have the entirety of the C language at your command! Assignment 4 due Monday 5/7.

  • Grade reports for assign2 Mon Apr 30 by Julie Link to your online grade report was sent in an email to your sunet@stanford.edu address or visit your Gradebook. Median score 76/80 -- way to go!

  • assign3 posted Tue Apr 24 by Julie A call to arms to all memory warriors! Next up: Assignment 3 due Monday 4/30.

  • Grade reports for assign1 Mon Apr 23 by Julie Link to your online grade report was sent in an email to your sunet@stanford.edu address or visit your Gradebook. Median score was a whopping 76/80 (including over 100 completely perfect scores, wow!) Super nice job!

  • assign2 posted Tue Apr 17 by Julie Go forth and conquer, young C-string masters! Assignment 2 ready and waiting for you, due Monday 4/23.

  • Grade reports for assign0 Fri Apr 13 by Julie Thanks to our TA crew for turning these around so fast! We sent an email to your sunet@stanford.edu address with a link to your online grade report. You can also access reports from the Gradebook. Median score was 20/20 -- way to go on snapping up those points!

  • Code reading for lecture Thu Apr 12 by Julie Code, code, and more code! Lectures will continue on with more hardcore C. See my note on Piazza about previewing code before lecture to help navigate the tricky waters ahead.

  • assign0 posted Tue Apr 3 by Michael Assignment 0 has been posted, due Mon 4/9. This small assignment is designed to help you get your feet wet with unix and introduce you to some of the tools you'll be using throughout the quarter.

  • Welcome all! Fri Mar 30 by Julie Our first lecture is Monday April 2nd 12:30pm in NVidia Auditorium. We are looking forward to meeting you and starting off a great quarter together!

  • Website up for spring quarter Fri Mar 30 by Julie Please come on in and browse around! Curious to know if lecture is recorded this quarter, what textbook we will use, or other logistics? The FAQ under the "Getting Help" menu above answers common questions from prospective students. Our piazza forum is also open for business if you want to spark a conversation or ask a question.

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 12:30-1:50pm in Nvidia Aud

Labs: Tue/Wed/Thu various times Gates B08

Instructors:

Julie

Michael

TAs:

Charissa

Chris

Cindy

EmilyL

EmilyM

Gabbi

Kevin

Li

MaxD

MaxL

Michal

Ran

Wesley