EXAM and SOLUTIONS have been posted.
WHEN: Thursday, Nov. 2, 7-9pm.
Note: If your weekly section time conflicts with the midterm, you must attend a different section that week. Plan early to find one that will work for you!
WHERE: Due to our large class size, the registrar has scheduled us across several rooms, and there is little to no wiggle room, so it is CRUCIAL that everyone go to their assigned room (based on last name). Thanks! Rooms and name assignments are as follows:
- A-CAO: Herrin 175
- CAR-DEN: Educ 128
- DIA-LIM: NVIDIA
- LIN-POO: Skilling
- PRA-VO: Gates BO1
- WANG-Z: Gates BO3
WHAT: The following topics are fair game for testing:
- C++ basics: there will be problems that require you to write code; need very basic console I/O, pass by reference vs pass by value, basic string manipulation, using a struct
- ADTs: Vector, Grid, Stack, Queue, Map, Set, Lexicon
- Recursion: predict outcome of recursive code by reading/tracing, write recursive functions and recursive backtracking functions, understand difference between breadth-first search (BFS) and depth-first search (DFS), wrapper functions
- Big O: state BigO analysis for given code sample (e.g., loops, recursive function)
- Memory, pointers, link nodes: predict outcome of code that uses dynamic memory/pointers by reading/tracing, draw memory diagram for given code sample, write code that manipulates chain of linked nodes, understand dynamically allocated arrays, address-of & operator, dereference * operator, -> operator
- Sections: through Week 5 (week before midterm)
- Homeworks: through assign4 (note: due date is after midterm, but you should understand concepts)
Note that you don't
need the following:
- anything from lecture after Oct 25 (i.e. not including Oct 27, Oct 30, Nov 1)
- file I/O
- anything more than extremely basic console I/O and string manipulation
- HashMap, HashSet
- Writing your own class
- LinkedList class, ArrayList class
HOW: There are some details of rules and procedures for this exam in the Course Information Sheet, but a few reminders:
- You are allowed only 1 page of notes (2 sides, standard 8.5x11 paper).
- You are allowed to bring a copy of the textbook if you have one. (NO digital copies.) If you don't have a copy, one will be available at the front of the exam room for you to use. This copy is shared and does not go back to your seat with you! FWIW, in my experience almost nobody feels the need to refer to the book, since our exams are desigend to test your conceptual understanding and not memorization.
- No calculators, computers, etc.
- The exam is on paper. Bring a pen or #2 pencil. If using pencil, be sure your writing is dark and visible since we will be scanning exams for online grading.
REVIEW SESSION: Tuesday Oct 31 1:30-2:50pm in Skilling Auditorium (lead by SL Nolan!). Will be recorded by SCPD and uploaded same day.
PRACTICE: The following practice exams are based on actual exams from previous quarters:
Welcome to CS106B! I am so excited to meet all of you, and to especially welcome those who are joining our Stanford family for the first time this autumn. We are looking forward to a fun quarter. Class starts Monday September 25th at 12:30pm in NVIDIA Auditorium.