Memory-safe Programming: An Introduction to Rust

Lecturer: Lukas Beierlieb

Description

This module introduces students to the Rust programming language. We start by looking at problematic concepts in other programming languages (such as manual memory management, garbage collection, null pointers, exception handling) to later better understand Rust's language design choices. After a short introductory overview of Rust's features, we explore the Rust language by slowly introducing more and more concepts (data types, control flow constructs, generics, traits, ownership-based memory management, unsafe Rust, lifetimes). Further, we cover the structure of cargo-based Rust projects and tools available for building and analysing Rust code.