Print Settings
 

AA 174B: Principles of Robot Autonomy II (AA 274B, CS 237B, EE 260B)

This course teaches advanced principles for endowing mobile autonomous robots with capabilities to autonomously learn new skills and to physically interact with the environment and with humans. It also provides an overview of different robot system architectures. Concepts that will be covered in the course are: Reinforcement Learning and its relationship to optimal control, contact and dynamics models for prehensile and non-prehensile robot manipulation, imitation learning and human intent inference, as well as different system architectures and their verification. Students will earn the theoretical foundations for these concepts and implement them on mobile manipulation platforms. In homeworks, the Robot Operating System (ROS) will be used extensively for demonstrations and hands-on activities. Prerequisites: CS106A or equivalent, CME 100 or equivalent (for linear algebra), CME 106 or equivalent (for probability theory), and AA 171/274.
Terms: Win | Units: 3-4

AA 179: Orbital Mechanics and Attitude Dynamics

In this class, you will learn how to find your way in space. You will learn coordinate systems and coordinate transformations, so you will know where you are and where you are going. We will study rotational dynamics, rigid body equations of motion, their solutions and spacecraft rotational stability, so if you want to do sightseeing, you will know which direction to look. We will proceed to Newton?s law of gravity and the solution two-body problem, so you will know how to get around places. We will also cover the basics of orbital perturbations, so if someone disturbs your journey, you will not get lost. Finally, we will cover orbital maneuvers, their planning and execution, so if you want to go to multiple places, you will know when to change course, how much time it will take to get to your destination and how much it would cost. In each lecture, we will start with theory, and then proceed with applications supported by numerical examples in Python/Jupyter notebooks. During this class, we will be accumulating numerical examples that can be used together to solve progressively more complex problems in orbital and attitude dynamics. Prerequisites: CS106A for Python; ENGR 15, (CME 100, CME 102) or (MATH 51, MATH 53); or equivalent classes with permission of the instructor. Recommended: AA 131; if you plan to take AA179 (focus elective), it is recommended to take it before AA131 (required).
Terms: Spr | Units: 3

AA 274B: Principles of Robot Autonomy II (AA 174B, CS 237B, EE 260B)

This course teaches advanced principles for endowing mobile autonomous robots with capabilities to autonomously learn new skills and to physically interact with the environment and with humans. It also provides an overview of different robot system architectures. Concepts that will be covered in the course are: Reinforcement Learning and its relationship to optimal control, contact and dynamics models for prehensile and non-prehensile robot manipulation, imitation learning and human intent inference, as well as different system architectures and their verification. Students will earn the theoretical foundations for these concepts and implement them on mobile manipulation platforms. In homeworks, the Robot Operating System (ROS) will be used extensively for demonstrations and hands-on activities. Prerequisites: CS106A or equivalent, CME 100 or equivalent (for linear algebra), CME 106 or equivalent (for probability theory), and AA 171/274.
Terms: Win | Units: 3-4

BIODS 221: Machine Learning Approaches for Data Fusion in Biomedicine (BIOMEDIN 221)

Vast amounts of biomedical data are now routinely available for patients, raging from genomic data, to radiographic images and electronic health records. AI and machine learning are increasingly used to enable pattern discover to link such data for improvements in patient diagnosis, prognosis and tailoring treatment response. Yet, few studies focus on how to link different types of biomedical data in synergistic ways, and to develop data fusion approaches for improved biomedical decision support. This course will describe approaches for multi-omics, multi-modal and multi-scale data fusion of biomedical data in the context of biomedical decision support. Prerequisites: CS106A or equivalent, Stats 60 or equivalent.
Terms: Aut | Units: 2

BIOMEDIN 210: Modeling Biomedical Systems (CS 270)

At the core of informatics is the problem of creating computable models of biomedical phenomena. This course explores methods for modeling biomedical systems with an emphasis on contemporary semantic technology, including knowledge graphs. Topics: data modeling, knowledge representation, controlled terminologies, ontologies, reusable problem solvers, modeling problems in healthcare information technology and other aspects of informatics. Students acquire hands-on experience with several systems and tools. Prerequisites: CS106A. Basic familiarity with Python programming, biology, probability, and logic are assumed.
Terms: Win, Spr | Units: 3
Instructors: ; Musen, M. (PI)

BIOMEDIN 221: Machine Learning Approaches for Data Fusion in Biomedicine (BIODS 221)

Vast amounts of biomedical data are now routinely available for patients, raging from genomic data, to radiographic images and electronic health records. AI and machine learning are increasingly used to enable pattern discover to link such data for improvements in patient diagnosis, prognosis and tailoring treatment response. Yet, few studies focus on how to link different types of biomedical data in synergistic ways, and to develop data fusion approaches for improved biomedical decision support. This course will describe approaches for multi-omics, multi-modal and multi-scale data fusion of biomedical data in the context of biomedical decision support. Prerequisites: CS106A or equivalent, Stats 60 or equivalent.
Terms: Aut | Units: 2

BIOMEDIN 223: Deploying and Evaluating Fair AI in Healthcare (EPI 220)

AI applications are proliferating throughout the healthcare system and stakeholders are faced with the opportunities and challenges of deploying these quickly evolving technologies. This course teaches the principles of AI evaluations in healthcare, provides a framework for deployment of AI in the healthcare system, reviews the regulatory environment, and discusses fundamental components used to evaluate the downstream effects of AI healthcare solutions, including biases and fairness. Prerequisites: CS106A; familiarity with statistics (stats 202), BIOMED 215, or BIODS 220
Terms: Spr | Units: 2-3

CEE 154: Data Analytics for Physical Systems (CEE 254)

This course introduces practical applications of data analytics and machine learning from understanding sensor data to extracting information and decision making in the context of sensed physical systems. Many civil engineering applications involve complex physical systems, such as buildings, transportation, and infrastructure systems, which are integral to urban systems and human activities. Emerging data science techniques and rapidly growing data about these systems have enabled us to better understand them and make informed decisions. In this course, students will work with real-world data to learn about challenges in analyzing data, applications of statistical analysis and machine learning techniques using MATLAB, and limitations of the outcomes in domain-specific contexts. Topics include data visualization, noise cleansing, frequency domain analysis, forward and inverse modeling, feature extraction, machine learning, and error analysis. Prerequisites: CS106A, CME 100/Math51, Stats110/101, or equivalent.
Terms: Aut | Units: 3-4

CEE 254: Data Analytics for Physical Systems (CEE 154)

This course introduces practical applications of data analytics and machine learning from understanding sensor data to extracting information and decision making in the context of sensed physical systems. Many civil engineering applications involve complex physical systems, such as buildings, transportation, and infrastructure systems, which are integral to urban systems and human activities. Emerging data science techniques and rapidly growing data about these systems have enabled us to better understand them and make informed decisions. In this course, students will work with real-world data to learn about challenges in analyzing data, applications of statistical analysis and machine learning techniques using MATLAB, and limitations of the outcomes in domain-specific contexts. Topics include data visualization, noise cleansing, frequency domain analysis, forward and inverse modeling, feature extraction, machine learning, and error analysis. Prerequisites: CS106A, CME 100/Math51, Stats110/101, or equivalent.
Terms: Aut | Units: 3-4

CHEM 171: Foundations of Physical Chemistry

Quantum and statistical thermodynamics: obtaining quantum mechanical energy levels and connecting them to thermodynamic properties using statistical mechanics. Emphasis will be on quantum mechanics of ideal systems (particle in a box, particle on a ring, harmonic oscillator, rigid rotor, and hydrogen atom) and their connection to and uses in thermodynamics (laws of thermodynamics, properties of gases and thermal motion, and chemical equilibria). Homeworks and discussion sections will employ the Python programming language for hands-on experience with simulating chemical systems. Prerequisites: CHEM 31B or CHEM 31M; PHYS 41; CS106A; and MATH 51, MATH 61CM, MATH 61DM or CME 100.
Terms: Spr | Units: 4 | UG Reqs: GER: DB-NatSci
Instructors: ; Markland, T. (PI)

CME 107: Introduction to Machine Learning (EE 104)

Introduction to machine learning. Formulation of supervised and unsupervised learning problems. Regression and classification. Data standardization and feature engineering. Loss function selection and its effect on learning. Regularization and its role in controlling complexity. Validation and overfitting. Robustness to outliers. Simple numerical implementation. Experiments on data from a wide variety of engineering and other disciplines. Undergraduate students should enroll for 5 units, and graduate students should enroll for 3 units. Prerequisites: ENGR 108; EE 178 or CS 109; CS106A or equivalent.
Terms: Spr | Units: 3-5

CME 193: Introduction to Scientific Python

