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 industry-based 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
Instructors:
Nash, A. (PI)
CS 40: Cloud Infrastructure and Scalable Application Deployment
Trying to launch your next viral programming project and anticipating substantial user growth? This course will help you learn to implement your ideas in the cloud in a scalable, cost-effective manner. Topics will include cloud AI/ML pipelines, virtual machines, containers, basic networking, expressing infrastructure as code (IaC), data management, security and observability, and continuous integration and deployment (CI/CD). Through hands-on learning and practical examples, you'll learn to effectively deploy and manage cloud infrastructure. There is no out-of-pocket cost associated with this class and cloud credits will be provided for all students. Prerequisites: Programming maturity up to
CS 107. Familiarity with the command line, version control, and basic development tools to the level of
CS 45/
CS 104, in particular: Basic Unix command line utilities and administration; Editing code with a TUI editor such as vim, emacs, or nano; Using Git and GitHub for collaborative projects (i.e. branching and pull requests); Basic familiarity with package managers for languages and operating systems (e.g., pip, apt, homebrew); Prior web development or networking experience helpful but not required.
Terms: Aut
| Units: 3
CS 44N: Great Ideas in Graphics
A hands-on interactive and fun exploration of great ideas from computer graphics. Motivated by graphics concepts, mathematical foundations and computer algorithms, students will explore an eccentric selection of "great ideas" through short weekly programming projects. Project topics will be selected from a diverse array of computer graphics concepts and historical elements.
Terms: Aut
| Units: 3
Instructors:
James, D. (PI)
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 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:
Ofosu, A. (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
Instructors:
Jeong, K. (PI)
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
| Units: 3-5
| UG Reqs: GER:DB-Math, WAY-FR
Instructors:
Aiken, A. (PI)
;
Bailey, C. (PI)
;
Schwarz, K. (PI)
;
Szumlanski, S. (PI)
;
Aiu, K. (TA)
;
Bosman, L. (TA)
;
Cao, S. (TA)
;
Carrell, T. (TA)
;
Dieulesaint, C. (TA)
;
Guha, N. (TA)
;
Han, R. (TA)
;
Pandya, D. (TA)
;
Raman, V. (TA)
CS 103ACE: Mathematical Problem-solving Strategies
Problem solving strategies and techniques in discrete mathematics and computer science. Additional problem solving practice for
CS103. In-class participation required. Prerequisite: consent of instructor. Co-requisite:
CS103.
Terms: Aut, Win, Spr
| Units: 1
Instructors:
Sierra, E. (PI)
CS 105: Introduction to Computers
For non-technical majors. What computers are and how they work. Practical experience in development of websites and an introduction to programming. A survey of Internet technology and the basics of computer hardware. Students in technical fields and students looking to acquire programming skills should take 106A or 106X. Students with prior computer science experience at the level of 106 or above require consent of instructor. Prerequisite: minimal math skills.
Terms: Aut, Spr
| Units: 3-5
| UG Reqs: WAY-FR, GER:DB-EngrAppSci
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.
Terms: Aut, Win, Spr
| Units: 3-5
| UG Reqs: WAY-FR, GER:DB-EngrAppSci
Filter Results: