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 implementnthem 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 | Grading: Letter or Credit/No Credit

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 implementnthem 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 | Grading: Letter or Credit/No Credit

BIOMEDIN 210: Modeling Biomedical Systems: Ontology, Terminology, Problem Solving (CS 270)

Methods for modeling biomedical systems and for building model-based software systems. Emphasis is on intelligent systems for decision support and Semantic Web applications. Topics: knowledge representation, controlled terminologies, ontologies, reusable problem solvers, and knowledge acquisition. Students learn about current trends in the development of advanced biomedical software systems and acquire hands-on experience with several systems and tools. Prerequisites: CS106A, basic familiarity with biology, probability, and logic.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

BIOMEDIN 221: Machine Learning Approaches for Data Fusion in Biomedicine

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 | Grading: Medical Option (Med-Ltr-CR/NC)

CME 151A: Interactive Data Visualization in D3

This four-week short course introduces D3, a powerful tool for creating interactive data visualizations on the web (d3js.org). The class is geared toward scientists and engineers who want to better communicate their personal projects and research through visualizations on the web. The class will cover the basics of D3: inputting data, creating scales and axes, and adding transitions and interactivity, as well as some of the most used libraries: stack, cluster and force layouts. The class will be based on short workshops and a final project. A background in programming methodology at the level of CS106A is assumed. The course will make use of Javascript, experience is recommended but not necessary.
Terms: not given this year | Units: 1 | Grading: Satisfactory/No Credit

CME 193: Introduction to Scientific Python

This short course runs for the first four weeks of the quarter. 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 | Grading: Satisfactory/No Credit
Instructors: ; Dwaraknath, A. (PI)

CME 250A: Machine Learning on Big Data

A short course presenting the application of machine learning methods to large datasets.Topics include: brief review of the common issues of machine learning, such as, memorizing/overfitting vs learning, test/train splits, feature engineering, domain knowledge, fast/simple/dumb learners vs slow/complex/smart learners; moving your model from your laptop into a production environment using Python (scikit) or R on small data (laptop sized) at first; building math clusters using the open source H2O product to tackle Big Data, and finally to some model building on terabyte sized datasets. Prereqresites: basic knowledge of statistics, matrix algebra, and unix-like operating systems; basic file and text manipulation skills with unix tools: pipes, cut, paste, grep, awk, sed, sort, zip; programming skill at the level of CME211 or CS106A.
Terms: offered occasionally | Units: 1 | Grading: Satisfactory/No Credit

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 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.
Terms: Win | Units: 5 | UG Reqs: WAY-ER | Grading: Letter or Credit/No Credit

CS 47: Cross-Platform Mobile Development

The fundamentals of cross-platform mobile application development using the React Native framework (RN). Primary focus on developing best practices in creating apps for both iOS and Android by using Javascript and existing web + mobile development paradigms. Students will explore the unique aspects that made RN a primary tool for mobile development within Facebook, Instagram, Walmart, Tesla, and UberEats. Skills developed over the course will be consolidated by the completion of a final project. Required Prerequisites: CS106A or CS106B. Website: web.stanford.edu/class/cs47/. To enroll in the class, please show up to the first day of class and fill the following application: https://forms.gle/WM3SDd3qyF3eQC3x5
Terms: Aut | Units: 2 | Grading: Satisfactory/No Credit
Instructors: ; Landay, J. (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 | Grading: Satisfactory/No Credit

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.
Terms: not given this year | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

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.
Terms: Spr | Units: 3-4 | UG Reqs: WAY-AQR | Grading: Letter or Credit/No Credit
Instructors: ; Widom, J. (PI)

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. Summer quarter enrollment is limited.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 106E: Exploration of Computing

A follow up class to CS106A for non-majors which will both provide practical web programming skills and cover essential computing topics including computer security and privacy. Additional topics will include digital representation of images and music, an exploration of how the Internet works, and a look at the internals of the computer. Students taking the course for 4 units will be required to carry out supplementary programming assignments in addition to the course's regular assignments. Prerequisite: 106A or equivalent
Terms: Spr | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: ; Young, P. (PI)

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 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.
Terms: Win | Units: 5 | UG Reqs: WAY-ER | Grading: Letter or Credit/No Credit

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 | Grading: Letter or Credit/No Credit
Instructors: ; Young, P. (PI)

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 implementnthem 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 | Grading: Letter or Credit/No Credit

CS 270: Modeling Biomedical Systems: Ontology, Terminology, Problem Solving (BIOMEDIN 210)

Methods for modeling biomedical systems and for building model-based software systems. Emphasis is on intelligent systems for decision support and Semantic Web applications. Topics: knowledge representation, controlled terminologies, ontologies, reusable problem solvers, and knowledge acquisition. Students learn about current trends in the development of advanced biomedical software systems and acquire hands-on experience with several systems and tools. Prerequisites: CS106A, basic familiarity with biology, probability, and logic.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit

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. Students need to submit their application online via: https://docs.google.com/forms/d/e/1FAIpQLSfENFanSf9TL8fvCS9RSLOQ90g_NF2_lETx3pQ8Y8BjxToR7g/viewform
Terms: Aut | Units: 3 | Grading: Medical Option (Med-Ltr-CR/NC)
Instructors: ; Aalami, O. (PI)

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.
Terms: Spr | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: ; Follmer, S. (PI)

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.
Terms: Spr | Units: 3-4 | Grading: Letter or Credit/No Credit

EE 104: Introduction to Machine Learning

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: EE 103; EE 178 or CS 109; CS106A or equivalent.
Terms: Spr | Units: 3-5 | Grading: Letter or Credit/No Credit
Instructors: ; Lall, S. (PI)

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 implementnthem 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 | Grading: Letter or Credit/No Credit

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 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.
Terms: Win | Units: 5 | UG Reqs: WAY-ER | Grading: Letter or Credit/No Credit

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 | Grading: Medical Option (Med-Ltr-CR/NC)

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).
Terms: Win | Units: 4 | Grading: Law Honors/Pass/Restrd Cr/Fail

ME 47: Press Play: Interactive Device Design

This course provides an introduction to the human-centered and technical workings behind interactive devices ranging from cell phones and video controllers to household appliances and smart cars. This is a hands-on, lab-based course; there will be no midterm or final. Course topics include electronics prototyping, interface prototyping, sensors and actuators, microcontroller development, physical prototyping and user testing. For the final project, students will build a working MP3 player prototype of their own design, using embedded microcontrollers, digital audio decoders, component sensors and other electronic hardware. Prior experience in programming, such as CS106A (or equivalent) or electronics, such as ENG40A (or equivalent) preferred. Students must attend the first class.
Terms: not given this year | Units: 4-5 | Grading: Letter or Credit/No Credit

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.
Terms: Spr | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: ; Follmer, S. (PI)

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. Students need to submit their application online via: https://docs.google.com/forms/d/e/1FAIpQLSfENFanSf9TL8fvCS9RSLOQ90g_NF2_lETx3pQ8Y8BjxToR7g/viewform
Terms: Aut | Units: 3 | Grading: Medical Option (Med-Ltr-CR/NC)
Instructors: ; Aalami, O. (PI)

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 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.
Terms: Win | Units: 5 | UG Reqs: WAY-ER | Grading: Letter or Credit/No Credit

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.
Terms: Spr | Units: 2 | Grading: Satisfactory/No Credit

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 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.
Terms: Win | Units: 5 | UG Reqs: WAY-ER | Grading: Letter or Credit/No Credit

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 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.
Terms: Win | Units: 5 | UG Reqs: WAY-ER | Grading: Letter or Credit/No Credit

SOMGEN 217SI: Fundamentals of Digital Health Innovation

Digital Health is an emerging field that sits at the intersection of healthcare and technology. Last year, healthcare spending in the United States surpassed $3.2T, and remains an unmet need. To fully address this issue, this requires expertise in healthcare and technology trends. This class will focus on how understanding healthcare trends of the past, present and future combined with the innovative technology trends can ultimately be utilized to drive innovation in healthcare. Some topics covered will revolve around technology trends in healthcare and healthcare stakeholders, such as providers, payers, biotechnology and pharmaceutical companies, FDA, and the financial markets. Prerequisities for the course are BIO41 or CS106A or equivalent.
Terms: not given this year | Units: 1 | Grading: Medical Satisfactory/No Credit
© Stanford University | Terms of Use | Copyright Complaints