Alexa VanHattum

Assistant Professor of Computer Science

My interests span programming languages and computer systems.

I use lightweight formal methods to improve the reliability and efficiency of low-level computer systems. I enjoy collaborating with industry groups and open-source software projects.

I love demystifying systems programming for undergraduate students—I am excited to work with Wellesley research assistants and to teach courses across computer systems, formal methods, compilers, and programming languages.

For my complete CV and more about my research, teaching, service, see my website.

Current and upcoming courses

This course examines how computers run programs, introducing key software and hardware abstractions and implementations between programming languages and transistors. The course traces representation and translation of data and programs through three broad topics in computer systems: computer hardware implementation, including digital logic, computer arithmetic, and machine organization; the hardware-software interface, including instruction set architecture, assembly code, and the C programming language; and abstractions for practical systems, including the physical memory hierarchy, the operating system process model, virtual memory, and memory management. Students complete extensive hands-on projects in hardware and software systems. Students are required to attend one three-hour laboratory weekly.