Checkpoint 5 is now live, due at midnight.
Sun Jul 27, by Michael
Assignment 3 Graded
Assignment 3 grades have been released. Median was 94/120.
Thu Jul 24, by Michael
Office Hours Change
Kent's office hours will be from 6-8 tonight.
Wed Jul 23, by Michael
A note on checkpoints
Since checkpoints are take-home evaluations, we cannot require you to complete them without using a computer. However, the purpose of the checkpoints is to prepare you for the final exam, during which you won't have access to a computer (other than the one inside your noggin, of course!). So if you're finding that you need a bit of tinkering or trial-and-error to solve the checkpoints, you should sit down and spend some time reviewing the material. When the final rolls around, you'll need to be completely comfortable with solving these kinds of problems entirely on paper.
Tue Jul 22, by Nate
There was a question today about getting access to the code from
lectures. When there's code, we put it in a Mercurial repo at
/usr/class/cs107/samples/lectXY. For example, you can clone
today's lecture code by running the following:
hg clone /usr/class/cs107/samples/lect12
Make sure to read the Mercurial logs, as code often changes during lecture!
Mon Jul 21, by Nate
Checkpoint 4 is now live, due at midnight.
Sun Jul 20, by Michael
Assignment 2 Graded
Assignment 2 grade reports were sent out late last night. Median score was 85/95.
Thu Jul 17, by Michael
Checkpoint 3 is now live, due at midnight. See checkpoints page.
Sun Jul 13, by Michael
Assignment 1 Graded
Thanks to our amazing TAs, assignment 1 has been graded, and grade report links have been emailed out. Median score was an impressive 95/105, and median style bucket was between a
ok. Nice work, everyone!
Mon Jul 7, by Michael
Checkpoint 2 is underway, due at midnight tonight. See the checkpoints page.
Sun Jul 6, by Michael
Thursday Office Hours in B30
I accidentally forgot about lab in B02 Thursday night, and posted office hours in the same room. Office hours on Thursdays will be in B30.
Wed Jul 2, by Michael
Assignment 0 Graded
We've sent out the assignment 0 grade reports, nad also posted grades for checkpoint 1. Median on assignment 0 was 23/24. Median on checkpoint 1 was a full-credit
+. Great work, everyone!
Tue Jul 1, by Michael
Light Monday Reading
If you're in need of a Monday night coding break, check out this page for a hilarious send-up of programming language history. The best one, of course, is the writeup of your new favorite-but-hate-it language: C.
Mon Jun 30, by Nate
Move to regular lecture room
Happy Monday, everyone. We'll be in our regularly-scheduled lecture room from here on out: NVIDIA Auditorium. See you all in just a couple of hours!
Mon Jun 30, by Nate
Checkpoint 1 out
Checkpoint 1 is now available. See the checkpoints page for the link. You have until midnight (Pacific time) to submit it.
Sun Jun 29, by Michael
Lab Signups Open
Lab signups are now open. See the labs page for the link.
Tue Jun 24, by Michael
Welcome to CS 107!
We're very excited for everything to get underway.
As a reminder (this was mentioned in an email to registered students), lectures will be held in Packard 101 the week of June 23rd (that's 6/23, 6/25, and 6/27). Lectures will be in NVIDIA AUditorium for the rest of hte qarter.
Have a look around the site to familiarize yourself with all that's here, and we'll see you on Monday!
Sun Jun 22, by Michael
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 three 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, Wed, Fri 12:50-2:05pm NVIDIA Aud
Labs: Wed/Thu various times Gates B08
Lecturers: Michael Chang and Nate Hardison
TAs: Kent Koyanagi, Bryan McCann, Shahriyar Pruisken, Junjie Qin