It is recommended for students who are familiar with programming at least at the level of CS106A and want to translate their programming knowledge to Python with the goal of becoming proficient in the scientific computing and data science stack. Lectures will be interactive with a focus on real world applications of scientific computing. Technologies covered include Numpy, SciPy, Pandas, Scikit-learn, and others. Topics will be chosen from Linear Algebra, Optimization, Machine Learning, and Data Science. Prior knowledge of programming will be assumed, and some familiarity with Python is helpful, but not mandatory.
Terms: Aut, Win, Spr | Units: 1

COMM 140X: Solving Social Problems with Data (DATASCI 154, EARTHSYS 153, ECON 163, MS&E 134, POLISCI 154, PUBLPOL 155, SOC 127)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

COMM 180: Ethics, Public Policy, and Technological Change (CS 182, ETHICSOC 182, PHIL 82, POLISCI 182, PUBLPOL 182)

Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering.  Course is organized around five main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; the power of private computing platforms; and issues of diversity, equity, and inclusion in the technology sector.  Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite: CS106A.
Last offered: Winter 2023 | Units: 5 | UG Reqs: WAY-ER

CS 21SI: AI for Social Good

Students will learn about and apply cutting-edge artificial intelligence (AI) techniques to real-world social good spaces (such as healthcare, government, and environmental conservation). The class will balance high-level machine learning techniques? from the fields of deep learning, natural language processing, computer vision, and reinforcement learning? with real world case studies, inviting students to think critically about technical and ethical issues in the development and deployment of AI. The course structure alternates between instructional lectures and bi-weekly guest speakers at the forefront of technology for social good. Students will be given the chance to engage in a flexible combination of AI model building, discussion, and individual exploration. Special topics may include: tech ethics, human-centered AI, AI safety, education technology, mental health applications, AI in policy, assistive robotics. Prerequisites: programming experience at the level of CS106A. Application required for enrollment: http://tinyurl.com/cs21si2024. We encourage students from all disciplines and backgrounds to apply!
Terms: Spr | Units: 2
Instructors: ; Piech, C. (PI)

CS 47N: Datathletics: Diving into Data Analytics and Stanford Sports

Sophisticated data collection and analysis are now key to program success across many sports: Nearly all professional and national-level teams employ data scientists, and "datathletics" is becoming prevalent in college sports as well. This immersive seminar combines extensive hands-on data analytics with a first-hand peek into Stanford athletics. Class meetings roughly alternate between: (1) instruction in a variety of tools and techniques for analyzing and visualizing data; and (2) guest lectures by Stanford athletics coaches explaining how data is or could be used in their sport. Through regular problem sets, students bring each week's tools to bear on data related to the week's sport. One goal of the class is empowering students to perform compelling data analytics by mastering tools across a wide spectrum, including spreadsheets, the Tableau system for data preparation and visualization, Jupyter notebooks, relational databases and SQL, Python and many of its data-specific packages including Pandas, and machine learning. On the sports side, while the Stanford coaches may touch on many aspects of data collection and analysis, the main focus of this course is on using data for strategic decision-making rather than optimizing individual human performance. Prerequisites: No background in statistics or data analysis is needed, but basic programming and computing skills at the level of high school computer science or CS106A is expected. On the flip side, students with extensive experience in coding or data science may not be challenged by the technical aspects of the course.
| Units: 3

CS 100ACE: 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: ; King, E. (PI)

CS 101: Introduction to Computing Principles

Introduces the essential ideas of computing: data representation, algorithms, programming "code", computer hardware, networking, security, and social issues. Students learn how computers work and what they can do through hands-on exercises. In particular, students will see the capabilities and weaknesses of computer systems so they are not mysterious or intimidating. Course features many small programming exercises, although no prior programming experience is assumed or required. CS101 is not a complete programming course such as CS106A. CS101 is effectively an alternative to CS105. A laptop computer is recommended for the in-class exercises.
Last offered: Autumn 2018 | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

CS 102: Working with Data - Tools and Techniques

Aimed at non-CS undergraduate and graduate students who want to learn a variety of tools and techniques for working with data. Many of the world's biggest discoveries and decisions in science, technology, business, medicine, politics, and society as a whole, are now being made on the basis of analyzing data sets. This course provides a broad and practical introduction to working with data: data analysis techniques including databases, data mining, machine learning, and data visualization; data analysis tools including spreadsheets, Tableau, relational databases and SQL, Python, and R; introduction to network analysis and unstructured data. Tools and techniques are hands-on but at a cursory level, providing a basis for future exploration and application. Prerequisites: comfort with basic logic and mathematical concepts, along with high school AP computer science, CS106A, or other equivalent programming experience.
Last offered: Spring 2020 | Units: 3-4 | UG Reqs: WAY-AQR

