De cursus ‘Rust Fundamentals’ is bedoeld om een gedegen begrip van de programmeertaal Rust op te bouwen, van basis- tot geavanceerde technische vereisten. De kennis wordt vanaf de basis opgebouwd en omvat zowel fundamentele technieken, zoals eigendom en lenen, als meer geavanceerde onderwerpen, zoals traits, generics, concurrency en onveilige code. Tijdens de hele training houden we een focus op geheugenveilig, idiomatisch programmeren in Rust, waarbij we de taalfuncties tot en met editie 2024 behandelen. Naast interactieve lessen zal een groot deel van de training bestaan uit hands-on oefeningen om kennis in de praktijk toe te passen.

Deze training is ook beschikbaar als bedrijfsinterne sessie, zowel online als op locatie. Bij bedrijfsinterne sessies kan de training worden aangepast aan uw organisatie en uw specifieke leerbehoeften.

Objective

- Verwerf een gedegen kennis van Rust,
- Richt je op idiomatische programmeertechnieken,
- Leer de taalfuncties tot en met de editie van 2024,
- Pas je kennis direct toe tijdens praktische oefeningen,
- Ontdek bronnen voor verdere professionele ontwikkeling.

Target Audience

Software-engineers van gemiddeld ervaringsniveau (2+ jaar) met een degelijke basiskennis van algemene software-engineering

Start date Expected Q2 2027 Next edition info
Duration 2 x 2 consecutive days
Frequency Eenmaal per jaar
Price per participant € 2,600 excl. VAT *
Download brochure

Program

Dag 1

Inleiding tot Rust, basisbegrippen van de taal, eigendom en lenen. Aan het einde van de dag zullen de deelnemers kunnen uitleggen wat Rust is, wat de belangrijkste kenmerken en het ecosysteem van hulpmiddelen te bieden hebben, en hoe de taal zijn beloften op het gebied van geheugenveiligheid nakomt. Ze zullen in staat zijn om een eenvoudig Rust-project op te zetten, functies en closures te schrijven met behulp van variabelebindingen, controlestromen en operatoren, en de unieke eigendoms- en leenregels van Rust toe te passen die geheugenveiligheid garanderen.

Dag 2

Concepten van functioneel programmeren, patroonherkenning en foutafhandeling, collecties en iteratoren, generieke typen, traits en levensduur. Aan het einde van de dag zullen de deelnemers kunnen uitleggen hoe concepten van functioneel programmeren, zoals functies van hogere orde, onveranderlijkheid en algebraïsche datatypen, van toepassing zijn op Rust. Ze zullen in staat zijn om meer geavanceerde applicaties te lezen en te schrijven met behulp van correcte foutafhandeling met Option- en Result-typen, effectief gebruik te maken van collecties en iterators uit de standaardbibliotheek, en het trait-systeem toe te passen om herbruikbare abstracties te creëren en gedrag tussen typen te delen.

Dag 3

Geheugenbeheer en dynamisch polymorfisme, projectorganisatie en hulpmiddelen, I/O en serialisatie, geavanceerde taalfuncties. Aan het einde van de dag zullen deelnemers in staat zijn om de juiste strategie voor geheugenbeheer te kiezen met behulp van slimme pointers en interne mutabiliteit, en dynamisch polymorfisme toe te passen met trait-objecten. Ze zullen in staat zijn om Rust-projecten op te zetten en te structureren, inclusief tests, documentatie en essentiële tools zoals Cargo en Clippy, te werken met bestanden, streams en gegevensserialisatie, en geavanceerde taalfuncties te gebruiken zoals het newtype-idioma, operatoroverbelasting en const-generics.

Dag 4

Concurrency, onveilige Rust-code en interfaces voor externe functies, macro’s en het ecosysteem van hulpprogramma’s, toepassingsgebieden. Optionele onderwerpen (op verzoek): cross-compilatie, geavanceerd asynchroon programmeren. Aan het einde van de cursus zullen deelnemers in staat zijn om concurrente programma's te schrijven met behulp van threads en elementaire asynchrone programmering, en begrijpen hoe 'unsafe'-code op een verstandige manier kan worden toegepast, bijvoorbeeld voor hoge prestatie-eisen of om te koppelen met C- en C++-code. Ze zullen de drie vormen van macro’s in Rust begrijpen, in staat zijn om eenvoudige declaratieve macro’s te schrijven en weten hoe ze het ecosysteem van tools en crates kunnen benutten. Na afloop van de cursus beschikken ze over kennis van de toepassing van Rust in verschillende domeinen en hebben ze toegang tot bronnen voor verdere professionele ontwikkeling in Rust.

Methods

Lezingen, praktische oefeningen, interactieve discussies.

Te leveren materiaal: het cursusmateriaal bestaat uit diapresentaties, een overzicht van bronnen en een online coderepository voor oefeningen en oplossingen.

Tijdens en na de training is de trainer via e-mail bereikbaar voor vragen en ondersteuning.

Certification

Deelnemers ontvangen een cursuscertificaat van het High Tech Institute voor het volgen van deze opleiding. Bovendien maakt deze opleiding deel uit van het programma voor beroepsopleiding van de Nederlandse Vereniging voor Precisietechniek (DSPE), die hiervoor microcredentials verstrekt.