Spring 2017 | 16 pages

Introductory course covering parametric equations and polar coordinates, partial derivatives, multiple integrals, vector calculus, and the theorems of Green, Gauss, and Stokes.

Spring 2017 | 13 pages

Proof-centric course covering vector spaces, linear transformations, matrices, change of basis, inner products, determinants, eigenvectors, quadratic forms, Jordan canonical form, and various applications.

Fall 2016 | 12 pages

Brief but rigorous introduction to a large variety of topics, including sets, logic, proofs, graphs, infinity and countability, computability, counting, random variables, discrete and continuous probability, Markov chains, and estimation.

Fall 2017 | 16 pages

Topics include big-O notation, divide-and-conquer algorithms, FFT, paths in graphs, greedy algorithms, dynamic programming, linear programming, duality, reductions, and NP-completeness.

Fall 2016 | 12 pages

Foundational topics in AI, including search and heuristics, game trees, Markov Decision Processes, reinforcement learning, Bayes nets, decision networks, Hidden Markov models, and perceptrons.

Fall 2017 | 18 pages

Rigorous introduction to the ideas and frameworks of machine learning. Topics include least squares, cross-validation, regularization, bias/variance tradeoff, PCA, CCA, nonlinear least squares, gradient descent, neural nets, LDA/QDA, SVMs, logistic regression, decision trees, ensemble methods, kernel methods, nearest neighbors, and convolutional neural nets.

Spring 2018 | 6 pages

High-level introduction to computer security. Topics include memory safety, symmetric and assymmetric encryption, authentication, networking protocols, firewalls, web security, and malware.

Spring 2019 | 4 pages

Broad introduction to the fundamentals of computer graphics. The main areas covered are modeling, rendering, animation and imaging. Topics include 2D and 3D transformations, rasterization, texturing, antialiasing, geometric modeling, ray tracing and global illumination, animation, cameras, and image processing.

Spring 2016 | 6 pages

Covers fundamental data structures, including linked lists, trees, arrays, hash maps, heaps, tries, and disjoint sets. Also covers basic sorting algorithms and graph search problems.

Spring 2017 | 6 pages

Covers number representation, the C programming language, memory management, Assembly, linking and loading, synchronous digital logic, pipelining, caching, parallelism, virtual memory, and I/O.

Spring 2018 | 6 pages

Covers processes, threads, sockets, synchronization, scheduling, I/O, virtual addresses, paging, file systems, and distributed systems.

Fall 2018 | 6 pages

Topics include SQL, disk management, file layouts, indexes, join algorithms, query optimization, database design, concurrency, recovery, distributed transactions, and web infrastructure.

Fall 2014 - Spring 2015 | 92 pages

Comprehensive notes I took in high school for AP Biology. Topics include evolution, ecology, biochemistry, cell mechanics, metabolism, respiration, animal systems, plants, reproduction, and heredity.

© Andrew Campbell. All Rights Reserved.