Lessons Learnt from using Rust as the Intro to Programming

by Andreea Costea

Rust is rarely the first language that comes to mind for introductory programming courses. Its strong type system, ownership model, and explicit handling of memory and errors can appear daunting to beginners. Yet these same features offer a unique opportunity to teach foundational concepts from the very start.

In this talk, I explore Rust as a vehicle for introducing students to programming. I discuss what makes Rust pedagogically powerful, and examine the challenges faced by students and instructors alike, and how these obstacles can be reframed as learning opportunities.

Drawing on teaching experience, I share lessons learned, practical strategies for scaffolding Rust’s concepts, and reflections on how Rust shapes students’ mental models of programming. The talk argues that while Rust raises the entry bar, it also has the potential to build strong foundations for writing reliable software.

Picture of Andreea Costea

Andreea Costea

she/her
Assistant Professor in Computer Science at Delft University of Technology at TU Delft
Links: icon of linkedin

Andreea is an Assistant Professor in Programming Languages at TU Delft. Her research revolves around topics on program verification, automated programming, and program repair, with emphasis on building trustworthy software systems.

She is also passionate about how formal methods can strengthen software engineering practices, and how the teaching of programming languages is challenged by the growing use of AI tools for coding.