Computer Science Pragmatics
The command-line toolkit behind every later project: Bash, Git, Make, and regex.
- Build and test automationAutomated repetitive compilation and testing workflows with Makefiles and Bash scripts.
12 courses, 29 projects
The classes behind the projects. Each course links to the work I did in it.
The command-line toolkit behind every later project: Bash, Git, Make, and regex.
Logic, sets, proof writing, and graph theory.
C++ fundamentals, classes, pointers, dynamic memory, and object-oriented design.
Algorithm design and analysis with performance-graded C++ projects: STL, hash tables, trees, graphs, and heuristics.
A hands-on project course for students new to Michigan EECS, built around open-ended side projects.
C and assembly, CPU simulation, pipelining, hazard detection, and the memory hierarchy.
Proofs, automata, reductions, and complexity theory.
Testing, refactoring, CI/CD, and documentation for real codebases.
Relational design, SQL, B+ trees, query planning, and index optimization.
How the web works end to end: Flask, React, REST APIs, authentication, and distributed systems.
Front-end engineering and interaction design, from Figma prototypes to Vue apps.
The capstone: a team product built from user research to a working app.