See what classes I've taken.

Randomized complexity, polynomial identity testing via Schwartz–Zippel, concentration inequalities, random hashing, Rabin-Karp pattern matching, ℓ_{0} sampling, distributed/streaming graph sketches, approximate matrix multiplication, low-rank approximation, stochastic trace estimation, subspace embedding via Johnson-Lindenstrauss, epsilon nets, Hanson-Wright, matrix concentration bounds, spectral graph sparsification, Markov chains, Markov chain Monte Carlo methods, Metropolis-Hastings, convex relaxation, randomized rounding, probabilistic method

TBD

TBD

Probability, hashing, exponential concentration bounds, Bloom filters, distinct elements estimation via Flajolet-Martin and HyperLogLog, frequent elements estimation via locality-sensitive hashing, randomized embedding via Johnson-Lindenstrauss, low-rank approximation via singular value decomposition and principal component analysis, spectral clustering, power and Krylov methods, (projected) gradient descent

More InfoRegular languages, regular expressions, finite automata, Kleene's theorem, Myhill-Nerode theorem, context-free languages, pushdown automata, Pumping lemma, Turing machines, Church-Turing thesis, recognizability, decidability, reducibility, recursion theorem, Kolmogorov complexity, time complexity, P, NP, NP-completeness, space complexity, L, circuit complexity, NC classes, branching programs

More InfoApplication layer protocols (HTTP, email, DNS), P2P protocols, video streaming, CDNs, transport layer protocols (UDP, TCP), (de)multiplexing, checksums, pipelining, flow control, congestion control, network layer protocols (IPv4, NAT, IPv6), router internals, OpenFlow forwarding, middleboxes, routing algorithms (link-state, distance-vector), routing protocols (OSPF, BGP, ICMP), software-defined networking, net neutrality, link layer protocols (ARP), MAC addresses, error detection/correction, multiple access protocols, LANs, switches

More InfoWeb crawling, duplicate detection, text statistics, tokenization, stopping, stemming, internationalization, inverted indices, query processing, spellcheck, query expansion, (pseudo-)relevance feedback, boolean retrieval models, vector space retrieval models, probabilistic models (BM25), language models (QL), machine learning models, effectiveness metrics (recall, precision, F-measure, averaging, interpolation)

TBD

Uninformed search, heuristics, A* search, constraint satisfaction problems, local search, game trees, Markov decision processes, reinforcement learning, Bayesian networks, hidden Markov models, particle filters, machine learning, perceptrons, kernel methods, clustering, deep learning, ethics

More InfoProcesses, system calls, limited direct execution, CPU scheduling algorithms (FIFO, SJF, round robin, MLFQ), threads, concurrency primitives (locks, semaphores, conditional variables), I/O devices, file systems, virtual memory, address translation, address segmentation, free space management, page tables, TLBs

