Elijah Rivera

I am on the job market this year, looking to start teaching in Fall 2025.

I am a Ph.D. candidate at Brown University in both the Programming Language Theory (PLT) and Computer Science Education (CSEd) groups, under the supervision of Shriram Krishnamurthi and Kathi Fisler. I'm investigating how students plan out solutions to programming problems, and how we can build out both pedagogy and tools/automation to enhance that planning process.

My interests extend more broadly to the intersection of programming languages (PL) and CSEd research, including both how we can apply PL techniques (e.g., synthesis, formal methods, property-based testing) to educational problems, and how we can develop pedagogy and classroom tooling for PL classes. This paper is one example that touches on both!

I previously completed both my S.B. and M.Eng. in Computer Science at the Massachusetts Institute of Technology (MIT), where I was involved in research spanning program synthesis, formal methods, and software security.  For my master's thesis, I developed a way to preserve Rust's safety guarantees when calling out to libraries written in C++,  to facilitate piecewise migration of large projects. You can read the ACSAC paper to learn more.

Read more about all of my research publications here.

My faith in God guides everything I do. Outside of school I volunteer in a local church, where I help develop curriculum for Bible studies and help lead musical worship. I've also been involved in organizations that advocate for a Biblical worldview on ethics, politics, and practical social good for the local community.

I'm especially invested in supporting the Christian community (and especially theologians/philosophers/ethicists) in developing an accurate understanding of faith, technology, and how the two overlap. Stay tuned for further writings in this space!