CS 106S: Coding for Social Good

Winter 2020-2021


If you have not received the Zoom link to our class, please contact the staff at cs106s-win2021-staff@lists.stanford.edu!

Welcome to CS106S! Our next class will be Thursday March 11, 2021 at 4:30 P.M. PST (UTC-8). You can use this website to see what time that is in your timezone. Can't wait to see you there!

Note for Course Shopping: If you plan to shop CS 106S for Winter 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-win2021-staff@lists.stanford.edu as soon as possible so that we can accommodate.


Survey course on 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. Introduces students to JavaScript and the basics of web development. 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.

Class Details

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


Cooper de Nicola (cdenicol@stanford.edu)

Matthew Early (mmearly@stanford.edu)

Liza Goldberg (lizagold@stanford.edu)

Miles McCain (mccain@stanford.edu)

Priti Rangnekar (pritir@stanford.edu)

Andy Jin (andyjin@stanford.edu)

Shridhar Athinarayanan (shriathi@stanford.edu)

Ismael Castro (ismael01@stanford.edu)

Staff Contact Email Address: cs106s-win2021-staff@lists.stanford.edu

Class Objectives

By the end of the course, students are expected to have:

Student Expectations

Students are expected to attend class each week and participate respectfully 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. Respectful 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.

Stanford Policies

All students are expected to abide by Stanford's Honor Code.

Winter 2020-2021 Online Virtual Classroom

Per university guidelines for Winter 2020-2021, we will be offering this course virtually through an online learning environment. Once it becomes available, students will be provided with a Zoom link to join class every week.

Students with Documented Disabilities

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066, URL: http://studentaffairs.stanford.edu/oae)

Tentative Winter 2020-2021 Course Topics and Schedule

Week 1 (1/14): Introduction to Javascript I and Web Development (Cooper) Slides Starter Code Solutions

Week 2 (1/21): Introduction to Javascript II and Cryptography/Web Security (Miles) Slides Starter Code Solutions

Week 3 (1/28): Sentiment Analysis via Refugee Tweets (Matthew) Slides Starter Code Baseline Algorithm Solution Tf*Idf Solution

Week 4 (2/4): K-Nearest Neighbors Via Cancer Diagnosis (Shridhar) Slides Starter Code Solutions

Week 5 (2/11): COVID-19 and Matching Algorithms (Priti) Slides Starter Code Solutions

Week 6 (2/18): Algorithmic Bias via COMPAS (Ismael) Slides Starter Code

Week 7 (2/25): CS for Climate Change (Liza) Slides Starter Code (open an incognito window and sign in with your Google Earth Engine account) Completed Code (incognito again) GEE Account Creation Instructions

Week 8 (3/4): Mental Health via ELIZA Chatbot (Andy) Slides Starter Code

Week 9 (3/11): CS + Social Good Speaker Panel (Various former and current CS+Social Good members)

There will be no class Week 10.