assign3 now posted, but...
Assign3 is now posted, but I would emphatically implore you to spend little to no time working on it until after the midterm. The midterm is worth more points than the assignment, and is a better investment of your time. You'll notice that you have the usual 7 days to work on assign3 even if you don't start until after the exam (not including grace period, which adds more time). I only posted it because some students have unusual schedule constraints such that it would make sense for them to choose the (otherwise less than optimal) route of working on it this week to free up time next week. ASSIGN3 HELP VIDEO: There will be an assignment walkthrough video available via the SCPD site. In the walkthrough video, I give a few pointers to get you started. It should post Wed or Thurs depending on when the SCPD staff gets to it. Tue April 26, by Cynthia
assign2 now posted
This assignment practices void*, callbacks, and malloc/free cleanup. Good times! Tue April 18, by Cynthia
Lab registration opens Wed 10am
Lab regisration will open Wednesday (today!) 10am. Go to the labs page to sign yourself up. Wed April 5, by Cynthia
assign0 now posted
Assign0 is now posted. Bon appétit, dear coder. Details here. Due Monday April 10, 11:59pm PDT. Mon April 3, by Cynthia
Welcome to Spring 2017!
Please come on in and browse around! Are you wondering if there are lecture videos, or other start of quarter logistics? The FAQ under the "Getting Help" menu above answers common questions from prospective students.
Our class piazza is open for business if you want to spark a conversation or ask a question.
Lectures are Mondays and Fridays 12:30-1:50pm in NVIDIA Auditorium (in the basement of Huang building). Looking forward to meeting you! Sun April 3, by Cynthia
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 Auditorium.
Labs: Tue/Wed/Thu various times Gates B08
Instructors: Cynthia Lee