Introductory course covering parametric equations and polar coordinates, partial derivatives, multiple integrals, vector calculus, and the theorems of Green, Gauss, and Stokes.
Proof-centric course covering vector spaces, linear transformations, matrices, change of basis, inner products, determinants, eigenvectors, quadratic forms, Jordan canonical form, and various applications.
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.
Topics include big-O notation, divide-and-conquer algorithms, FFT, paths in graphs, greedy algorithms, dynamic programming, linear programming, duality, reductions, and NP-completeness.
Foundational topics in AI, including search and heuristics, game trees, Markov Decision Processes, reinforcement learning, Bayes nets, decision networks, Hidden Markov models, and perceptrons.
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.
High-level introduction to computer security. Topics include memory safety, symmetric and assymmetric encryption, authentication, networking protocols, firewalls, web security, and malware.
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.
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.
Covers number representation, the C programming language, memory management, Assembly, linking and loading, synchronous digital logic, pipelining, caching, parallelism, virtual memory, and I/O.
Covers processes, threads, sockets, synchronization, scheduling, I/O, virtual addresses, paging, file systems, and distributed systems.
Topics include SQL, disk management, file layouts, indexes, join algorithms, query optimization, database design, concurrency, recovery, distributed transactions, and web infrastructure.
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.