CS 106A: Programming Methodology

Introduction to the engineering of computer applications emphasizing modern software engineering principles: program design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. Uses the Python programming language. No prior programming experience required.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280)

Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Introducing methods (regex, edit distance, naive Bayes, logistic regression, neural embeddings, inverted indices, collaborative filtering, PageRank), applications (chatbots, sentiment analysis, information retrieval, question answering, text classification, social networks, recommender systems), and ethical issues in both. Prerequisites: CS106B, Python (at the level of CS106A), CS109 (or equivalent background in probability), and programming maturity and knowledge of UNIX equivalent to CS107 (or taking CS107 or CS1U concurrently).
Terms: Win | Units: 3-4 | UG Reqs: WAY-AQR

CS 177: Human Centered Product Management

Ask any product person what the most important skills are for PMs and they'll say interpersonal dynamics-- negotiation, communication, conflict resolution, interviewing and more. This class will look at the role of product management through a human-centered lens, including customers and coworkers. As well, students will experience the Agile-Lean-UX development process. Course enrollment will be capped, an application will be sent out first day of class. Prerequisite: CS106A&B or equivalent. This class could be taken before or after 147.
Terms: Aut | Units: 3-4

CS 181: Computers, Ethics, and Public Policy

Ethical and social issues related to the development and use of computer technology. Ethical theory, and social, political, and legal considerations. Scenarios in problem areas: privacy, reliability and risks of complex systems, and responsibility of professionals for applications and consequences of their work. Prerequisite: CS106A. To take this course, students need permission of instructor and may need to complete an assignment due at the first day of class. Please see https://cs181.stanford.edu for more information.
Terms: Spr | Units: 4 | UG Reqs: GER:EC-EthicReas, WAY-ER

CS 182: Ethics, Public Policy, and Technological Change (COMM 180, ETHICSOC 182, PHIL 82, POLISCI 182, PUBLPOL 182)

Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering.  Course is organized around five main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; the power of private computing platforms; and issues of diversity, equity, and inclusion in the technology sector.  Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite: CS106A.
Last offered: Winter 2023 | Units: 5 | UG Reqs: WAY-ER

CS 182W: Ethics, Public Policy, and Technological Change (WIM)

Writing-intensive version of CS182. Satisfies the WIM requirement for Computer Science, Engineering Physics, STS, Math/Comp Sci, and Data Science undergraduates (and is only open to those majors). Prerequisite: CS106A. See CS182 for lecture day/time information. Enroll in either CS 182 or CS 182W,not both. Enrollment in WIM version of the course is limited to 125students. Enrollment is restricted to seniors and coterminal students until January 9, 2023. Starting January 9, 2023, enrollment will open to all students if additional spaces remain available in the class.
Last offered: Winter 2023 | Units: 5 | UG Reqs: WAY-ER

CS 193C: Client-Side Internet Technologies

Client-side technologies used to create web sites such as Google maps or Gmail. Includes HTML5, CSS, JavaScript, the Document Object Model (DOM), and Ajax. Prerequisite: programming experience at the level of CS106A.
Terms: Sum | Units: 3
Instructors: ; Young, P. (PI)

CS 193P: iOS Application Development

Build mobile applications using tools and APIs in iOS. Developing applications for the iPhone and iPad requires integration of numerous concepts including functional programming, object-oriented programming, computer-human interfaces, graphics, animation, reactive interfaces, Model-View-Intent (MVI) and Model-View-View-Model (MVVM) design paradigms, object-oriented databases, networking, and interactive performance considerations including multi-threading. This course will require you to learn a new programming language (Swift) as well as the iOS development environment, SwiftUI. Prerequisites: All coursework (homework and final project) involves writing code, so writing a lot of code should not be new to you (coding experience in almost any language is valuable, but object-oriented (e.g. CS108) and/or functional programming languages (e.g. CS43) are most highly recommended).  CS106A and B (or X) and CS107 (or equivalent) are hard prerequisites. Any other courses that help to develop your maturity as a programmer are also recommended.
Last offered: Spring 2023 | Units: 3

CS 229: Machine Learning (STATS 229)

Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy to the equivalency of CS106A, CS106B, or CS106X, familiarity with probability theory to the equivalency of CS 109, MATH151, or STATS 116, and familiarity with multivariable calculus and linear algebra to the equivalency of MATH51 or CS205.
Terms: Aut, Win, Sum | Units: 3-4

CS 237B: Principles of Robot Autonomy II (AA 174B, AA 274B, EE 260B)

