CS 106S


Coding for Social Good

๐ŸŒธ Spring 2025 ๐Ÿซ Lathrop 180 ๐Ÿ•ฐ๏ธ Thursday 4:30-6:20pm

CS 106S is a survey course on the applications of fundamental computer science concepts from CS 106B to problems in the social good space (such as health, environment, cybersecurity, trust & safety). Some of the topics we will cover include satellite imagery, tumor classification with basic machine learning, sentiment analysis of tweets on refugees, and the ethical obligation of good security. We introduce JavaScript and the groundwork of web development, with no expectation of prior experience in these areas. The course ends, by tradition, with a bubble tea party on the last day. Recommended prerequisite/corequisite: CS 106B.

News

03/29/25

Welcome to CS106S! Sooooo excited for a fun quarter together ๐ŸŒฑ. Our first class will be Thursday, April 3rd 2025, at 4:30 PM PT in   Lathrop 180.

We encourage all interested students to attend the first class, whether enrolled or otherwise! Historically, we have not had to turn students away from CS 106S for enrollment reasons. Looking forward to meeting and getting to know all of you!

Schedule

Week 1

Introduction, Ciphers, and JavaScript — Apr 3

Slides Starter Code JS Guide Syllabus Checkoff Form

Solution Solution (Extensions)

Week 2

Sentiment Analysis and Refugee Tweets — Apr 10

Slides Starter Code Checkoff Form

Solution Solution (Extensions)

Week 3

CS for Climate Change — Apr 17

Slides Starter Code GEE Setup Checkoff Form Gallery

Week 4

Cancer Detection with KNN — Apr 24

Slides Starter Code Checkoff Form

Solution Solution (Extensions)

Week 5

Cybersecurity and Ethical Hacking — May 1

Slides Catshare Checkoff Form

Week 6

Open Source & Web Software — May 8

Slides Starter Code Checkoff Form Solution

Week 7

Trust and Safety — May 15

Slides Checkoff Form

Week 8

Mental Health — May 22

Slides Starter Code Checkoff Form

Week 9

What's Next? Beyond CS106S, End-Term Boba Party ๐Ÿง‹ — May 29

Slides Checkoff Form

Week 10

No class! Good luck on your finals! ๐Ÿ€.

Course Syllabus

Instructor: Ben Yan

Email: bbyan [at] stanford [dot] edu

Office Hours: I'll be around after class, or email/Slack me and we can find a time! Happy to chat about course material, CS, Stanford life in general, anything!

Faculty Sponsor: Prof. Jerry Cain

Summary

๐ŸŒฒ CS106S is a 1-unit, S/NC course that we run in a relaxed, workshop-style classroom environment. Each week, we'll provide active lecture content in a social good ecosystem (e.g., climate change, health, cybersecurity, trust and safety), opportunites for group discussion, and hands-on activities for you to practice your programming skills and build relevant applications. We will introduce JavaScript, and the basics of web development; no prior experience in these areas is needed or expected. Though please note this is not a dedicated web programming or web applications course, unlike courses such as CS 106AX ๐Ÿ’™, CS 147L, CS 142, or CS 193X.

๐Ÿ‘‹ The course is designed for students who are taking or who have taken CS106Bโ€”though this is not a strict requirement, and anyone is welcome to attend! Please feel free to talk to us on whether CS106S is the best option for you.

๐Ÿงญ CS106S meets on Thursdays, 4:30 - 6:20pm, in Lathrop 180. Except in cases where students miss more than 2 classes (which I'm happy to discuss on a case by case basis, typically with a short, non-coding make-up assignment), no work will be required outside of our class meetings.

๐Ÿ“ฌ If you have any questions, please feel free to email me at bbyan@stanford.edu!

Requirements and Grading

Grading is based on attendance and participation,: to receive credit, students must attend a minimum of 7 out of the 9 weekly classes. If you have to miss more than 2 classes due to extenuating circumstances (e.g., illness, personal crisis, need time to take care of yourself and your well-being, etc.), please reach out to receive an excused absence. You won't have to elaborate; I trust you. If you miss class, please email me as well! Our guiding principles are (1) we understand life can be very stressful and challenging, and so (2) we will always create a path for you to pass the class.

Attendance

To check attendance, each class will have a brief check-off form. It contains some quick questions from class and feedback prompts. I expect it to take no more than 5 minutes, and time is alloted at the end of class to complete itโ€”though for flexibility, the form will kept open until 11:59 PM PT the class day.

Stanford Policies

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

Accommodations

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: 650-723-1066)

FAQ

How can I get involved with CS + Social Good?

The best way to get involved is to contact stanfordcs4good@gmail.com, or to join our mailing list! We send out weekly newsletters with events and opportunities in the tech for social impact space. Everyone is welcome at our events and the email list is the best way to stay informed!


Looking Forward to an Amazing Quarter

Teaching this 1-unit wonder has been a truly wonderful privilege and joy for me, because of all the free boba over the years. Thank you for being here to learn with us, and I hope this will be very fun for you! ๐ŸŒฑ๐ŸŒฑ๐ŸŒฑ