CS 106S: Coding for Social Good

Fall 2020-2021


Thanks for coming - we hope you enjoyed the class!

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

Welcome to CS106S! Our first meeting will be Thursday September 17, 2020 at 10:30 A.M. PDT (UTC-7). Note that this is 2 hours earlier than the originally listed time in ExploreCourses. You can use this website to see what time that is in your timezone. We will be providing a Zoom link as we get closer to this date. Can't wait to see you there!

Note for Course Shopping: If you plan to shop CS 106S for Fall 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-aut2021-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 10:30-11:50 A.M. PDT (UTC-7). The course will be offered in the online virtual format per university guidelines for Fall 2020-2021 instruction. Students will receive 1 unit of S/NC credit.


Cooper de Nicola (cdenicol@stanford.edu)

Andy Jin (andyjin@stanford.edu)

Alex Oseguera (aoseg@stanford.edu)

Penny Shi (pennyshi@stanford.edu)

Manuka Stratta (mstratta@stanford.edu)

Guest instructor: Matthew Early (mmearly@stanford.edu)

Staff Contact Email Address: cs106s-aut2021-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 6 out of 7 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.

Fall 2020 Online Virtual Classroom

Per university guidelines for Fall 2020, 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 Fall 2020-2021 Course Topics and Schedule

Week 1 (9/17): Introduction to Javascript I and Web Development (Matthew) Slides Starter Code Solutions

Week 2 (9/24): Introduction to Javascript II and Cryptography/Web Security (Cooper) Slides Starter Code Solution Code

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

Week 4 (10/8): COVID-19, The Draw, and Matching Algorithms (Cooper) Slides Starter Code Solution

Week 5 (10/15): Algorithmic Bias via COMPAS (Alex) Slides Starter Code

Week 6 (10/22): K-Nearest Neighbors Via Cancer Diagnosis (Andy) Slides Starter Code Solutions

Week 7 (10/29): Elections (Penny; Guest Lecturers Todd Davies, Kaili Lambe, and Joel Breakstone) Kaili's Slides Todd's Slides Todd's Paper (No assignment/checkoff form)
Mozilla Internships, Manifesto, Tech Ethics Report, Initiative

Week 8 (11/5): Mental Health via ELIZA Chatbot (Alex) Slides Starter Code

Week 9 (11/12): CS + Social Good Speaker Panel (Various former and current CS+Social Good members) (No assignment/checkoff form)

There will be no class Week 10.