(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 |
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