Code: T-PRO900
Doelgroep
Java, C# en andere developers die de taal en mogelijkheden van Scala willen leren kennen.
Korte inhoud
In deze cursus worden de syntax en mogelijkheden van de Scala programmeertaal besproken. Aan de orde komt hoe Scala de kracht van het object georienteerde en het functionele programmeer paradigma combineert en het mogelijk maakt om met aanmerkelijk minder code dan in Java of C# vergelijkbare functionaliteit op te leveren. Aandacht wordt besteed aan de data types, variabelen, packages en control structures van Scala, de mogelijkheden Scala uit te breiden en het gebruik van Scala Frameworks zoals het Lift Web Framework. Ook andere syntax elementen van Scala zoals Closures en Deferred Execution komen aan de orde. In het bijzonder wordt aandacht besteed aan de object georienteerde aspecten van Scala zoals inheritance, constructors en composition. Ook duck typing wordt daarbij besproken. En komen de concepten van Scala Traits en de types zoals lists, maps en tuples aan de orde. In het bijzonder wordt ook aandacht besteed aan de functionele aspecten van Scala zoals first class functions, higher order functions, side effects en de verschillende manieren van overdracht van parameters in Scala. Tenslotte wordt aandacht besteed aan concurrency in Scala, het gebruik van Actors en Mailboxes en asynchrone communicatie.
Voorkennis
Kennis en ervaring met een object georienteerde programmeertaal zoals Java of C# is vereist.
Invulling
De concepten worden behandeld aan de hand van presentatie sheets en een demos. De theorie wordt afgewisseld met oefeningen. Er wordt gebruikt gemaakt van een moderne IDE.
Duur
3 dagen. De trainingsdagen duren van 09.30 uur tot 16.30 uur.
Programma
Module: Scala Introduction
o What is Scala?
o Object Oriented programming
o Functional Programming
o Scala characteristics
o Conciseness
o Extensibility
o Domain Specific Languages
o Static mixin Composition
o Dynamic mixin Composition
o Scala tools
o Scala command prompt
o Scala IDE's
o Scala Frameworks
o Lift Web Framework
Module: Basic Syntax
o Type definitions
o Variables
o Methods
o if then else constructions
o for and while loops
o varargs
o Expressions
o Packages
o Imports
o Deferred execution
o Closures
Module: Classes and Objects
o Classes and Constructors
o Primary constructors
o Inheritance
o Abstract methods and fields
o Inheritance versus composition
o Collections
o List and maps
o Generics
o Tuples
o Exceptions
o Case classes
o Option types
Module: Traits
o Rich interface
o Stackable modifications
o Trait interceptors
o Multiple views
o Multiple facets
o Dependency declaration
o Self-type annotation
o Duck typing
o Structural typing
o Composition
Module: Functional Programming
o Annotations
o Object class
o Companion object
o apply function
o First class functions
o Pattern matching
o Higher order functions
o Side effects
o Default parameters
o Named parameters
o Call by value
o Call by name
o Implicit rules
o Marking rule
o Scope rule
Module: Scala Concurrency
o Actor Model
o Objects as Actors
o Actor and Mailboxes
o Asynchronous Communication
o No Shared State
o No Deadlock
Kosten
Inschrijfgeld: € 25,-
Trainingskosten: €1245,-
Studiemateriaal: € 120,-
Certificaatkosten: €25,-
Locatie- en arrangementskosten: Zie onderstaande toelichting
Locatie- en arrangementen
Twice regelt voor de dagopleidingen van maandag tot en met zaterdag een arrangement à € 50 per dag. Een dagarrangement bestaat uit zaalhuur, gebruik van ICT-middelen, onbeperkt koffie, thee, frisdrank, ijswater en een lunch. De kosten van de arrangementen worden direct aan u doorberekend.
Btw
Op alle opleidingen en trainingen is 19% btw van toepassing en voor het studiemateriaal 6%. Met uitzondering van volledige MBO niveau 2, 3 en 4 opleidingen en de volledige HBO Bacheloropleidingen. Voor organisaties die geen btw kunnen terugvorderen, bestaat de mogelijkheid het volledige aanbod op deze website btw vrij gefactureerd te krijgen. In dit geval wordt een btw correctie van 10% toegepast. Dit betekent een voordeel van 7,5% op de inclusief btw prijs. De hoogte van btw is onder voorbehoud van eventuele wetswijzigingen.
Code: T-PRO900