CS 21SI: AI for Social Good
Students will learn about and apply cuttingedge artificial intelligence techniques to realworld social good spaces (such as healthcare, government, education, and environment). Taught jointly by CS+Social Good and the Stanford AI Group, the aim of the class is to empower students to apply these techniques outside of the classroom. The class will focus on techniques from machine learning and deep learning, including regression, support vector machines (SVMs), neural networks, convolutional neural networks (CNNs), and recurrent neural networks (RNNs). The course alternates between lectures on machine learning theory and discussions with invited speakers, who will challenge students to apply techniques in their social good domains. Students complete weekly coding assignments reinforcing machine learning concepts and applications. Prerequisites: programming experience at the level of
CS107, mathematical fluency at the level of
CS103, comfort with probability at the level of
CS109 (or equivalent). Application required for enrollment.
Terms: Spr

Units: 2

Grading: Satisfactory/No Credit
Instructors:
Piech, C. (PI)
CS 103: Mathematical Foundations of Computing
What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in firstorder logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and firstorder logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole prin
more »
What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in firstorder logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and firstorder logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole principle, mathematical induction, finite automata, regular expressions, the MyhillNerode theorem, contextfree grammars, Turing machines, decidable and recognizable languages, selfreference and undecidability, verifiers, and the P versus NP question. Students with significant proofwriting experience are encouraged to instead take
CS154. Students interested in extra practice and support with the course are encouraged to concurrently enroll in
CS103A. Prerequisite: CS106B or equivalent. CS106B may be taken concurrently with
CS103.
Terms: Aut, Win, Spr, Sum

Units: 35

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
Instructors:
Fang, F. (PI)
;
Lee, C. (PI)
;
Liu, A. (PI)
;
Schwarz, K. (PI)
;
Alvarez, J. (TA)
;
Brickner, A. (TA)
;
Hoag, E. (TA)
;
Kravitz, J. (TA)
;
Le, T. (TA)
;
Liang, D. (TA)
;
MayerHirshfeld, R. (TA)
;
Melloni, J. (TA)
;
Murphy, D. (TA)
;
Noyola, T. (TA)
;
Saini, D. (TA)
;
Saleh, M. (TA)
;
Smith, R. (TA)
;
Sriram, P. (TA)
;
Valdivia, H. (TA)
;
Zhu, M. (TA)
CS 103A: Mathematical Problemsolving Strategies
Problem solving strategies and techniques in discrete mathematics and computer science. Additional problem solving practice for
CS103. Inclass participation required. Prerequisite: consent of instructor. Corequisite:
CS103.
Terms: Aut, Win

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Lee, C. (PI)
;
Schwarz, K. (PI)
CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280)
Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Methods include: string algorithms, edit distance, language modeling, the noisy channel, machine learning classifiers, inverted indices, collaborative filtering, neural embeddings, PageRank. Applications such as question answering, sentiment analysis, information retrieval, text classification, social network models, spell checking, recommender systems, chatbots. Prerequisites:
CS103,
CS107,
CS109.
Terms: Win

Units: 34

UG Reqs: WAYAQR

Grading: Letter or Credit/No Credit
Instructors:
Jurafsky, D. (PI)
;
Chen, J. (TA)
;
CruzAlbrecht, L. (TA)
...
more instructors for CS 124 »
Instructors:
Jurafsky, D. (PI)
;
Chen, J. (TA)
;
CruzAlbrecht, L. (TA)
;
Kabaghe, C. (TA)
;
Khandelwal, U. (TA)
;
Mendelsohn, J. (TA)
;
Mistele, M. (TA)
;
Pattabi, V. (TA)
;
Plattner, C. (TA)
;
Quinn, M. (TA)
;
Redmond, S. (TA)
LINGUIST 180: From Languages to Information (CS 124, LINGUIST 280)
Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Methods include: string algorithms, edit distance, language modeling, the noisy channel, machine learning classifiers, inverted indices, collaborative filtering, neural embeddings, PageRank. Applications such as question answering, sentiment analysis, information retrieval, text classification, social network models, spell checking, recommender systems, chatbots. Prerequisites:
CS103,
CS107,
CS109.
Terms: Win

Units: 34

UG Reqs: WAYAQR

Grading: Letter or Credit/No Credit
Instructors:
Jurafsky, D. (PI)
;
Chen, J. (TA)
;
CruzAlbrecht, L. (TA)
...
more instructors for LINGUIST 180 »
Instructors:
Jurafsky, D. (PI)
;
Chen, J. (TA)
;
CruzAlbrecht, L. (TA)
;
Kabaghe, C. (TA)
;
Khandelwal, U. (TA)
;
Mendelsohn, J. (TA)
;
Mistele, M. (TA)
;
Pattabi, V. (TA)
;
Plattner, C. (TA)
;
Quinn, M. (TA)
;
Redmond, S. (TA)
LINGUIST 280: From Languages to Information (CS 124, LINGUIST 180)
Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Methods include: string algorithms, edit distance, language modeling, the noisy channel, machine learning classifiers, inverted indices, collaborative filtering, neural embeddings, PageRank. Applications such as question answering, sentiment analysis, information retrieval, text classification, social network models, spell checking, recommender systems, chatbots. Prerequisites:
CS103,
CS107,
CS109.
Terms: Win

Units: 34

Grading: Letter or Credit/No Credit
Instructors:
Jurafsky, D. (PI)
;
Chen, J. (TA)
;
CruzAlbrecht, L. (TA)
...
more instructors for LINGUIST 280 »
Instructors:
Jurafsky, D. (PI)
;
Chen, J. (TA)
;
CruzAlbrecht, L. (TA)
;
Kabaghe, C. (TA)
;
Khandelwal, U. (TA)
;
Mendelsohn, J. (TA)
;
Mistele, M. (TA)
;
Pattabi, V. (TA)
;
Plattner, C. (TA)
;
Quinn, M. (TA)
;
Redmond, S. (TA)
Filter Results: