## CS 11SI: How to Make VR: Introduction to Virtual Reality Design and Development

In this hands-on, experiential course, students will design and develop virtual reality applications. You'll learn how to use the Unity game engine, the most popular platform for creating immersive applications. The class will teach the design best practices and the creation pipeline for VR applications. Students will work in groups to present a final project in building an application for the Oculus Quest 2 headset. Enrollment is limited and by application only. See
https://cs11si.stanford.edu for more information and the link to the application. Prerequisite:
CS 106A or equivalent

Terms: Win
| Units: 2

Instructors:
Borenstein, J. (PI)

## CS 22A: The Social & Economic Impact of Artificial Intelligence (INTLPOL 200)

Recent advances in computing may place us at the threshold of a unique turning point in human history. Soon we are likely to entrust management of our environment, economy, security, infrastructure, food production, healthcare, and to a large degree even our personal activities, to artificially intelligent computer systems. The prospect of "turning over the keys" to increasingly autonomous systems raises many complex and troubling questions. How will society respond as versatile robots and machine-learning systems displace an ever-expanding spectrum of blue- and white-collar workers? Will the benefits of this technological revolution be broadly distributed or accrue to a lucky few? How can we ensure that these systems are free of algorithmic bias and respect human ethical principles? What role will they play in our system of justice and the practice of law? How will they be used or abused in democratic societies and autocratic regimes? Will they alter the geopolitical balance of power, and change the nature of warfare? The goal of CS22a is to equip students with the intellectual tools, ethical foundation, and psychological framework to successfully navigate the coming age of intelligent machines.

Terms: Win
| Units: 1

Instructors:
Kaplan, J. (PI)

## CS 24: Minds and Machines (LINGUIST 35, PHIL 99, PSYCH 35, SYMSYS 1, SYMSYS 200)

(Formerly
SYMSYS 100). An overview of the interdisciplinary study of cognition, information, communication, and language, with an emphasis on foundational issues: What are minds? What is computation? What are rationality and intelligence? Can we predict human behavior? Can computers be truly intelligent? How do people and technology interact, and how might they do so in the future? Lectures focus on how the methods of philosophy, mathematics, empirical research, and computational modeling are used to study minds and machines. Students must take this course before being approved to declare Symbolic Systems as a major. All students interested in studying Symbolic Systems are urged to take this course early in their student careers. The course material and presentation will be at an introductory level, without prerequisites. If you have any questions about the course, please email symsys1staff@gmail.com.

Terms: Aut, Win
| Units: 4
| UG Reqs: WAY-FR, GER:DB-SocSci

Instructors:
Adib, D. (PI)
;
Chappelle, M. (PI)
;
Goodman, N. (PI)
;
Han, J. (PI)
;
Icard, T. (PI)
;
Manko, D. (PI)
;
Mon, K. (PI)
;
Srirangarajan, T. (PI)
;
Ta, R. (PI)
;
Taylor, L. (PI)
;
Wu, J. (PI)
;
Xu, R. (PI)
;
Krejci, B. (SI)
;
Adib, D. (TA)
;
Graham, C. (TA)
;
Gupta, S. (TA)
;
Kramer, F. (TA)
;
Luo, C. (TA)
;
Mon, K. (TA)
;
Park, A. (TA)
;
Schouten, T. (TA)
;
Sudirdjo, D. (TA)
;
Wisner, E. (TA)
;
Zhao, A. (TA)

## CS 25: Transformers United

Since their introduction in 2017, transformers have revolutionized Natural Language Processing (NLP). Now, transformers are finding applications all over Deep Learning, be it computer vision (CV), reinforcement learning (RL), Generative Adversarial Networks (GANs), Speech or even Biology. Among other things, transformers have enabled the creation of powerful language models like GPT 3 and were instrumental in DeepMind's recent Alphafold2, that tackles protein folding. In this seminar, we examine the details of how transformers work, and dive deep into the different kinds of transformers and how they're applied in different fields. We do this through a combination of instructor lectures, guest lectures, and classroom discussions. We will invite people at the forefront of transformers research across different domains for guest lectures. Prerequisites: Basic knowledge of Deep Learning (must understand attention) or
CS224N/
CS231N/
CS230. To apply, fill out this form:
https://forms.gle/TzAtqjZ4vnjhNMSy7

Terms: Win
| Units: 1

## CS 45: Software Tools Every Programmer Should Know

Classes teach you all about advanced topics within CS, from operating systems to machine learning, but there's one critical subject that's rarely covered, and is instead left to students to figure out on their own: proficiency with their tools. This course will teach you how to master the key tools necessary for being a successful computer scientist, such as the command line, version control systems, debuggers and linters, and many more. In addition, we will cover other key topics that are left out of standard CS classes, but that are essential to being a proficient computer scientist, including: security and cryptography, containers and virtual machines, and cloud computing.

Terms: Win
| Units: 2

## CS 83N: Playback Theater

Playback combines elements of theater, community work and storytelling. In a playback show, a group of actors and musicians create an improvised performance based on the audience's personal stories. A playback show brings about a powerful listening and sharing experience. During the course, we will tell, listen, play together, and train in playback techniques. We will write diaries to process our experience in the context of education and research. The course is aimed to strengthen listening abilities, creativity and the collaborative spirit, all integral parts of doing great science. In playback, as in research, we are always moving together, from the known, to the unknown, and back. There is limited enrollment for this class. Application is required.

Terms: Win
| Units: 3
| UG Reqs: WAY-CE

Instructors:
Reingold, O. (PI)

## CS 100A: Problem-solving Lab for CS106A

Additional problem solving practice for the introductory CS course
CS 106A. Sections are designed to allow students to acquire a deeper understanding of CS and its applications, work collaboratively, and develop a mastery of the material. Limited enrollment, permission of instructor required. Concurrent enrollment in
CS 106A required.

Terms: Aut, Win, Spr
| Units: 1

Instructors:
Parlante, N. (PI)

## CS 100B: Problem-solving Lab for CS106B

Additional problem solving practice for the introductory CS course
CS106B. Sections are designed to allow students to acquire a deeper understanding of CS and its applications, work collaboratively, and develop a mastery of the material. Limited enrollment, permission of instructor required. Concurrent enrollment in
CS 106B required.

Terms: Aut, Win, Spr
| Units: 1

## 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 first-order 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 first-order 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 first-order 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 first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole principle, mathematical induction, finite automata, regular expressions, the Myhill-Nerode theorem, context-free grammars, Turing machines, decidable and recognizable languages, self-reference 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: 3-5
| UG Reqs: GER:DB-Math, WAY-FR

Instructors:
Aiken, A. (PI)
;
Lee, C. (PI)
;
Liu, A. (PI)
;
Schwarz, K. (PI)
;
Chung, J. (TA)
;
Dash, A. (TA)
;
Emami, G. (TA)
;
Gao, C. (TA)
;
Horovitz, O. (TA)
;
Lian, Z. (TA)
;
Liu, J. (TA)
;
Liu, L. (TA)
;
McClearn, G. (TA)
;
Sriram, P. (TA)
;
Xia, W. (TA)
;
Zhai, W. (TA)

## CS 103A: Mathematical Problem-solving Strategies

Problem solving strategies and techniques in discrete mathematics and computer science. Additional problem solving practice for
CS103. In-class participation required. Prerequisite: consent of instructor. Co-requisite:
CS103.

Terms: Aut, Win
| Units: 1

Instructors:
Sriram, P. (PI)

Filter Results: