- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
Deze cursus is bestemd voor Java, C# en andere developers die willen leren programmeren in Scala of die de mogelijkheden van Scala willen onderzoeken.
Om aan deze cursus te kunnen deelnemen is kennis en ervaring met een object georiënteerde programmeertaal zoals Java of C# vereist.
De theorie wordt behandeld aan de hand van presentatie slides. Demo's worden gebruikt om de concepten te verduidelijken. De theorie wordt afgewisseld met oefeningen. Er wordt gebruik gemaakt van een moderne IDE. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Scala Programmeren.
In de cursus Scala Programmeren worden de syntax en mogelijkheden van de Scala programmeertaal besproken. Scala combineert de kracht van object georiënteerd en functioneel programmeren en maakt het mogelijk om met aanzienlijk minder code een vergelijkbare functionaliteit te leveren als Java of C#.
Aandacht wordt besteed aan de data types, variabelen, control structures en packages van Scala, de mogelijkheden om Scala uit te breiden en het gebruik van Scala Frameworks zoals het Lift Web Framework en het Play Framework. Speciale aandacht gaat uit naar de functionele aspecten van Scala zoals first-class functions, higher order functions en de verschillende manieren van parameter overdracht in Scala.
Ook andere typische taal elementen van Scala komen aan de orde zoals closures en deferred execution. Vervolgens wordt stil gestaan bij collection types zoals lists, maps en tuples en hun respectievelijke higher order functions.
Ook de object georiënteerde aspecten van Scala zoals inheritance, constructors, companion objects en overriding worden besproken. Hierbij wordt ook stil gestaan bij de ondersteuning van duck typing. Uitgebreid wordt stil gestaan bij het concept van Scala Traits and het gebruik van mixins. Een aparte module is gewijd aan hoe Scala omgaat met XML en JSON data.
Tot slot wordt aandacht besteed aan concurrency in Scala met het Akka Framework met Actors en Mailboxes en asynchrone communicatie.
Module 1 : Scala Intro |
Module 2 : Language Syntax |
Module 3 : Functions and Closures |
Introducing Scala Basic Syntax Scala Concepts Semicolons Scala Keywords Scala Characteristics Comments in Scala Interactive Shell Compiling Scala Scala HelloWorld Variables and Constants Java versus Scala Scala versus Java Scala Resources |
Variables and Scopes Scala Data Types Scala Type Hierarchy If and Else Statements Multiple Selection For and While Loops For Yield Filtering Breakable Blocks Formatted Strings Scala Arrays Multidimensional Arrays Ranges Scala Operators Reserved Symbols |
Scala Functions Call by Value and by Name Named Parameters Variable Arguments Default Parameters Recursive Functions Nested Functions Methods versus Functions Anonymous Functions First Class Functions Higher Order Functions Partially Applied Functions Currying Functions Simple Closure |
Module 4 : Data Structures |
Module 5 : Classes and Traits |
Module 6 : Pattern Matching |
Scala Collection Hierarchy Scala Lists Nills and Cons Head and Tail List Concatenation Scala Sets Concatenation Min and Max Intersections and Unions Scala Maps Keys and Values Scala Tuples Scala Options GetOrElse |
Scala Object Orientation Scala Classes Preventing State Change Object Singleton Constructors Companion Objects Inheritance Abstract Classes Traits Partial Trait Implementation Abstract Members Mixins Implicit Classes |
Unit returning Expressions Dealing with Any Match Expression Example Match Expressions Matching using case Classes Match with Variables Match with Sequences Extended Wildcard _* Scala versus Java Pattern Matching in Assignments Match with Types Matching on Tuples Pattern Matching with Option |
Module 7 : Data Access |
Module 8 : Scala Concurrency |
|
Unit returning Expressions Dealing with Any Match Expression Example Match Expressions Matching using case Classes Match with Variables Match with Sequences Extended Wildcard _* Scala versus Java Pattern Matching in Assignments Match with Types Matching on Tuples Pattern Matching with Option |
Concurrent Programming Akka Framework Actors in Akka Hello Akka World ActorSystem Actor Hierarchy Actor Information Supervision Supervision Strategies Top Level Supervisors OneForOneStrategy Location Transparency Akka Guidelines |
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.