Autumn
Winter
Spring
Summer

31 - 40 of 366 results for: CS

CS 64: Computation for Puzzles and Games

How can we apply computer science to better understand (and have even more fun with) games and puzzles? What can we do when a game is too complex to analyze exhaustively, or when no efficient algorithms exist to solve a logic puzzle? This sampler course will whet your appetite for CS theory and AI as we apply those lenses to both classics (e.g., chess, Scrabble, the Rubik's cube, the Lights Out puzzle) and modern favorites (e.g., Sudoku, Kakuro, Esports, and tool-assisted speedruns). Each week, we will have one lecture and one optional hands-on puzzle/problem solving session, culminating in an (optional) on-foot puzzle hunt around campus. Material of varying technical complexity will be presented, and although some experience with programming and CS theory will be helpful, the course is open to all.
Last offered: Autumn 2022 | Units: 1

CS 80E: Dissecting The Modern Computer

In this course, students will be given a high-level, accessible introduction to computer architecture through the use of the RISC-V ISA. Through a series of interactive units, students will learn about the inner-workings of computers, from the execution of our programs all the way down to the hardware that runs them. Topics include simple digital circuits, assembly, simple processors, memory systems (Cache, DRAM, Disk), and bonus topics like GPU's. After completing this class, students should have a newfound appreciation for how incredible computational technology is, as well as direction to fantastic classes that delve into some of these topics in more detail, like CS149, EE108, and EE180. Prerequisite: CS106B.
Terms: Aut | Units: 2
Instructors: Master, T. (PI)

CS 80Q: Race and Gender in Silicon Valley (AFRICAAM 80Q)

Join us as we go behind the scenes of some of the big headlines about trouble in Silicon Valley. We'll start with the basic questions like who decides who gets to see themselves as "a computer person," and how do early childhood and educational experiences shape our perceptions of our relationship to technology? Then we'll see how those questions are fundamental to a wide variety of recent events from #metoo in tech companies, to the ways the under-representation of women and people of color in tech companies impacts the kinds of products that Silicon Valley brings to market. We'll see how data and the coming age of AI raise the stakes on these questions of identity and technology. How can we ensure that AI technology will help reduce bias in human decision-making in areas from marketing to criminal justice, rather than amplify it?
Last offered: Autumn 2022 | Units: 3 | UG Reqs: WAY-EDP

CS 83N: Playback Theater

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

CS 91: Digital Canvas: An Introduction to UI/UX Design

This course is focused on the application of UX/UI design concepts to actual user interfaces: the creation of wireframes, high-fidelity mockups, and clickable prototypes. We will be focusing on what makes a good or bad user interface, effective design techniques, and how to employ these techniques using Figma and Marvel to make realistic prototypes. This course is ideal for anyone with little to no visual design experience who would like to build their skill set in UI/UX for app or web design. It would also be ideal for anyone with experience in front or back-end web development or human-computer interaction that would want to sharpen their visual design and analysis skills for UI/UX.
| Units: 2

CS 91SI: Digital Canvas: An Introduction to UI/UX Design

In this course, students learn digital design in a low-stress environment. We will teach the essential concepts of UI/UX design and create actual user interfaces in a project-based format. By the end of the class, students will have experience in creating handoff-ready interactive high-fidelity mockups for a realistic product feature. This course covers what makes a good or bad interface, effective design techniques from the ground up, and how to execute on design principles using the tool Figma. Limited enrollment - admission determined by short application due 11:59 PM on Jan 6: https://forms.gle/LAb2Rx3VJh3BR9is8. No required prerequisites. Recommended: some prior experience in product design, human-computer interaction, or front-end engineering
Last offered: Winter 2025 | Units: 2

CS 99: Functional Programming and Theorem Proving in Lean 4

Objectives: Historically, mathematics and reasoning has almost always been done in prose: natural language text describing the relevant steps and logic involved. With the help of Proof Assistants, computers can automatically check mathematical proofs and reasoning. In this course we will give an introduction to Lean 4, a proof assistant and purely functional programming language. We introduce Lean first as a programming language for the first half of the course. In the latter half of the course, we explain its proof assistant features. Topics: Abstract data types, monads, error handling, type instances, type theory, specifically the calculus of inductive constructions (CIC), expression- and tactic-based theorem proving, and various libraries in Mathlib4. Target Audience: Students who want to learn about formalizing mathematics are the primary audience. The goal of the course is not to learn advanced mathematical concepts since the mathematical part stops at differential calculus. Students only need a reasonable aptitude in mathematics as a prerequisite. The secondary audience are researchers
Last offered: Spring 2025 | Units: 1

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: Ebssa, E. (PI)

CS 100BACE: Problem-solving Lab for CS106B

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

CS 103: Mathematical Foundations of Computing

What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in first-order logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole prin more »
What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in first-order logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole principle, mathematical induction, finite automata, regular expressions, the Myhill-Nerode theorem, context-free grammars, Turing machines, decidable and recognizable languages, self-reference and undecidability, verifiers, and the P versus NP question. Students with significant proofwriting experience are encouraged to instead take CS154. Students interested in extra practice and support with the course are encouraged to concurrently enroll in CS103A. Prerequisite: CS106B or equivalent. CS106B may be taken concurrently with CS103.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-Math, WAY-FR
© Stanford University | Terms of Use | Copyright Complaints