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
More InfoProbability, 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 InfoRandomized algorithms, sampling algorithms, sublinear algorithms, numerical linear algebra, eigenvector approximation, approximate spectral clustering, NumPy, SciPy
Application 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)
Scanning, finite automata, parsing, top-down parsing (LL(1)), bottom-up parsing (LR(1)), intermediate representations, symbol tables, virtual addressing, procedure calls, activation records, data-flow analysis (reaching definitions, live variables, available expressions), local value numbering, instruction selection, register allocation via graph coloring
More InfoUninformed 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)
Gaussian elimination, LU decomposition, matrix conditioning (condition numbers), polynomial interpolation, differential equations via finite differences, orthogonality, fundamental subspaces, QR decomposition, least squares approximation, diagonalization, singular value decomposition
More InfoRings, 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