Courses

Computer Science Mathematics Linguistics

Spring 2019

CS 188 (Artificial Intelligence) | Ideas and techniques underlying the design of intelligent computer systems. Topics include search, game playing, knowledge representation, inference, planning, reasoning under uncertainty, machine learning, robotics, perception, and language understanding.

Math 128A (Numerical Analysis) | Basic concepts and methods in numerical analysis: Solution of equations in one variable; Polynomial interpolation and approximation; Numerical differentiation and integration; Initial-value problems for ordinary differential equations; Direct methods for solving linear systems.

Fall 2018

CS 164 (Programming Languages & Compilers) | Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling.

Math 185 (Complex Analysis) | Analytic functions of a complex variable. Cauchy-Riemann equations. Cauchy-Goursat theorem. Liouville's theorem. Fundamental theorem of algebra. Laurent’s theorem. Power series, Laurent series, singularities of analytic functions, the residue theorem with application to definite integrals. Some additional topics such as conformal mapping.

Ling 220A (Advanced Syntax) | This course aims at developing a solid conceptual, analytical, and empirical foundation for doing research in syntax and semantics. The emphasis is on gaining familiarity with the central empirical phenomena, as well as core theoretical notions, methodology, and argumentation.

Spring 2018

CS 189 (Machine Learning) | Theoretical foundations, algorithms, methodologies, and applications for machine learning. Topics may include supervised methods for regression and classification (linear models, trees, neural networks, ensemble methods, instance-based methods); generative and discriminative probabilistic models; Bayesian parametric learning; density estimation and clustering; Bayesian networks; time series models; dimensionality reduction; programming projects covering a variety of real-world applications.

EECS 127 (Optimization Models in Engineering) | This course offers an introduction to optimization models and their applications, ranging from machine learning and statistics to decision-making and control, with emphasis on numerically tractable problems, such as linear or constrained least-squares optimization.

Math 104 (Real Analysis) | The real number system. Fields. Basic topology. The concept of a metric space. Compactness. Sequences, series, and limits. The root and ratio tests. Power series. Convergence. Rearrangements. Continuity. Uniform convergence, interchange of limit operations. Infinite series. Mean value theorem and applications. Differentiation. The Riemann integral. Sequences and series of functions. Stone-Weierstrass Theorem.

Ling 120 (Syntax & Semantics) | An introduction to the study of the structural properties of sentences and the connections between sentence structure and sentence meaning. Basic elements and methods of modern syntactic theory. Basic elements and methods of modern semantic theory. Major syntactic structures of English and other languages.

Fall 2017

CS 161 (Computer Security) | Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.

EECS 126 (Probability & Random Processes) | This course covers the fundamentals of probability and random processes useful in fields such as networks, communication, signal processing, and control. Sample space, events, probability law. Conditional probability. Independence. Random variables. Distribution, density functions. Random vectors. Law of large numbers. Central limit theorem. Estimation and detection. Markov chains.

Math 113 (Abstract Algebra) | Sets and relations. The integers, congruences, and the Fundamental Theorem of Arithmetic. Groups, subgroups, cyclic groups, factor groups. Cayley’s Theorem. Lagrange’s Theorem. Commutative rings, ideals, and quotient fields. The theory of polynomials: Euclidean algorithm and unique factorizations. Homomorphisms, ideals. The Fundamental Theorem of Algebra. Unique factorization domains, principal ideal domains, Euclidean domains. Gaussian integers. Fields and field extensions. Algebraic extensions. Geometric constructions.

Ling 100 (Intro to Linguistics) | An intensive introduction of linguistic analysis, including core areas such as phonetics and phonology, morphology, and syntax and semantics, with data from a range of languages. Argumentation and writing skills are developed through substantial weekly homework assignments.

Spring 2017

CS 61C (Machine Structures) | The internal organization and operation of digital computers. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions.

CS 170 (Efficient Algorithms & Intractable Problems) | Concept and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algorithms for optimum search trees, balanced trees and union-find algorithms; numerical and algebraic algorithms; combinatorial algorithms. Turing machines, how to count steps, deterministic and nondeterministic Turing machines, NP-completeness. Unsolvable and intractable problems.

EE 16A (Designing Information Devices & Systems) | The fundamentals of designing modern information devices and systems that interface with the real world. A foundation for core EECS topics in signal processing, learning, control, and circuit design while introducing key linear-algebraic concepts motivated by application contexts. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises.

Fall 2016

CS 61B (Data Structures) | Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.

CS 70 (Discrete Math & Probability Theory) | Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference.

Math 110 (Linear Algebra) | Matrices, vector spaces, linear transformations, inner products, determinants. Eigenvalues, eigenvectors, characteristic polynomials. Diagonalization. QR factorization. Quadratic forms and Rayleigh's principle. Cayley-Hamilton Theorem. Jordan canonical form, applications. Markov chains. Linear differential equations. Adjoint, self-adjoint, and normal operators. Linear functionals.

Spring 2016

CS 61A (Structure & Interpretation of Computer Programs) | An introduction to programming and computer science focused on abstraction techniques as means to manage program complexity. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. The course exposes students to programming paradigms, including functional, object-oriented, and declarative approaches. It includes an introduction to asymptotic analysis of algorithms. There are several significant programming projects.

Math 53 (Multivariable Calculus) | Parametric equations and polar coordinates. Vectors in 2- and 3-dimensional Euclidean spaces. Dot product and cross product. Velocity, acceleration. Functions of several variables. Partial derivatives. Chain rule. Gradients. Max-min problems. Lagrange multipliers. Double and triple integrals. Vector calculus. Theorems of Green, Gauss, and Stokes. Applications to physics.

Stat 134 (Concepts of Probability) | An introduction to probability, emphasizing concepts and applications. Conditional expectation, independence, laws of large numbers. Discrete and continuous random variables. Central limit theorem. Selected topics such as the Poisson process, Markov chains, characteristic functions.

Fall 2015

CS 10 (Beauty and Joy of Computing) | An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests.

Math 54 (Linear Algebra & Differential Equations) | Basic linear algebra. Matrix arithmetic and determinants. Vector spaces, inner product spaces. Eigenvalues and eigenvectors. Orthogonality, symmetric matrices. Linear second-order differential equations, first-order systems with constant coefficients. Fourier series, application to partial differential equations.

Stat 20 (Intro to Probability & Statistics) | Relative frequencies, discrete probability, random variables, expectation. Summation, correlation, regression. Binomial distribution. Law of averages; box models. Probability histograms, normal approximation. Sampling, confidence intervals. Testing hypotheses. Chi-square distribution. Estimation. Illustrations from various fields.