Data Structures and Algorithms
Analysis and implementation of fundamental data structures and algorithms, including trees, hash tables, and graphs, with an emphasis on asymptotic complexity and algorithmic paradigms.
Relevant computer engineering and mathematics courses.
Analysis and implementation of fundamental data structures and algorithms, including trees, hash tables, and graphs, with an emphasis on asymptotic complexity and algorithmic paradigms.
Boolean algebra and digital logic, from combinational circuits through sequential logic and finite state machines, with hands-on design of hardware building blocks.
Mathematical foundations for computer science: propositional logic and proof techniques, set theory, combinatorics, recursion, and an introduction to graph theory.
Intermediate programming in C++ with a focus on abstraction, recursion, dynamic memory management, and building containers and abstract data types from the ground up.
Linear algebra and computation as a means for reasoning about data and making discoveries about the world. Topics include Julia, systems of linear equations, vectors, matrices, inverses, regression, matrix factorization, spatial coordinates, cameras, LiDARs, accelerometers, gyroscopes, encoders, optimization, robot perception, and ordinary differential equations.
A basic course on differential equations for engineers and other scientists. Topics include complex numbers and matrix algebra, first- and second-order linear and nonlinear systems with applications, introductory numerical methods, and elementary Laplace transform techniques.