# Computer Science (CS) Courses (2021-22)

Ma/CS 6/106 abc.
Introduction to Discrete Mathematics.
9 units (3-0-6):
first, seconnd, third terms.
Prerequisites: for Ma/CS 6 c, Ma/CS 6 a or Ma 5 a or instructor's permission.
First term: a survey emphasizing graph theory, algorithms, and applications of algebraic structures. Graphs: paths, trees, circuits, breadth-first and depth-first searches, colorings, matchings. Enumeration techniques; formal power series; combinatorial interpretations. Topics from coding and cryptography, including Hamming codes and RSA. Second term: directed graphs; networks; combinatorial optimization; linear programming. Permutation groups; counting nonisomorphic structures. Topics from extremal graph and set theory, and partially ordered sets. Third term: elements of computability theory and computational complexity. Discussion of the P=NP problem, syntax and semantics of propositional and first-order logic. Introduction to the Gödel completeness and incompleteness theorems.
Instructors: Conlon, Schülke, Kechris.

Ma/CS 117 abc.
Computability Theory.
9 units (3-0-6):
first, second, third terms.
Prerequisites: Ma 5 or equivalent, or instructor's permission.
Various approaches to computability theory, e.g., Turing machines, recursive functions, Markov algorithms; proof of their equivalence. Church's thesis. Theory of computable functions and effectively enumerable sets. Decision problems. Undecidable problems: word problems for groups, solvability of Diophantine equations (Hilbert's 10th problem). Relations with mathematical logic and the Gödel incompleteness theorems. Decidable problems, from number theory, algebra, combinatorics, and logic. Complexity of decision procedures. Inherently complex problems of exponential and superexponential difficulty. Feasible (polynomial time) computations. Polynomial deterministic vs. nondeterministic algorithms, NP-complete problems and the P = NP question. Not offered 2021-22.

CS/Ph 120.
Quantum Cryptography.
9 units (3-0-6):
first term.
Prerequisites: Ma 1b, Ph 2b or Ph 12b, CS 21, CS 38 or equivalent recommended (or instructor's permission).
This course is an introduction to quantum cryptography: how to use quantum effects, such as quantum entanglement and uncertainty, to implement cryptographic tasks with levels of security that are impossible to achieve classically. The course covers the fundamental ideas of quantum information that form the basis for quantum cryptography, such as entanglement and quantifying quantum knowledge. We will introduce the security definition for quantum key distribution and see protocols and proofs of security for this task. We will also discuss the basics of device-independent quantum cryptography as well as other cryptographic tasks and protocols, such as bit commitment or position-based cryptography. Not offered 2021-2022

EE/Ma/CS 126 ab.
Information Theory.
9 units (3-0-6):
first, second terms.
Prerequisites: Ma 3.
Shannon's mathematical theory of communication, 1948-present. Entropy, relative entropy, and mutual information for discrete and continuous random variables. Shannon's source and channel coding theorems. Mathematical models for information sources and communication channels, including memoryless, Markov, ergodic, and Gaussian. Calculation of capacity and rate-distortion functions. Universal source codes. Side information in source coding and communications. Network information theory, including multiuser data compression, multiple access channels, broadcast channels, and multiterminal networks. Discussion of philosophical and practical implications of the theory. This course, when combined with EE 112, EE/Ma/CS/IDS 127, EE/CS 161, and EE/CS/IDS 167, should prepare the student for research in information theory, coding theory, wireless communications, and/or data compression. EE/Ma/CS 126a offered 2021-2022; EE/Ma/CS 126b not offered 2021-2022.
Instructor: Effros.

EE/Ma/CS/IDS 127.
Error-Correcting Codes.
9 units (3-0-6):
third term.
Prerequisites: EE 55 or Ma 3.
This course develops from first principles the theory and practical implementation of the most important techniques for combating errors in digital transmission or storage systems. Topics include highly symmetric linear codes, such as Hamming, Reed-Muller, and Polar codes; algebraic block codes, e.g., BCH, Reed-Solomon (including a self-contained introduction to the theory of finite fields); and sparse graph codes with iterative decoding, i.e., LDPC code and turbo codes. Students will become acquainted with encoding and decoding algorithms, design principles and performance evaluation of codes.
Instructor: Kostina.

EE/Ma/CS/IDS 136.
Topics in Information Theory.
9 units (3-0-6):
third term.
Prerequisites: Ma 3 or ACM/EE/IDS 116 or CMS 117 or Ma/ACM/IDS 140a.
This class introduces information measures such as entropy, information divergence, mutual information, information density from a probabilistic point of view, and discusses the relations of those quantities to problems in data compression and transmission, statistical inference, language modeling, game theory and control. Topics include information projection, data processing inequalities, sufficient statistics, hypothesis testing, single-shot approach in information theory, large deviations. Not offered 2021-2022.
Instructor: Kostina.

CNS/Bi/Ph/CS/NB 187.
Neural Computation.
9 units (3-0-6):
third term.
Prerequisites: introductory neuroscience (Bi 150 or equivalent); mathematical methods (Bi 195 or equivalent); scientific programming.
This course aims at a quantitative understanding of how the nervous system computes. The goal is to link phenomena across scales from membrane proteins to cells, circuits, brain systems, and behavior. We will learn how to formulate these connections in terms of mathematical models, how to test these models experimentally, and how to interpret experimental data quantitatively. The concepts will be developed with motivation from some of the fascinating phenomena of animal behavior, such as: aerobatic control of insect flight, precise localization of sounds, sensing of single photons, reliable navigation and homing, rapid decision-making during escape, one-shot learning, and large-capacity recognition memory.
Instructors: Meister, Rutishauser.

Ph/CS 219 abc.
Quantum Computation.
9 units (3-0-6):
first, second, third terms.
Prerequisites: Ph 125 ab or equivalent.
The theory of quantum information and quantum computation. Overview of classical information theory, compression of quantum information, transmission of quantum information through noisy channels, quantum error-correcting codes, quantum cryptography and teleportation. Overview of classical complexity theory, quantum complexity, efficient quantum algorithms, fault-tolerant quantum computation, physical implementations of quantum computation.
Instructors: Preskill, Kitaev.