This course teaches advanced principles for endowing mobile autonomous robots with capabilities to autonomously learn new skills and to physically interact with the environment and with humans. It also provides an overview of different robot system architectures. Concepts that will be covered in the course are: Reinforcement Learning and its relationship to optimal control, contact and dynamics models for prehensile and non-prehensile robot manipulation, imitation learning and human intent inference, as well as different system architectures and their verification. Students will earn the theoretical foundations for these concepts and implement them on mobile manipulation platforms. In homeworks, the Robot Operating System (ROS) will be used extensively for demonstrations and hands-on activities. Prerequisites: CS106A or equivalent, CME 100 or equivalent (for linear algebra), CME 106 or equivalent (for probability theory), and AA 171/274.
Terms: Win | Units: 3-4

CS 270: Modeling Biomedical Systems (BIOMEDIN 210)

At the core of informatics is the problem of creating computable models of biomedical phenomena. This course explores methods for modeling biomedical systems with an emphasis on contemporary semantic technology, including knowledge graphs. Topics: data modeling, knowledge representation, controlled terminologies, ontologies, reusable problem solvers, modeling problems in healthcare information technology and other aspects of informatics. Students acquire hands-on experience with several systems and tools. Prerequisites: CS106A. Basic familiarity with Python programming, biology, probability, and logic are assumed.
Terms: Win, Spr | Units: 3
Instructors: ; Musen, M. (PI)

CS 342: Building for Digital Health (MED 253)

This project-based course will provide a comprehensive overview of key requirements in the design and full-stack implementation of a digital health research application. Several pre-vetted and approved projects from the Stanford School of Medicine will be available for students to select from and build. Student teams learn about all necessary approval processes to deploy a digital health solution (data privacy clearance/I RB approval, etc.) and be guided in the development of front-end and back-end infrastructure using best practices. The final project will be the presentation and deployment of a fully approved digital health research application. CS106A, CS106B, Recommended: CS193P/A, CS142, CS47, CS110. Limited enrollment for this course. Apply for enrollment permission here: https://stanforduniversity.qualtrics.com/jfe/form/SV_9ThVhqf4zyhzheS
Terms: Win | Units: 3-4

CS 377N: Introduction to the Design of Smart Products (ME 216M)

This course will focus on the technical mechatronic skills as well as the human factors and interaction design considerations required for the design of smart products and devices. Students will learn techniques for rapid prototyping of smart devices, best practices for physical interaction design, fundamentals of affordances and signifiers, and interaction across networked devices. Students will be introduced to design guidelines for integrating electrical components such as PCBs into mechanical assemblies and consider the physical form of devices, not just as enclosures but also as a central component of the smart product. Prerequisites include: CS106A and E40 highly recommended, or instructor approval.
Last offered: Spring 2020 | Units: 3-4

CS 448M: Making Making Machines for Makers

An introductory, project-based exploration of systems and processes for making things using computer-aided design and manufacturing, and an introduction to machines and machine tools. Emphasis will be placed on building novel machines and related software for use by "makers" and interactive machines. Course projects will encourage students to understand, build and modify/hack a sequence of machines: (1) an embroidery machine for custom textiles, (2) a paper cutting machine (with drag knife) for ornamental design, and (3) an XY plotter with Arduino controller. Through these projects students explore both (i) principles of operation (mechanical, stepper motors and servos, electrical control, computer software), and (ii) computer algorithms (trajectory, tool path, design). Current trends in interactive machines will be surveyed. The course will culminate in a final student-selected project. Prerequisite: CS106A or equivalent programming experience. Students should have a desire to make things.
Last offered: Spring 2020 | Units: 3-4

DATASCI 154: Solving Social Problems with Data (COMM 140X, EARTHSYS 153, ECON 163, MS&E 134, POLISCI 154, PUBLPOL 155, SOC 127)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

EARTHSYS 153: Solving Social Problems with Data (COMM 140X, DATASCI 154, ECON 163, MS&E 134, POLISCI 154, PUBLPOL 155, SOC 127)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

ECON 163: Solving Social Problems with Data (COMM 140X, DATASCI 154, EARTHSYS 153, MS&E 134, POLISCI 154, PUBLPOL 155, SOC 127)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

EE 104: Introduction to Machine Learning (CME 107)

Introduction to machine learning. Formulation of supervised and unsupervised learning problems. Regression and classification. Data standardization and feature engineering. Loss function selection and its effect on learning. Regularization and its role in controlling complexity. Validation and overfitting. Robustness to outliers. Simple numerical implementation. Experiments on data from a wide variety of engineering and other disciplines. Undergraduate students should enroll for 5 units, and graduate students should enroll for 3 units. Prerequisites: ENGR 108; EE 178 or CS 109; CS106A or equivalent.
Terms: Spr | Units: 3-5

EE 178: Probabilistic Systems Analysis

Introduction to probability and its role in modeling and analyzing real world phenomena and systems, including topics in statistics, machine learning, and statistical signal processing. Elements of probability, conditional probability, Bayes rule, independence. Discrete and continuous random variables. Signal detection. Functions of random variables. Expectation; mean, variance and covariance, linear MSE estimation. Conditional expectation; iterated expectation, MSE estimation, quantization and clustering. Parameter estimation. Classification. Sample averages. Inequalities and limit theorems. Confidence intervals. Prerequisites: Calculus at the level of MATH 51, CME 100 or equivalent and basic knowledge of computing at the level of CS106A.
Terms: Spr | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci, WAY-AQR, WAY-FR

EE 260B: Principles of Robot Autonomy II (AA 174B, AA 274B, CS 237B)

This course teaches advanced principles for endowing mobile autonomous robots with capabilities to autonomously learn new skills and to physically interact with the environment and with humans. It also provides an overview of different robot system architectures. Concepts that will be covered in the course are: Reinforcement Learning and its relationship to optimal control, contact and dynamics models for prehensile and non-prehensile robot manipulation, imitation learning and human intent inference, as well as different system architectures and their verification. Students will earn the theoretical foundations for these concepts and implement them on mobile manipulation platforms. In homeworks, the Robot Operating System (ROS) will be used extensively for demonstrations and hands-on activities. Prerequisites: CS106A or equivalent, CME 100 or equivalent (for linear algebra), CME 106 or equivalent (for probability theory), and AA 171/274.
Last offered: Winter 2023 | Units: 3-4

EE 292S: Understanding the Sensors in your Smartphone

This course provides an introduction to the sensor systems found in modern-day smartphones, wearables, and hearable devices. As much as we take their functionality for granted, there is a tremendous amount of engineering needed to sense "real world" signals such as acceleration, touch, or altitude. There will be an overview on the actual circuitry and hardware used in sensor implementations, with a focus on MEMS devices (eg, accelerometer/gyro), going up through the algorithms commonly seen in sensors processing, and finally fusion of data from multiple sensors to yield final data presented to a user. The four broad areas that will be covered are: Inertial sensing/movement; Touch sensing/authentication; Health sensing (PPG, ECG, SpO2); Next-generation (force, radar/ranging, ultrasonics, and more). There is a lab/project associated with each of these areas, each project spanning roughly two weeks. The projects are designed to be more at a system level; the student will be required to explore the performance and limitations of sensing hardware, and then take that understanding to solve real-world sensor problems. All projects will be built on a Raspberry Pi with various sensor boards; students should be comfortable with wiring up a small breadboard, and coding on an RPi a high-level language such as Python or Java. Prerequisites: EE101A, EE102A, and CS106A or equivalents.
Terms: Aut | Units: 3

ENERGY 104: Sustainable Energy for 9 Billion (ENERGY 204)

This course explores the global transition to a sustainable global energy system. We will formulate and program simple models for future energy system pathways. We will explore the drivers of global energy demand and carbon emissions, as well as the technologies that can help us meet this demand sustainably. We will consider constraints on the large-scale deployment of technology and difficulties of a transition at large scales and over long time periods. Assignments will focus on building models of key aspects of the energy transition, including global, regional and sectoral energy demand and emissions as well as economics of change. Prerequisites: students should be comfortable with calculus and linear algebra (e.g. Math 20, Math 51) and be familiar with computer programming (e.g. CS106A, CS106B). We will use the Python programming language to build our models.
Terms: Win | Units: 3 | UG Reqs: WAY-AQR

ENERGY 204: Sustainable Energy for 9 Billion (ENERGY 104)

This course explores the global transition to a sustainable global energy system. We will formulate and program simple models for future energy system pathways. We will explore the drivers of global energy demand and carbon emissions, as well as the technologies that can help us meet this demand sustainably. We will consider constraints on the large-scale deployment of technology and difficulties of a transition at large scales and over long time periods. Assignments will focus on building models of key aspects of the energy transition, including global, regional and sectoral energy demand and emissions as well as economics of change. Prerequisites: students should be comfortable with calculus and linear algebra (e.g. Math 20, Math 51) and be familiar with computer programming (e.g. CS106A, CS106B). We will use the Python programming language to build our models.
Terms: Win | Units: 3

