Print Settings
 

CS 110: Principles of Computer Systems

Principles and practice of engineering of computer software and hardware systems. Topics include: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities. Prerequisite: 107.
Last offered: Winter 2022 | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci

CS 110A: Problem Solving Lab for CS110

Additional design and implementation problems to complement the material taught in CS110. In-class participation is required. Prerequisite: consent of instructor. Corequisite: CS110.
Last offered: Winter 2022 | Units: 1

CS 110L: Safety in Systems Programming

Supplemental lab to CS 110. Explores how program analysis tools can find common bugs in programs and demonstrates how we can use the Rust programming language to build robust systems software. Course is project-based and will examine additional topics in concurrency and networking through the lens of Rust. Corequisite: CS 110
Last offered: Winter 2022 | Units: 2

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

CS 144: Introduction to Computer Networking

Principles and practice. Structure and components of computer networks, with focus on the Internet. Packet switching, layering, and routing. Transport and TCP: reliable delivery over an unreliable network, flow control, congestion control. Network names, addresses and ethernet switching. Includes significant programming component in C/C++; students build portions of the internet TCP/IP software. Prerequisite: CS110.
Terms: Win | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci

CS 153: Applied Security at Scale

This course is designed to help students understand the unique challenges of solving security problems at scale, and is taught by senior technology leaders from companies tackling hardware and software security for hundreds of millions of people. The course is split into six parts covering major themes: Basics, Confidential Computing, Privacy, Trust, Safety and Real World. The format of the class will include guest lectures from experts in each theme, covering a blend of both theory and real world scenarios. Prerequisite: CS110/CS111. Recommended but not required: CS155.
Terms: Win, Spr | Units: 3

CS 193U: Video Game Development in C++ and Unreal Engine

Hands-on game development in C++ using Unreal Engine 4, the game engine that triple-A games like Fortnite, PUBG, and Gears of War are all built on. Students will be introduced to the Unreal editor, game frameworks, physics, AI, multiplayer and networking, UI, and profiling and optimization. Project-based course where you build your own games and gain a solid foundation in Unreal's architecture that will apply to any future game projects. Pre-requisites: CS106B or CS106X required. CS107 and CS110 recommended.
Last offered: Autumn 2020 | Units: 3

CS 251: Cryptocurrencies and blockchain technologies

For advanced undergraduates and for graduate students.  The potential applications for Bitcoin-like technologies is enormous.  The course will cover the technical aspects of cryptocurrencies, blockchain technologies, and distributed consensus. Students will learn how these systems work, and how to engineer secure software that interacts with Blockchains like Bitcoin, Ethereum, and others. Prerequisite: CS110. Recommended: CS255.
Terms: Aut | Units: 3

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 349G: Selected Reading of Ph.D. Dissertations

Detailed reading of 5 selected Ph.D. dissertations within a field of computer science. For undergraduates, the course is an introduction to advanced foundational concepts within a field as well as an in-depth look at detailed research. For graduate students, the course focuses on historical reading as well as an opportunity to read dissertations and discuss their strengths and weaknesses. Both groups of students discuss historical context, how ideas succeeded or did not and why, and how they manifest in modern technology. The discussion of each dissertation completes with a guest lecture by its author. The selected dissertations change with each offering but are always from a coherent time period and topic area. Prerequisites: CS110 for undergraduates, EE282 for graduate students.
Last offered: Winter 2021 | Units: 3 | Repeatable 10 times (up to 30 units total)

CS 349T: Project Lab: Video and Audio Technology for Live Theater in the Age of COVID (EE 192T)

This class is part of a multi-disciplinary collaboration between researchers in the CS, EE, and TAPS departments to design and develop a system to host a live theatrical production that will take place over the Internet in the winter quarter. The performing arts have been greatly affected by a transition to theater over Zoom and its competitors, none of which are great at delivering low-latency audio to actors, or high-quality audio and video to the audience, or feedback from the audience back to actors. These are big technical challenges. During the fall, we'll build a system that improves on current systems in certain areas: audio quality and latency over spotty Internet connections, video quality and realistic composited scenes with multiple actors, audience feedback, and perhaps digital puppetry. Students will learn to be part of a deadline-driven software development effort working to meet the needs of a theater director and creative specialists -- while communicating the effect of resource limits and constraints to a nontechnical audience. This is an experimental hands-on laboratory class, and our direction may shift as the creative needs of the theatrical production evolve. Based on the success of class projects and subsequent needs, some students may be invited to continue in the winter term with a research appointment (for pay or credit) to operate the system you have built and instruct actors and creative professionals how to work with the system through rehearsals and the final performance before spring break. Prerequisites: CS110 or EE102A. Recommended: familiarity with Linux, C++, and Git.
Last offered: Autumn 2020 | Units: 3

EE 192T: Project Lab: Video and Audio Technology for Live Theater in the Age of COVID (CS 349T)

This class is part of a multi-disciplinary collaboration between researchers in the CS, EE, and TAPS departments to design and develop a system to host a live theatrical production that will take place over the Internet in the winter quarter. The performing arts have been greatly affected by a transition to theater over Zoom and its competitors, none of which are great at delivering low-latency audio to actors, or high-quality audio and video to the audience, or feedback from the audience back to actors. These are big technical challenges. During the fall, we'll build a system that improves on current systems in certain areas: audio quality and latency over spotty Internet connections, video quality and realistic composited scenes with multiple actors, audience feedback, and perhaps digital puppetry. Students will learn to be part of a deadline-driven software development effort working to meet the needs of a theater director and creative specialists -- while communicating the effect of resource limits and constraints to a nontechnical audience. This is an experimental hands-on laboratory class, and our direction may shift as the creative needs of the theatrical production evolve. Based on the success of class projects and subsequent needs, some students may be invited to continue in the winter term with a research appointment (for pay or credit) to operate the system you have built and instruct actors and creative professionals how to work with the system through rehearsals and the final performance before spring break. Prerequisites: CS110 or EE102A. Recommended: familiarity with Linux, C++, and Git.
Last offered: Autumn 2020 | Units: 3

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
© Stanford University | Terms of Use | Copyright Complaints