## 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)
;
Chen, Z. (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 145: Introduction to Big Data Systems

Introduction to the use, design, and implementation of database and data-intensive systems, including data models; schema design; data storage; query processing, query optimization, and cost estimation; concurrency control, transactions, and failure recovery; distributed and parallel execution; semi-structured databases; and data system support for advanced analytics and machine learning. Prereqs: CS106B or
CS106X;
CS103. Need to have a basic understanding of RAM, disks, sorting/hashing algorithms. Soft prereqs: One of CS161 or
CS111.

Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci

Instructors:
Shivakumar, N. (PI)
;
Cai, X. (TA)
;
Garg, R. (TA)
;
Hodges, A. (TA)
;
Iyer, N. (TA)
;
Ladia, A. (TA)
;
Li, R. (TA)
;
Rangnekar, P. (TA)
;
Ronaghi, S. (TA)
;
Xia, I. (TA)
;
Zhao, J. (TA)

## CS 257: Introduction to Automated Reasoning

Automated logical reasoning has enabled substantial progress in many fields, including hardware and software verification, theorem-proving, and artificial in- telligence. Different application scenarios may require different automated rea- soning techniques and sometimes their combination. In this course, we will study widely-used logical theories as well as algorithms for answering whether formu- las in those theories are satisfiable. We will consider state-of-the-art automated reasoning techniques for propositional logic, first-order logic, and various first- order theories, such as linear arithmetic over reals and integers, uninterpreted functions, bit-vectors, and arrays. We will also consider ways to reason about combinations of those theories. Topics include: logical foundations, SAT-solving, techniques for first-order theorem proving, decision procedures for different first- order theories, theory combination, the DPLL(T) framework, and applications of automated reasoning in program analysis and hardware verification. Prerequisites: CS154 Introduction to the Theory of Computation, or CS106b Programming Abstractions and CS103 Mathematical Foundations of Computing, or consent of instructor

Last offered: Autumn 2023

## EE 374: Blockchain Foundations

A detailed exploration of the foundations of blockchains, What blockchains are, how they work, and why they are secure. Transactions, blocks, chains, proof-of-work and stake, wallets, the UTXO model, accounts model, light clients. Throughout the course, students build their own nodes from scratch. Security is defined and rigorously proved. The course is heavy on both engineering and theory. This course is a deeper investigation into the consensus layer of blockchains while
CS 251 is a broader investigation, and it can be taken with or without having taken
CS 251. Prerequisites: CS106 or equivalent, significant programming experience; CS103 or equivalent; CS109 or EE178 or equivalent.

Last offered: Winter 2023

Filter Results: