CS 109ACE: Problem-solving Lab for CS109
Additional problem solving practice for the introductory CS course
CS109. 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. Enrollment limited to 30 students, permission of instructor required. Concurrent enrollment in
CS 109 required.
Terms: Aut, Win, Spr
| Units: 1
Instructors:
Qin, M. (PI)
CS 111: Operating Systems Principles
Explores operating system concepts including concurrency, synchronization, scheduling, processes, virtual memory, I/O, file systems, and protection. Available as a substitute for CS110 that fulfills any requirement satisfied by
CS110. Prerequisite:
CS107.
Terms: Aut, Win, Spr
| Units: 3-5
Instructors:
Ousterhout, J. (PI)
;
Troccoli, N. (PI)
;
Ahmad-Stein, D. (TA)
...
more instructors for CS 111 »
Instructors:
Ousterhout, J. (PI)
;
Troccoli, N. (PI)
;
Ahmad-Stein, D. (TA)
;
Ayoob, M. (TA)
;
Baruah, N. (TA)
;
Cao, M. (TA)
;
Dange, R. (TA)
;
Escandon, E. (TA)
;
Gorelik, I. (TA)
;
Govil, Y. (TA)
;
Granado, M. (TA)
;
Hanlon, M. (TA)
;
Kansal, A. (TA)
;
Khandelwal, P. (TA)
;
Kohli, S. (TA)
;
Li, G. (TA)
;
Marchini, M. (TA)
;
Palleti, R. (TA)
;
Saracay, E. (TA)
;
Tang, E. (TA)
;
Verma, S. (TA)
;
Zhang, X. (TA)
;
Zuna Largo, W. (TA)
CS 111ACE: Problem Solving Lab for CS111
Additional design and implementation problems to complement the material taught in
CS111. In-class participation is required. Prerequisite: consent of instructor. Corequisite:
CS111
Terms: Aut, Win, Spr
| Units: 1
Instructors:
Master, T. (PI)
CS 123: A Hands-On Introduction to Building AI-Enabled Robots
This course offers a hands-on introduction to AI-powered robotics. Unlike most introductory robotics courses, students will learn essential robotics concepts by constructing a quadruped robot from scratch and training it to perform real-world tasks. The course covers a broad range of topics critical to robot learning, including motor control, forward and inverse kinematics, system identification, simulation, and reinforcement learning. Through weekly labs, students will construct a pair of tele-operated robot arms with haptic feedback, program a robot arm to learn self-movement, and ultimately create and program an agile robot quadruped named Pupper. In the final four weeks, students will undertake an open-ended project using Pupper as a platform, such as instructing it to walk using reinforcement learning, developing a vision system to allow Pupper to play fetch, or redesigning the hardware to enhance the robot's agility. Note: CS123 strives to achieve a balanced distribution of senio
more »
This course offers a hands-on introduction to AI-powered robotics. Unlike most introductory robotics courses, students will learn essential robotics concepts by constructing a quadruped robot from scratch and training it to perform real-world tasks. The course covers a broad range of topics critical to robot learning, including motor control, forward and inverse kinematics, system identification, simulation, and reinforcement learning. Through weekly labs, students will construct a pair of tele-operated robot arms with haptic feedback, program a robot arm to learn self-movement, and ultimately create and program an agile robot quadruped named Pupper. In the final four weeks, students will undertake an open-ended project using Pupper as a platform, such as instructing it to walk using reinforcement learning, developing a vision system to allow Pupper to play fetch, or redesigning the hardware to enhance the robot's agility. Note: CS123 strives to achieve a balanced distribution of seniority across the undergrad student body. Within each seniority group, enrollment of students will follow a first-come-first-served approach. Please use the form below to enroll in the class. The form will be open on 9/1/2023 9:00AM Pacific Time. Please use this form to apply:
https://docs.google.com/forms/d/e/1FAIpQLSdBSUqLjpD-a-GmwhPnRLMi7L1BMMzikl8yqwmQp-stMoDqIg/viewform
Terms: Aut
| Units: 3
Instructors:
Liu, K. (PI)
;
Levine, G. (TA)
CS 137A: Principles of Robot Autonomy I (AA 174A, EE 160A)
Basic principles for endowing mobile autonomous robots with perception, planning, and decision-making capabilities. Algorithmic approaches for robot perception, localization, and simultaneous localization and mapping; control of non-linear systems, learning-based control, and robot motion planning; introduction to methodologies for reasoning under uncertainty, e.g., (partially observable) Markov decision processes. Extensive use of the Robot Operating System (ROS) for demonstrations and hands-on activities. Prerequisites:
CS 106A or equivalent,
CME 100 or equivalent (for linear algebra), and
CME 106 or equivalent (for probability theory).
Terms: Aut
| Units: 3-4
CS 145: Data Management and Data Systems
Introduction to the use, design, and implementation of database and data-intensive systems, including data models; schema design; data storage; query processing, query optimization, and cost estimation; concurrency control, transactions, and failure recovery; distributed and parallel execution; semi-structured databases; and data system support for advanced analytics and machine learning. Prerequisites: 103 and 107 (or equivalent).
Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Shivakumar, N. (PI)
;
Badrinath, A. (TA)
;
Bradfield, A. (TA)
...
more instructors for CS 145 »
Instructors:
Shivakumar, N. (PI)
;
Badrinath, A. (TA)
;
Bradfield, A. (TA)
;
Chang, J. (TA)
;
Escandon, E. (TA)
;
Li, R. (TA)
;
Maheshwari, E. (TA)
;
Wu, J. (TA)
CS 147: Introduction to Human-Computer Interaction Design
Introduces fundamental methods and principles for designing, implementing, and evaluating user interfaces. Topics: user-centered design, rapid prototyping, experimentation, direct manipulation, cognitive principles, visual design, social software, software tools. Learn by doing: work with a team on a quarter-long design project, supported by lectures, readings, and studios. Prerequisite: 106B or X or equivalent programming experience. Recommended that CS Majors have also taken one of 142, 193P, or 193A.nnPlease note: Less than 5 is only allowed for graduate students.
Terms: Aut
| Units: 3-5
Instructors:
Landay, J. (PI)
;
Doby, S. (TA)
;
Hoang, N. (TA)
;
Joerke, M. (TA)
;
Lee, J. (TA)
;
Lee, T. (TA)
;
Leon, A. (TA)
;
Zhou, G. (TA)
CS 147L: Cross-platform Mobile App Development
The fundamentals of cross-platform mobile application development with a focus on 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, Airbnb, Walmart, Tesla, and UberEats. Skills developed over the course will be consolidated by the completion of a final project. Required Prerequisites:
CS106B.
Terms: Aut
| Units: 3
Instructors:
Cheng, A. (PI)
;
Landay, J. (PI)
;
Kacharia, N. (TA)
...
more instructors for CS 147L »
Instructors:
Cheng, A. (PI)
;
Landay, J. (PI)
;
Kacharia, N. (TA)
;
Lu, P. (TA)
;
Poole, R. (TA)
;
Wan Rosli, D. (TA)
CS 148: Introduction to Computer Graphics and Imaging
This is the introductory prerequisite course in the computer graphics sequence which introduces students to the technical concepts behind creating synthetic computer generated images. The beginning of the course focuses on using Blender to create visual imagery, as well as an understanding of the underlying mathematical concepts including triangles, normals, interpolation, texture mapping, bump mapping, etc. Then we move on to a more fundamental understanding of light and color, as well as how it impacts computer displays and printers. From this we discuss more thoroughly how light interacts with the environment, and we construct engineering models such as the BRDF and discuss various simplifications into more basic lighting and shading models. Finally, we discuss ray tracing technology for creating virtual images, while drawing parallels between ray tracers and real world cameras in order to illustrate various concepts. Anti-aliasing and acceleration structures are also discussed. The
more »
This is the introductory prerequisite course in the computer graphics sequence which introduces students to the technical concepts behind creating synthetic computer generated images. The beginning of the course focuses on using Blender to create visual imagery, as well as an understanding of the underlying mathematical concepts including triangles, normals, interpolation, texture mapping, bump mapping, etc. Then we move on to a more fundamental understanding of light and color, as well as how it impacts computer displays and printers. From this we discuss more thoroughly how light interacts with the environment, and we construct engineering models such as the BRDF and discuss various simplifications into more basic lighting and shading models. Finally, we discuss ray tracing technology for creating virtual images, while drawing parallels between ray tracers and real world cameras in order to illustrate various concepts. Anti-aliasing and acceleration structures are also discussed. The final class project consists of building out a ray tracer to create a visually compelling image. Starter codes and code bits will be provided here and there to aid in development, but this class focuses on what you can do with the code as opposed to what the code itself looks like. Therefore grading is weighted towards in person "demos" of the code in action - creativity and the production of impressive visual imagery are highly encouraged.This is the first course in the computer graphics sequence at Stanford. Topics include: Scanline Rendering; Triangles; Rasterization; Transformations; Shading; Triangle Meshes; Subdivision; Marching Cubes; Textures; Light; Color; Cameras; Displays; Tone Mapping; BRDF; Lighting Equation; Global Illumination; Radiosity; Ray Tracing; Acceleration Structures; Sampling; Antialiasing; Reflection; Transmission; Depth of Field; Motion Blur; Monte Carlo; Bidirectional Ray Tracing; Light Maps.
Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci, WAY-CE
Instructors:
Fedkiw, R. (PI)
;
Akintan, M. (TA)
;
Becker, N. (TA)
;
Frausto, J. (TA)
;
Halder, S. (TA)
;
He, H. (TA)
;
Jobalia, S. (TA)
;
Kaputa, Z. (TA)
;
Kuang, Z. (TA)
;
Leanza, L. (TA)
;
Li, J. (TA)
;
Mandal, U. (TA)
;
Omens, D. (TA)
;
Patterson, K. (TA)
;
Phan, K. (TA)
;
Rodriguez, S. (TA)
;
Ruban, R. (TA)
;
Shubhangi, S. (TA)
;
Tang, M. (TA)
;
Xia, J. (TA)
CS 149: Parallel Computing
This course is an introduction to parallelism and parallel programming. Most new computer architectures are parallel; programming these machines requires knowledge of the basic issues of and techniques for writing parallel software. Topics: varieties of parallelism in current hardware (e.g., fast networks, multicore, accelerators such as GPUs, vector instruction sets), importance of locality, implicit vs. explicit parallelism, shared vs. non-shared memory, synchronization mechanisms (locking, atomicity, transactions, barriers), and parallel programming models (threads, data parallel/streaming, MapReduce, Apache Spark, SPMD, message passing, SIMT, transactions, and nested parallelism). Significant parallel programming assignments will be given as homework. The course is open to students who have completed the introductory CS course sequence through 111.
Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Fatahalian, K. (PI)
;
Granado, M. (TA)
;
Guo, M. (TA)
...
more instructors for CS 149 »
Instructors:
Fatahalian, K. (PI)
;
Granado, M. (TA)
;
Guo, M. (TA)
;
Hong, J. (TA)
;
Hwa, J. (TA)
;
Jiang, S. (TA)
;
Kunjal, N. (TA)
;
Mitchell, Y. (TA)
;
Olukotun, O. (TA)
;
Shen, T. (TA)
;
Sundram, S. (TA)
;
You, Z. (TA)
Filter Results: