CS 9 Syllabus (Spring 2022)
I’m looking for information specific to Spring 2022.
You can find the instructors, lecture times and locations, office hour information, and more on the homepage.
Course Goals
By the end of the course, students should
- Understand the stages of the CS technical recruitment process
- Have a better understanding of how to achieve their personal career goals
- Improve their skills at solving technical interview problems
Soft Prerequisite
CS 106B or equivalent coding ability. We expect you to be familiar with basic data structures (arrays, sets, hash tables, queues, heaps…) and to be comfortable with at least one programming language.
Lectures
We’ll do our best to record lectures with a personal laptop, but we don’t have any professional means of doing so. We will manually upload the lecture recording to Canvas after each lecture. Feel free to email Andrew (adbenson@) if it’s been 24 hours and the recording is still not available.
Tuesday lectures will discuss the CS technical recruiting process.
Thursday sessions will be focused on interview problem-solving. In a typical session, we’ll provide three problems of varying difficulty and give you time during the first half of class to choose one or two to work on. We’ll spend the second half of class walking through the solution to a problem together.
Course Materials
- Lecture Recordings: You can find them on Canvas in the “Panopto Course Videos” section.
- Textbook: None required, but if you do want a book as an extra resource, we recommend Cracking The Coding Interview (6th Edition) by Gayle Laakmann McDowell. We have asked for some copies to be placed on reserve at the Terman Engineering Library.
- Discussions: On Ed.
- Homework: Attendance and homework are submitted on Gradescope.
- Office Hours: See the homepage for times and locations. Remote office hours are held on Zoom. Zoom links can be found on Canvas. We may adjust office hours according to demand.
Waitlisted Students and Auditors
Waitlisted students and auditors are welcome to attend in-person class, space-permitting. (This is a change from a previous policy.)
If you are a Stanford student and do not have access to course materials, email Ian (itullis@) to request access.
Grading
CS 9 is graded on a Satisfactory / No Credit basis. We expect that everyone should be able to earn a grade of Satisfactory.
To earn a grade of Satisfactory, you must accumulate a total of at least 25 points during the quarter, which ends on June 1. Here’s how you can earn points:
- (1 point) Attend class in-person, and fill out the attendance entry on Gradescope, which requires a password we give out during the lecture.
- (1 point) Watch a lecture recording, and fill out the attendance
entry on Gradescope.
- To receive a point, this must be done within a week of the actual class, and before the end of the quarter on June 1.
- After watching the lecture recording, you can email Ian (itullis@) to get the password. For Thursday lecture recordings, please also include your attempt at one of the problems.
- (0.5 points/half-hour) Spend time outside of class doing work that
helps you prepare for the technical recruitment process.
- Your work should be tangible and quantifiable (e.g. “applied to two internships; revised draft of resume”) and undeniably related to the technical recruitment process.
- This is capped at 2 hours (2 points) per week to encourage you to spread out your preparation.
- This is also capped at 15 hours (15 points) over the course of the quarter.
- To receive your points, fill out the Gradescope entry within a week of the week in which you did this work.
There are 19 lectures this quarter, so if you attend them all, you would only be required to spend 6 hours doing work outside of class. We highly recommend you attend lectures so you have the opportunity to ask questions and engage, but we chose a flexible policy so that you have choices if you are worried about being symptomatic.
Here are some examples of outside-class activities that could count for points:
- working on your resume or getting resume advice or a resume review from someone else
- practice interview questions alone or with a friend
- studying data structures or algorithms that you feel less comfortable with (but you may not double-count this work with another class)
- looking for and applying to internships and jobs
Honor Code
Our grading system puts a lot of trust in you, the students. For example, we trust that you do not share the passwords for lectures with other students, and that you only obtain them from attending live lecture or emailing the instructors. We trust your reports of outside-class work as well. Please confirm our belief that our trust in you is well-placed.
Other Resources
- Join the Stanford recruiting mailing list to receive information about opportunities to network with companies on campus.
- Interview Problem-Solving Practice:
- Grind 75, a LeetCode study plan recommender
- LeetCode
- HackerRank
- TopCoder
- Google Code Jam
- Introduction to Machine Learning Interviews
Accommodations
If there is anything we should know or can do to help you succeed in this class, please send an email to both instructors and attach any letter you may have from the Office of Accessible Education. Please visit oae.stanford.edu for more information.