EPI 220: Deploying and Evaluating Fair AI in Healthcare (BIOMEDIN 223)

AI applications are proliferating throughout the healthcare system and stakeholders are faced with the opportunities and challenges of deploying these quickly evolving technologies. This course teaches the principles of AI evaluations in healthcare, provides a framework for deployment of AI in the healthcare system, reviews the regulatory environment, and discusses fundamental components used to evaluate the downstream effects of AI healthcare solutions, including biases and fairness. Prerequisites: CS106A; familiarity with statistics (stats 202), BIOMED 215, or BIODS 220
Terms: Spr | Units: 2-3

ETHICSOC 182: Ethics, Public Policy, and Technological Change (COMM 180, CS 182, PHIL 82, POLISCI 182, PUBLPOL 182)

Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering.  Course is organized around five main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; the power of private computing platforms; and issues of diversity, equity, and inclusion in the technology sector.  Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite: CS106A.
Last offered: Winter 2023 | Units: 5 | UG Reqs: WAY-ER

IMMUNOL 207: Essential Methods in Computational and Systems Immunology

Introduction to the major underpinnings of systems immunology: first principles of development of computational approaches to immunological questions and research; details of the algorithms and statistical principles underlying commonly used tools; aspects of study design and analysis of data sets. Prerequisites: CS106a and CS161 strongly recommended.
Terms: Spr | Units: 3

LAW 4047: Ethics, Public Policy, and Technological Change

Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering. Course is organized around four main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; and the power of private computing platforms. Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite: CS106A. Elements used in grading: Attendance, class participation, written assignments, coding assignments, and final exam. Cross-listed with Communication (COMM 180), Computer Science (CS 182), Ethics in Society (ETHICSOC 182), Philosophy (PHIL 82), Political Science (POLISCI 182), Public Policy (PUBLPOL 182).
Last offered: Winter 2020 | Units: 4

LINGUIST 180: From Languages to Information (CS 124, LINGUIST 280)

Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Introducing methods (regex, edit distance, naive Bayes, logistic regression, neural embeddings, inverted indices, collaborative filtering, PageRank), applications (chatbots, sentiment analysis, information retrieval, question answering, text classification, social networks, recommender systems), and ethical issues in both. Prerequisites: CS106B, Python (at the level of CS106A), CS109 (or equivalent background in probability), and programming maturity and knowledge of UNIX equivalent to CS107 (or taking CS107 or CS1U concurrently).
Terms: Win | Units: 3-4 | UG Reqs: WAY-AQR

LINGUIST 280: From Languages to Information (CS 124, LINGUIST 180)

Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Introducing methods (regex, edit distance, naive Bayes, logistic regression, neural embeddings, inverted indices, collaborative filtering, PageRank), applications (chatbots, sentiment analysis, information retrieval, question answering, text classification, social networks, recommender systems), and ethical issues in both. Prerequisites: CS106B, Python (at the level of CS106A), CS109 (or equivalent background in probability), and programming maturity and knowledge of UNIX equivalent to CS107 (or taking CS107 or CS1U concurrently).
Terms: Win | Units: 3-4

ME 216M: Introduction to the Design of Smart Products (CS 377N)

This course will focus on the technical mechatronic skills as well as the human factors and interaction design considerations required for the design of smart products and devices. Students will learn techniques for rapid prototyping of smart devices, best practices for physical interaction design, fundamentals of affordances and signifiers, and interaction across networked devices. Students will be introduced to design guidelines for integrating electrical components such as PCBs into mechanical assemblies and consider the physical form of devices, not just as enclosures but also as a central component of the smart product. Prerequisites include: CS106A and E40 highly recommended, or instructor approval.
Last offered: Spring 2020 | Units: 3-4

MED 253: Building for Digital Health (CS 342)

This project-based course will provide a comprehensive overview of key requirements in the design and full-stack implementation of a digital health research application. Several pre-vetted and approved projects from the Stanford School of Medicine will be available for students to select from and build. Student teams learn about all necessary approval processes to deploy a digital health solution (data privacy clearance/I RB approval, etc.) and be guided in the development of front-end and back-end infrastructure using best practices. The final project will be the presentation and deployment of a fully approved digital health research application. CS106A, CS106B, Recommended: CS193P/A, CS142, CS47, CS110. Limited enrollment for this course. Apply for enrollment permission here: https://stanforduniversity.qualtrics.com/jfe/form/SV_9ThVhqf4zyhzheS
Terms: Win | Units: 3-4

