Back to all courses

Modern and emerging programming languages: Rust

Individual course

This course teaches the basics of Rust, a high-level all-purpose programming language that provides low-level access for blazingly fast performance with special focus on memory safety and concurrency.

Course contents

  • Tooling
  • Syntax and basic concepts
  • Ownership and borrowing
  • Control flow
  • Error handling
  • Data structures
  • Loops and iteration
  • User input
  • Command line applications
  • Modules and crates
  • Structs
  • Enums
  • Traits
  • Generics
  • Memory and lifetimes
  • Macros
  • Attributes
  • Testing

Learning outcomes

After successfully completing this course, the student

  • Knows the key features of the Rust programming language and can contrast these features with those in some of the earlier programming languages with low-level memory access.
  • Knows the types of problems that Rust is designed to solve, and knows how to solve such problems with Rust.
  • Can design and implement basic programs with Rust, knows about Rust-specific working practices, knows about some of the advanced features in Rust, and can independently navigate Rust documentation.

Course material

The course uses open source software. Participants are expected to be comfortable with installing Rust specific software tools and using them on the command line. The materials, exercises and course completion information can all be found on the course page.

Completion methods

This course is completed by reading the course materials and completing the course exercises. The course is completed online on the FITech 101 platform.

You can get a digital badge after completing this course.


Responsible teacher

Aalto University
Arto Hellas
Start here
Start here
ICT studies
Data science,
Course code:
Study credits:
0 €
Course level:
Teaching period:
Continuously on-going
Application deadline:
Continuously on-going
Host university:
Aalto University
Who can apply:
Adult learner,
Degree student
Teaching method:
Teaching language:
General prerequisites:
Basic programming skills, familiarity with working on the command line, and familiarity with using programming environments.
Course suitable for:
Anyone interested in expanding their programming language toolkit or diving into a modern systems programming language.
Interested in this course? Subscribe and get updates about the course directly to your email. You can cancel subscription any time you want.