(Click Category to List Courses)

41 - IT-P Information Technology - Programming

IT-P 140 - System Programming in Rust

Code Start Date Duration Venue
IT-P 140 25 September 2023 5 Days Istanbul Registration Form Link
IT-P 140 02 October 2023 5 Days Istanbul Registration Form Link
IT-P 140 18 December 2023 5 Days Istanbul Registration Form Link
Please contact us for fees


Course Description

This course is designed to teach participants the fundamentals of the Rust programming language. Rust is a modern systems programming language that is designed to be fast, safe, and concurrent. It is a great choice for building high-performance applications that require low-level control over system resources.

The course will cover the basics of Rust syntax and semantics, including data types, variables, functions, control structures, and error handling. Participatnts will also learn about Rust's unique ownership and borrowing system, which allows for safe and efficient memory management.

The course will also cover advanced topics such as concurrency, and trait-based generics. Participants will gain hands-on experience by working on projects that demonstrate these concepts in practice.

By the end of the course, they will have a solid understanding of Rust programming and be able to build efficient and safe applications using this powerful language.

Course Objectives

  • Understand the syntax and semantics of Rust programming language
  • Learn about Rust's unique ownership and borrowing system for safe and efficient memory management
  • Gain hands-on experience working on projects that demonstrate Rust programming concepts in practice
  • Develop skills in building high-performance applications using Rust
  • Understand advanced topics such as concurrencyand  trait-based generics in Rust

Who Should Attend?

  • Programmers 
  • Developers 
  • System Administrators
  • Anyone interested in learning about Rust's ownership and borrowing system for safe and efficient memory management


Course Details/Schedule

Day 1

  • Introduction to Rust and its key features
  • Setting up the development environment (installing Rust, using Cargo)
  • Hello, World! program in Rust
  • Variables and data types in Rust
  • Control flow statements (if-else, loops) in Rust
  • Functions and modules in Rust

Day 2

  • Ownership, Borrowing, and Lifetimes
  • Recap of variables, data types, and control flow statements
  • Ownership, borrowing, and lifetimes in Rust (ownership rules, borrowing rules)
  • Structs and enums in Rust
  • Error handling in Rust (Result and Option types)
  • Pattern matching in Rust
  • Generics in Rust

Day 3

  • Advanced Rust Concepts
  • Traits and trait implementation
  • Closures and iterators in Rust
  • Concurrency and parallelism in Rust (threads, synchronization)
  • Unsafe Rust and when to use it
  • Interfacing with C/C++ code in Rust
  • FFI (Foreign Function Interface) in Rust

Day 4

  • System Programming with Rust
  • File I/O in Rust
  • Error handling and error propagation
  • Working with processes and threads in Rust
  • Synchronization and concurrency in Rust
  • System calls and interacting with the operating system
  • Rust's standard library and system-specific APIs

Day 5

  • Rust for Networking and Systems Development
  • Network programming with Rust (sockets, TCP/UDP)
  • Building command-line tools and utilities in Rust
  • Introduction to systems programming concepts (memory management, file systems, etc.)
  • Debugging and profiling Rust code
  • Performance optimization techniques in Rust
  • Deploying Rust applications for system environments