research


Type-Directed Instruction Selection

A DSL for type-directed instruction selection and a nanopass compiler that uses it, implemented in Racket. Using the DSL, users define types such as register, or 32-bit integer, and then valid forms for each operator. They are then able to generate functions for each operator that will coerce operands to allowed types through move instructions. Output of instruction selection can be verified by type-checking.



Impact of Randomized Assessments on Students

A series of qualitative and quantitative studies to analyze the impact of randomized exam questions on students with Professor Steve Wolfman. Over the 2026/2027 academic year, we will be holding focus groups and surveying students to address our main research focuses of students' perceptions of randomized problems, regarding variations in difficulty and fairness, student expectations for information provided by instructors, and how students communicate with peers about randomized problems. The following paper introducing a framework for randomized problems is interesting and relevant: A Generalized Framework for Describing Question Randomization.