Welcome to CS 106S!

CS 106S is a survey course on the applications of fundamental computer science concepts from CS 106B/X to problems in the social good space (such as health, government, education, and environment). Each week consists of in-class activities designed by student groups, local tech companies, and nonprofits. Some of the topics we will cover include mental health chatbots, tumor classification with basic machine learning, sentiment analysis of tweets on refugees, and matching algorithms in the context of COVID-19. Prerequisite/corequisite: CS 106B or CS 106X.

What are the objectives of this class?

We know you are being equipped with the tools to make super cool stuff. However, sometimes it is difficult to see where these tools fit in the larger scheme of things. We want to show you ways to put the skills you have learned to good social use! Here are our objectives:


For students to gain awareness about the applicability of technology and computer science to enact social good in the world.


For students to gain exposure to the variety of current projects and efforts to use computer science for social good.


For students to learn how to utilize their skills to build tools and projects that create positive social impact.

Course Details

Here are the logistics surrounding the class. We are excited for a new and inciteful quarter!

Student Expectations

Students are expected to attend class each week and participate in class lectures, discussions, and exercises. Every week will have a check-off form with some questions from class and feedback prompts for the teaching team. This will be the way we check your attendance.


Students will be graded on the basis of attendance and participation. Participation and attending a minimum of 8 out of 9 classes are requirements to receive credit. In the case that a student will miss more than one class due to extenuating circumstances, please contact the teaching staff to receive an excused absence.

Meeting Time

CS 106S meets every Thursday from 4:30-5:50 P.M. PDT (UTC-7). The course will be offered in the online virtual format per university guidelines for Spring 2020-2021 instruction. Students will receive 1 unit of S/NC credit.

Course Shopping

If you plan to shop CS 106S for Spring 2020-2021, please enroll in CS 106S on Axess, since the course Zoom link will be provided to enrolled students. If you do not have units to enroll, please email cs106s-spr2021-staff@lists.stanford.edu as soon as possible so that we can accommodate.

Async Students

Lectures will not be recorded. However, students with special circumstances - such as those in distant time zones - may complete class work asynchronously. Please reach out to the course staff as soon as possible to arrange asynchronous participation. Note that a general scheduling conflict is not a sufficient reason to attend asynchronously.


Cooper De Nicola

Dr. Katie Creel

Miles McCain

Matthew Early (Guest Lecturer)

Andy Jin

Priti Rangnekar

Shridhar Athinarayanan

Course Staff Email: cs106s-spr2021-staff@lists.stanford.edu

Tentative Spring 2020-2021 Course Topics and Schedule

Week/Date Course Topic Materials
Week 1 (4/1) Introduction to Javascript I and Web Development (Cooper)
Week 2 (4/8) What is Social Good? (Katie)
Week 3 (4/15) Introduction to Javascript II (Miles)
Week 4 (4/22) Sentiment Analysis via Refugee Tweets (Matthew)
Week 5 (4/29) Mental Health via ELIZA Chatbot (Andy)
Week 6 (5/6) COVID-19 and Matching Algorithms (Priti)
Week 7 (5/13) K-Nearest Neighbors via Cancer Diagnosis (Shridhar)
Week 8 (5/20) Algorithmic Bias via COMPAS (Matthew)
Week 9 (5/27) CS + Social Good Speaker Panel (Various former and current CS+Social Good members)

There will be no class Week 10.