Spring 2020 (Current enrollment)
- 15213 - Intro to Computer Systems
- Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.
- 53-471 - Game Design, Prototyping, and Production
- Topics covered include: principles of game design and mechanics, development process such as rapid prototyping and iterative design and common methods of project management for creative software development
- 15150 - Functional Programming
- Topics covered include: Recursion, Specifications and Correctness Proofs, Work and Span Analysis, Parallelism, Polymorphism, Higher-order Functions, and Modular Programming.
- 15251 - Great Theoretical Ideas in Computer Science
- Topics covered include: Algorithms, Computability, Computational complexity, Finite automata, Turing machines, Graph theory, Boolean circuit complexity, P, NP, NP-completeness, Probability theory, Randomized computation, and Cryptography.
- 60218 - Realtime Animation
- An introductory course that explores improvisational strategies for making animation within real-time computer graphics frameworks.
- 48558 - Reality Computing
- Topics covered include: Capture and digital recreation of real locations and objects through spatially computational methods such as photo grammetry and LIDAR. Refinement of digital assets and optimization for real-time rendering and inclusion in interactive virtual environments. Exploration of digital spaces.
- 15122 - Principles of Imperative Computation
- Topics covered include: Reasoning about code: contracts, invariants, and interfaces; Basic Data Structures and Algorithms: Hash Tables, BST, Linked Lists, Graphs; and the C programming language: Bit Manipulation, Complexity Analysis, and Memory
- 15127 - Concepts of Mathematics
- An introductory class about proofs, logic, and inductive reasoning.
- 12241 - Matrices and Linear Transformations
- Topics covered include: complex numbers, real and complex vectors and matrices, rowspace and columnspace of a matrix, rank and nullity, solving linear systems by row reduction of a matrix, inverse matrices and determinants, change of basis, linear transformations, inner product of vectors, orthonormal bases and the Gram-Schmidt process, eigenvectors and eigenvalues, diagonalization of a matrix, symmetric and orthogonal matrices.