MS&E 134: Solving Social Problems with Data (COMM 140X, DATASCI 154, EARTHSYS 153, ECON 163, POLISCI 154, PUBLPOL 155, SOC 127)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

PHIL 82: Ethics, Public Policy, and Technological Change (COMM 180, CS 182, ETHICSOC 182, POLISCI 182, PUBLPOL 182)

Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering.  Course is organized around five main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; the power of private computing platforms; and issues of diversity, equity, and inclusion in the technology sector.  Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite: CS106A.
Last offered: Winter 2023 | Units: 5 | UG Reqs: WAY-ER

PHYSICS 91SI: Practical Computing for Scientists

Essential computing skills for researchers in the natural sciences. Helping students transition their computing skills from a classroom to a research environment. Topics include the Unix operating system, the Python programming language, and essential tools for data analysis, simulation, and optimization. More advanced topics as time allows. Prerequisite: CS106A or equivalent.
Last offered: Spring 2020 | Units: 2

POLISCI 154: Solving Social Problems with Data (COMM 140X, DATASCI 154, EARTHSYS 153, ECON 163, MS&E 134, PUBLPOL 155, SOC 127)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

POLISCI 182: Ethics, Public Policy, and Technological Change (COMM 180, CS 182, ETHICSOC 182, PHIL 82, PUBLPOL 182)

Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering.  Course is organized around five main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; the power of private computing platforms; and issues of diversity, equity, and inclusion in the technology sector.  Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite: CS106A.
Last offered: Winter 2023 | Units: 5 | UG Reqs: WAY-ER

PUBLPOL 155: Solving Social Problems with Data (COMM 140X, DATASCI 154, EARTHSYS 153, ECON 163, MS&E 134, POLISCI 154, SOC 127)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

PUBLPOL 182: Ethics, Public Policy, and Technological Change (COMM 180, CS 182, ETHICSOC 182, PHIL 82, POLISCI 182)

Examination of recent developments in computing technology and platforms through the lenses of philosophy, public policy, social science, and engineering.  Course is organized around five main units: algorithmic decision-making and bias; data privacy and civil liberties; artificial intelligence and autonomous systems; the power of private computing platforms; and issues of diversity, equity, and inclusion in the technology sector.  Each unit considers the promise, perils, rights, and responsibilities at play in technological developments. Prerequisite: CS106A.
Last offered: Winter 2023 | Units: 5 | UG Reqs: WAY-ER

SOC 127: Solving Social Problems with Data (COMM 140X, DATASCI 154, EARTHSYS 153, ECON 163, MS&E 134, POLISCI 154, PUBLPOL 155)

Introduces students to the interdisciplinary intersection of data science and the social sciences through an in-depth examination of contemporary social problems. Provides a foundational skill set for solving social problems with data including quantitative analysis, modeling approaches from the social sciences and engineering, and coding skills for working directly with big data. Students will also consider the ethical dimensions of working with data and learn strategies for translating quantitative results into actionable policies and recommendations. Lectures will introduce students to the methods of data science and social science and apply these frameworks to critical 21st century challenges, including education & inequality, political polarization, and health equity & algorithmic design in the fall quarter, and social media, climate change, and school choice & segregation in the spring quarter. In-class exercises and problem sets will provide students with the opportunity to use real-world datasets to discover meaningful insights for policymakers and communities. This course is the required gateway course for the new major in Data Science & Social Systems. Preference given to Data Science & Social Systems B.A. majors and prospective majors. Course material and presentation will be at an introductory level. Enrollment and participation in one discussion section is required. Sign up for the discussion section will occur on Canvas at the start of the quarter. Prerequisites: CS106A (required), DATASCI 112 (recommended as pre or corequisite). Limited enrollment. Please complete the interest form here: https://forms.gle/8ui9RPgzxjGxJ9k29. A permission code will be given to admitted students to register for the class.
Terms: Aut, Spr | Units: 5 | UG Reqs: WAY-AQR, WAY-SI

STATS 229: Machine Learning (CS 229)

Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy to the equivalency of CS106A, CS106B, or CS106X, familiarity with probability theory to the equivalency of CS 109, MATH151, or STATS 116, and familiarity with multivariable calculus and linear algebra to the equivalency of MATH51 or CS205.
Terms: Aut, Win, Sum | Units: 3-4
© Stanford University | Terms of Use | Copyright Complaints