Back to results

Virginia Tech

An Undergraduate Computer Systems Curriculum Using Rust

Abstract

dc:description.abstract

We present the design and evaluation of an undergraduate computer systems curriculum taught in the Rust programming language. Traditionally, such courses have relied on C to introduce students to fundamental concepts including processes, memory management, and concurrency. While C has historical and practical significance, it exposes students to memory safety errors and undefined behavior that can hinder learning. Rust offers comparable performance and control while enforcing memory and thread safety, but the steep learning curve may preclude its use as an instructional language for operating systems education. We investigate the feasibility of Rust as the teaching language for a computer systems course through three primary contributions. First, we designed a course curriculum that adapts the structure of a traditional computer systems class to Rust. We reworked core systems assignments to leverage Rust's features and safety guarantees. Second, we document the challenges of integrating Rust into undergraduate teaching, addressing its steep learning curve and balancing language instruction with systems concepts. Third, we offer pedagogical strategies and reusable materials that can support instructors considering Rust for similar courses. We evaluated the curriculum in a single semester offering at Virginia Tech. Data from student surveys and qualitative feedback show that although Rust's ownership and borrowing rules required additional guidance, students successfully completed systems-level Rust projects and reported improved understanding of the associated systems theory. This work contributes both a concrete curriculum and an empirical case study supporting the integration of Rust into computer science education.

Degree

thesis:*
Name thesis:degree_name
Master of Science
Level thesis:degree_level
masters
Discipline thesis:degree_discipline
Computer Science & Applications
Department dc:contributor.department
Computer Science and#38; Applications
Grantor dc:publisher
Virginia Tech
Year dc:date.issued
2025

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Siek, Kieran Rong Chen
Chair dc:contributor.committeechair
  • Back, Godmar Volker
Committee members dc:contributor.committeemember
  • Li, Huaicheng
  • Hamouda, Sally

Subjects

dc:subject × 3

Rights

dc:rights
Statement dc:rights
  • In Copyright
Language dc:language.iso
en

Identifiers

dc:identifier.*
Dc Identifier Other
vt_gsexam:44816
OAI identifier oai:identifier
oai:vtechworks.lib.vt.edu:10919/138268

Chain of custody

source
Harvested from
Virginia Tech
Base URL
vtechworks.lib.vt.edu/oai/request
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Siek, Kieran Rong Chen. An Undergraduate Computer Systems Curriculum Using Rust. masters thesis, Virginia Tech, 2025. https://hdl.handle.net/10919/138268