Displays, color, images, dithering, mosaics, convolution, Bézier curves, B-splines, Hermite splines, surfaces, Loop subdivision, transformations, projection, rasterization, visibility testing (painter's algorithm, Z-buffering, binary space partitioning trees), hierarchical scenes, shading (Lambertian, specular), ray tracing, texture mapping via perspective-correct interpolation

SQL (PostgreSQL), entity-relationship models and diagrams, functional dependence, normalization, indexes, transactions, concurrency, database programming, MongoDB

JavaScript, object-oriented programming, HTML, DOM surgery, CSS, single-page applications (SPAs), HTTP, event model, asynchrony, REST APIs, routing, Express, authentication

More InfoStable matching, runtime analysis, graph search algorithms (BFS, DFS), bipartiteness, connectivity, DAGs, topological ordering, greedy algorithms, interval scheduling, Dijkstra's algorithm, minimum spanning trees, Prim's algorith, Kruskal's algorithm, divide-and-conquer, merge sort, master theorem, dynamic programming, weighted interval scheduling, subset sum, knapsack problem, sequence alignment, network flow, Ford-Fulkerson algorithm, reductions, P, NP, NP-completeness, network algorithms, triangulation, convex hulls

More InfoPropositional logic, predicate logic, proof techniques, sets, relations, functions, modular arithmetic, fundamental theorem of arithmetic, Chinese remainder theorem, induction, strong induction, structural induction, BFS, DFS, uniform-cost search, A* search, game trees, regular languages, regular expressions, finite automata (DFAs, NFAs, ε-NFAs), Kleene's theorem, Myhill-Nerode theorem, Turing machines, recognizability, decidability, halting problem, formal systems, self-reference, Gödel's incompleteness theorem

More InfoProbability axioms, conditional probability, Bayes' rule, (conditional) independence, combinations, permutations, discrete random variables, expectation, variance, functions of random variables, continuous random variables (uniform, Bernoulli, binomial, geometric, Poisson, exponential, normal), Markov's inequality, Chebyshev's inequality, law of large numbers, central limit theorem, joint distributions, covariance, correlation, Nash equilibria, Markov chains, Bayesian networks

More InfoBinary, programming in C, system calls, file descriptors, von Neumann architecture, CPU pipelining, branch prediction, registers, x86 assembly, memory hierarchy, caching, eviction and replacement policies, processes, signals, threads, synchronization mechanisms (semaphores, mutexes), socket API

TypeScript, higher-order functions, closures, unit testing, property-based testing, linked lists, object-oriented design, fluent design, builder pattern, streams, observer pattern, SOLID principles, asynchronous programming, program correctness, interpreters

C basics, gcc, gdb, arrays, functions, strings, structs, enums, binary/hexadecimal, pointers, pointer arithmetic, linked lists, dynamic allocation, preprocessor, file I/O, extern/static, linking, header files, Make

Java generics, runtime complexity, linear search, binary search, quadratic sorting, merge sort, quicksort, radix sort, linked lists, stacks, queues, binary search trees, AVL trees, B-trees, heaps, treaps, priority queues, hash tables, graphs, BFS, DFS

Taylor polynomials, floating point representation, roundoff error, bisection method, fixed point iteration, Newton's method, secant method, Gaussian elimination, LU decomposition, partial pivoting, Cholesky decomposition, condition number, Jacobi iteration, Gauss-Seidel iteration, successive over-relaxation, monomial interpolation, Lagrange interpolation, Newton interpolation, divided differences, quadrature algorithms (trapezoid, Simpson, midpoint, and composite variants of each)

TBD

Rings, fields, commutativity, zero divisors, units, ideals, direct sums, homomorphisms, isomorphism theorems, prime ideals, integral domains, maximal ideals, principal ideal domains, unique factorization domains, polynomial rings, irreducible polynomials, minimal polynomials, field extensions, finite fields, automorphisms of field extensions, Galois theory

Binary operations, groups, powers, orders, cyclic groups, subgroups, direct products, functions, permutations, symmetric groups, alternating groups, equivalence relations, cosets, Lagrange's theorem, normal subgroups, homomorphisms, isomorphism theorems, finite abelian groups

Linear first-order differential equations, separable differential equations, Euler's method, exact differential equations, second-order differential equations, Wronskian determinants, mass-spring systems, Laplace transformations, step functions, Dirac delta function, systems of differential equations, eigenvalues and eigenvectors

Systems of equations, matrices, row reduction, linear independence, linear transformations, invertible matrices, invertible matrix theorem, determinants, vector spaces, subspaces, column spaces, null spaces, coordinate systems, rank, rank-nullity theory, change of bases, eigenvalues and eigenvectors, diagonalization, inner products, orthogonality, orthogonal projections, Gram-Schmidt process

Vectors, dot product, cross product, equations of lines and planes, vector functions, arc length, curvature, partial derivatives, chain rule, gradients, directional derivatives, extrema, Lagrange multipliers, double/area integrals, polar coordinates, triple/volume integrals, cylindrical coordinates, spherical coordinates, vector fields, line integrals, Green's theorem, curl, divergence, surface integrals, Stoke's theorem, divergence theorem

Set theory, probability axioms, counting, random variables, discrete random variables, expectation, variance, Markov's inequality, Chebyshev's inequality, moment-generating functions, continuous random variables, joint distributions, independence, covariance, conditional expectation, functions of random variables, sampling, law of large numbers, central limit theorem