Hi there đź‘‹ and welcome to CS106B (SSEA edition)!
CS106B Programming Abstractions is the second course in our introductory programming sequence. The prerequisite CS106A establishes a solid foundation in programming methodology and problem-solving in Python. You also may be coming into this course from an AP course in Java, or with some other programming language. That's okay! CS106B will acquaint you with the C++ programming language and introduce advanced programming techniques such as recursion, algorithm analysis, data abstraction, explore classic data structures and algorithms, and give you practice applying these tools to solving complex problems.
We're excited to share this great material with you and have a superb team of section leaders that will support you through the challenges to come. We hope you will find the time worth your investment and that you enjoy your growing mastery of the art of programming!
Teaching Team
Our wonderful undergraduate section leaders.
I) Course Essentials
Our course website is located here at https://cs106b.stanford.edu. Our website is your go-to for all course materials (schedule, lecture slides, assignment, section handouts, course policies, and more). Please regularly visit so that you are up-to-date with the latest announcements and course information.
Paperless is our tool for assignment submission. You use Paperless to submit assignments, schedule grading sessions and view grading feedback.
II) Course Topics
Learning Goals
In the SSEA CS106B, we're going to go through about three weeks or so of the regular CS106B curriculum, to give you a bit of a headstart on the course. After you’re finished with it, we hope you’ll have achieved the following learning goals:
- Be prepared to get a refresher on C++ and the first few weeks. You'll be ahead in terms of being ready for the first assignment, and you'll be able to concentrate on the material a bit better becasue it won't be 100% new.
- Know how to read a CS106B assignment to determine what you need to know to do the assignment.
- Know the approximate level of work that assignments take for the course.
Class Schedule
While the below schedule is subject to change over the course of the quarter, we will cover the following topics (in approximate order):
- C++ basics
- Abstract data structures
- Recursion (just an introduction)
Prerequisites
The prerequisite for CS106B is completion of CS106A and readiness to move on to advanced programming topics. A comparable introductory programming course or experience (including high school AP courses) is often a reasonable substitute for Stanford’s CS106A. If you are unsure if this course is the right for you, read more about course placement.
Assignments
There will be two assignments in SSEA. They won't be graded, but we will give you feedback and you'll get to see what is required for 106B assignments.
IV) Course Resources
Software
The official CS106 programming environment is Qt Creator, which is an editor bundled with C++ compiler and libraries. The software runs on Windows, Mac, and Linux. The Qt Installation Guide has instructions for installing the tools onto your computer.
V) Honor Code
Although it won't be particularly important in SSEA, as a student taking a Stanford course, you agree to abide by the Stanford Honor Code, and we expect you to observe our course-specific Honor Code expectations. We will have lots of collaboration during SSEA, but please note that during a regular CS106B course, you will likely have to work alone on your assingments. You can discuss the overview of assignments with friends, but the only people you can talk to about your code are the instructor(s) and Section Leaders. You cannot look at other students' code! That's a hard rule that is enforced.
The CS department employs powerful automated plagiarism detection tools that compare assignment submissions with other submissions from the current and previous quarters, as well as related online resources. The tools also analyze your intermediate work, and we will run the tools on every assignment you submit.
The vast majority of you are here to learn and will do honest work for an honest grade. We celebrate and honor your commitment. Because it’s important that all cases of academic dishonesty are identified for the sake of those playing by the rules, we will refer all cases of concern to the Office of Community Standards.