CS 58: You Say You Want a Revolution (Blockchain Edition)
This projectbased course will give creative students an opportunity to work together on revolutionary change leveraging blockchain technology. The course will provide opportunities for students to become operationally familiar with blockchain concepts, supported by presentation of blockchain fundamentals at a level accessible to those with or without a strong technical background. Specific topics include: incentives, ethics, cryptocommons, values, FOMO 3D, risks, implications and social good. Students will each discover a new possible usecase for blockchain and prototype their vision for the future accordingly. Application and impact areas may come from medicine, law, economics, history, anthropology, or other sectors. Student diversity of background will be valued highly.
Terms: Win

Units: 2

Grading: Letter or Credit/No Credit
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 83: Playback Theater For Research
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: Win

Units: 3

UG Reqs: WAYCE

Grading: Letter or Credit/No Credit
Instructors:
Reingold, O. (PI)
CS 93: Teaching AI
For graduate students who are TAing an AI course. This course prepares new AI section leaders to teach, write, and evaluate AI content. In class, you will be evaluating final projects individually and as a group. You will have discussions criticizing papers and assigning grades to them. You will analyze and solve discussion session problems on the board, explain algorithmsnlike backpropagation, and learn how to give constructive feedback to students. The class will also include a guest speaker who will give teaching advice and talk about AI. Focus is on teaching skills, techniques, and final projects grading. The class meets once a week for the first 6 weeks of the quarter.
Terms: Spr

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Bensouda Mourri, Y. (PI)
;
Ng, A. (PI)
CS 100A: Problemsolving 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: Win, Spr

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Parlante, N. (PI)
;
Piech, C. (PI)
CS 100B: Problemsolving 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: Win, Spr

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Schwarz, K. (PI)
;
Stepp, M. (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 102: Big Data  Tools and Techniques
Aimed at nonCS undergraduate and graduate students who want to learn the basics of big data tools and techniques and apply that knowledge in their areas of study. Many of the world's biggest discoveries and decisions in science, technology, business, medicine, politics, and society as a whole, are now being made on the basis of collecting and analyzing large volumes of data. At the same time, it is surprisingly easy to make errors or come to false conclusions from data analysis alone. This course provides a broad and practical introduction to big data: data analysis techniques including databases, data mining, and machine learning; data analysis tools including spreadsheets, relational databases and SQL, Python, and R; data visualization techniques and tools; pitfalls in data collection and analysis. Tools and techniques are handson but at a cursory level, providing a basis for future exploration and application. Prerequisites: comfort with basic logic and mathematical concepts, along with high school AP computer science,
CS106A, or other equivalent programming experience.
Terms: Win

Units: 34

UG Reqs: WAYAQR

Grading: Letter or Credit/No Credit
Instructors:
Widom, J. (PI)
;
Chen, S. (TA)
;
Haigh, A. (TA)
;
Lin, V. (TA)
;
Mehr, L. (TA)
;
Solitario, J. (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:
Fang, F. (PI)
;
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)
;
Murphy, D. (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: