Created by Chris Piech
In CS106B you are going to learn great things! The main objective of the course is to learn how to model and solve complex problems with computers.
Date | Topic | Files | Reading | Assignment | |
---|---|---|---|---|---|
[Using Abstractions] |
|||||
Jan 4 | Course Overview | Chapter 1 | |||
Jan 6 | Functions | Chapter 2, 3 | Life (due Jan 15th) | ||
Jan 8 | Vectors and Grids | Section 4.3, 5.1 | |||
Jan 11 | Stacks and Queues | Section 5.2, 5.3 | |||
Jan 13 | Maps and Sets | Chapter 5 | |||
Jan 15 | The Right Priority | None | ADTs (due Jan 25th) | ||
Jan 18 | No Class | None | |||
[Recursion] |
|||||
Jan 20 | Introduction to Recursion | Chapter 7 | |||
Jan 22 | Fractals | Section 7.5, 8.4 | |||
Jan 25 | Recursive Exploration | Section 8.2 - 8.3; 9 | Meta Acad. (due Feb 3rd) | ||
Jan 27 | Recursive Backtracking | Chapter 9 | |||
Jan 29 | Big O | Chapter 10 | |||
Feb 1 | Memoization | Chapter 10 | |||
[Under the Abstraction Hood] |
|||||
Feb 3 | Classes | Chapter 6 | Boggle (due Feb 15th) | ||
Feb 5 | Pointers | Chapter 12 | |||
Feb 8 | Linked Lists I | Chapter 12 | Midterm (Feb 9th) | ||
Feb 10 | Linked Lists II | Chapter 11 | |||
Feb 12 | Binary Heap | Section 16.5 | |||
Feb 15 | No Class | None | PQueue (due Feb 24th) | ||
Feb 17 | Hashing | Chapter 15 | |||
[Trees + Graphs] |
|||||
Feb 19 | Trees I | Chapter 16 | |||
Feb 22 | Trees II | Chapter 17 | |||
Feb 24 | Binary Search Trees | Chapter 17 | Huffman (due March 2) | ||
Feb 26 | Graphs | Chapter 18 | |||
Feb 29 | Search | Chapter 18 | |||
Mar 2 | Fast Search | Chapter 18 | Trailblazer (due Mar 11) | ||
Mar 4 | Minimum Spanning Tree | Chapter 18 | |||
[End of Class] |
|||||
Mar 7 | Web Applications | None | |||
Mar 9 | Lit up C++ | None | |||
Mar 11 | Final Class | None | Final Exam (March 14) |
In addition to lecture, you must sign up for a weekly 50-minute section. In order to take CS 106B, you must sign up for a section between 5:00P.M., Thursday, January 7, and the close of enrollments at 5:00P.M. on Sunday, January 10. Please use the signup form at http://cs198.stanford.edu/section/. Important note: Do not use Axess to sign up for sections; section enrollments made through Axess are simply ignored.
Your final grade in this course will be calculated using the following weights:
Section Participation | 10% |
Programs | 50% |
Midterm | 15% |
Final | 25% |
Each of the exams is scaled to take account of the difficulty of the exam, which is nearly impossible to assess in advance. The other components and the final grade are not curved. If everyone does brilliantly in this class, everyone gets an A.
CS 106B requires seven programming assignments, which are due on the dates given in the syllabus. Except for Assignment #7 (which is due at the very end of the quarter), your section leader will grade each of your assignments and then discuss how well you have done (and how you can improve on future assignments) in an interactive, one-on-one session. Assignments are graded separately for functionality and style.
Each of the assignments is due at 5:00P.M. on the day specified in the syllabus. Assignments are submitted electronically using the procedure described in the first assignment. Important note: all assignments are due at 5:00P.M. sharp on the dates indicated on the assignment handout. Assignments submitted after 5:00 will be considered late.
Because each of you will probably come upon some time during the quarter where so much work piles up that you need a little extra time, every student begins the quarter with three free “late days.” To avoid any ambiguity, a “day” is defined as a class day. Thus, if your assignment was due on Friday but turned in the following Monday, that assignment would be one day late. Note: You cannot use late days on Assignment #7, which is due at the end of the quarter. After your late days for the quarter are exhausted, programs are assessed a late penalty of one category point per late day used (a ✓+ turns into a ✓, and so forth). Late days are valuable, and it pays to keep some around for the harder assignments toward the end of the quarter. In all cases, assignments must be turned in within a calendar week of their published due date.
In special circumstances (such as extended medical problems or other emergencies),
extensions may be granted beyond the late days. To request an extension, send e-mail to
the TA (Megan Faulk
Three late days. A “day” is defined as a class day.