- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
De cursus Rust Programmeren is bedoeld voor developers die in Rust willen leren programmeren en anderen die Rust code willen begrijpen.
Ervaring met programmeren in moderne programmeertaal is wenselijk en is bevorderlijk voor een goede begripsvorming.
De theorie wordt behandeld aan de hand van presentatie slides. De concepten worden toegelicht met demo's. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Rust Programmeren.
In de cursus Rust Programmeren leren de deelnemers software te ontwikkelen met de laatste versie van de innovatieve programmeer taal Rust. Rust is een nieuwe, praktische systeem programmeertaal die razendsnelle code oplevert. Rust is community driven. Met Rust voorkom je vrijwel alle crashes en data races.
Rust borduurt voort op een rijke geschiedenis van programmeer talen. Het is low-level taal met meerdere paradigmas, zowel imperatief als functioneel en Rust richt zich op veilige, high-performance, concurrent applicaties. Rust begon al voor de officiële 1.0 versie mei 2015 momentum in de industrie te krijgen, want er bestaat een duidelijke behoefte aan een nieuwe low-level systeem taal.
In deze cursus wordt behandeld wat Rust zo uniek maakt en wordt dit toegepast op praktische problemen van systeem programmering. Onderwerpen die aan de orde zullen komen zijn : traits, generics, memory safety, move semantics, borrowing and lifetimes. En ook het rijke macro-systeem van Rust, closures en concurrency komen aan de orde.
Module 1 : Rust Intro |
Module 2 : Data Types |
Module 3 : Flow Control |
What is Rust? Rust Background Rust Momentum Rust Usage Comparisons to C Rust Applications Hello Rust Comments Formatted Printing Debug and Display Literals Operators |
Primitives Tuples and Arrays Slices Custom Types Enums Constants Variable Bindings Scope Shadowing Casting Inference Alias |
Expressions Flow Control if else loop Nesting and labels while for and range match Guards Binding if let while let |
Module 4 : Functions |
Module 5 : Modules |
Module 6 : Generics |
Methods Closures Capturing As Input Parameters Input Functions Type Anonymity As Output Parameters Examples from std Iterator::any Iterator::find Higher order Functions |
Visibility Struct Visibility use Declaration Using super Using self File Hierarchy Crates Attributes Extern crate Dead Code Custom |
Functions Implementations Parametrization over Types Traits Bounds Multiple Bounds Where Clauses Associated Items Associated Types Phantom Type Parameters Unit Clarification |
Module 7 : Scoping |
Module 8 : Traits |
Module 9 : Standard Library |
RAII Ownership and Moves Functions and Methods Mutability Borrowing and Freezing Aliasing ref Pattern Lifetimes Explicit Annotation Bounds and Coercion Static Elison |
Zero cost Abstraction Traits are interfaces Derive Operator Overloading Drop Iterators Clone Designators Overload and Repeat Unsafe Operations Static dispatch Dynamic dispatch |
Box, stack, heap Data Structures Vectors Strings Hashmap Threads Channels Path File I/O Pipes Wait Arguments Meta |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.