CS 1C: Introduction to Computing at Stanford (VPTL 1)
For those with limited experience with computers or who want to learn more about Stanford's computing environment. Topics include: computer maintenance and security, computing resources, Internet privacy, and copyright law. Onehour lecture/demonstration in dormitory clusters prepared and administered weekly by the Resident Computer Consultant (RCC). Final project. Not a programming course.
Terms: Aut

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Smith, S. (PI)
CS 1U: Practical Unix
A practical introduction to using the Unix operating system with a focus on Linux command line skills. Class will consist of video tutorials and weekly handson lab sections. Topics include: grep and regular expressions, ZSH, Vim and Emacs, basic and advanced GDB features, permissions, working with the file system, revision control, Unix utilities, environment customization, and using Python for shell scripts. Topics may be added, given sufficient interest. Course website:
http://cs1u.stanford.edu
Terms: Aut, Win, Spr

Units: 1

Grading: Satisfactory/No Credit
CS 7: Personal Finance for Engineers
Introduction to the fundamentals and analysis specifically needed by engineers to make informed and intelligent financial decisions. Course will focus on actual industrybased financial information from technology companies and realistic financial issues. Topics include: behavioral finance, budgeting, debt, compensation, stock options, investing and real estate. No prior finance or economics experience required.
Terms: Aut

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Nash, A. (PI)
CS 11SI: How to Make VR: Introduction to Virtual Reality Design and Development
In this handson, experiential course, students will design and develop virtual reality applications. You'll learn how to use the Unity game engine, the most popular platform for creating immersive applications. The class will teach the design bestpractices and the creation pipeline for VR applications, and will include tangents that explore sister fields such as augmented reality and 360 video. Students will work in groups to present a final project in building an application for the Oculus Go headset. Enrollment is limited and by rolling application only. Prerequisite:
CS 106A or equivalent.
Terms: Aut, Win, Spr

Units: 2

Grading: Satisfactory/No Credit
Instructors:
Borenstein, J. (PI)
CS 45N: Computers and Photography: From Capture to Sharing
Preference to freshmen with experience in photography and use of computers. Elements of photography, such as lighting, focus, depth of field, aperture, and composition. How a photographer makes photos available for computer viewing, reliably stores them, organizes them, tags them, searches them, and distributes them online. No programming experience required. Digital SLRs and editing software will be provided to those students who do not wish to use their own.
Terms: Aut, Spr

Units: 34

UG Reqs: WAYCE

Grading: Letter or Credit/No Credit
Instructors:
GarciaMolina, H. (PI)
CS 47: CrossPlatform Mobile Development
The fundamentals of crossplatform 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/B. Website:
https://web.stanford.edu/class/cs47/
Terms: Aut

Units: 2

Grading: Satisfactory/No Credit
Instructors:
Landay, J. (PI)
CS 80Q: Race and Gender in Silicon Valley (AFRICAAM 80Q)
This course interrogates the social challenges of Silicon Valley, a place of privilege, privation, and precarity, and encourages students to perform their own ethnographical studies through writing, coding, engagement, digital culture, and social practice. We will learn about the importance of technology in shaping our critical understanding of social conditions in our community and the global economy.
Terms: Aut

Units: 3

UG Reqs: WAYED

Grading: Letter or Credit/No Credit
Instructors:
Lee, C. (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 handson 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 inclass exercises.
Terms: Aut

Units: 35

UG Reqs: GER:DBEngrAppSci, WAYFR

Grading: Letter or Credit/No Credit
Instructors:
Taylor, A. (PI)
;
Shankar, S. (TA)
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 firstorder 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 firstorder 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 firstorder 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 firstorder logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole principle, mathematical induction, finite automata, regular expressions, the MyhillNerode theorem, contextfree grammars, Turing machines, decidable and recognizable languages, selfreference 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: 35

UG Reqs: GER:DBMath, WAYFR

Grading: Letter or Credit/No Credit
Instructors:
Lee, C. (PI)
;
Liu, A. (PI)
;
Schwarz, K. (PI)
;
Alvarez, J. (TA)
;
Brickner, A. (TA)
;
Hoag, E. (TA)
;
Kravitz, J. (TA)
;
Le, T. (TA)
;
Liang, D. (TA)
;
MayerHirshfeld, R. (TA)
;
Melloni, J. (TA)
;
Noyola, T. (TA)
;
Saini, D. (TA)
;
Saleh, M. (TA)
;
Smith, R. (TA)
;
Sriram, P. (TA)
;
Valdivia, H. (TA)
;
Zhu, M. (TA)
CS 103A: Mathematical Problemsolving Strategies
Problem solving strategies and techniques in discrete mathematics and computer science. Additional problem solving practice for
CS103. Inclass participation required. Prerequisite: consent of instructor. Corequisite:
CS103.
Terms: Aut, Win

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Lee, C. (PI)
;
Schwarz, K. (PI)
Filter Results: