Course: Fundamentals of Scala
duration: 13 hours |
Language: English (US) |
access duration: 90 days |
Details
In this online Scala course you will learn the basics and features of the programming language Scala. You will get an introduction of Scala, how to use the library, use pattern matching, Java interoperability and concurreny. Finally you will learn about sbt, dependencies, ensime and scala.js.
Result
After completing this course you are familiar with the basics and features of the programming language Scala.
Prerequisites
We recommend experience of another programming language.
Target audience
Web Developer
Content
Fundamentals of Scala
Scala Introduction
- start the course
- describe the features of Scala
- download and install the Scala binaries
- run the Scala REPL and evaluate simple expressions
- list the IDEs with Scala support and install the Scala plugin for Eclipse
- use variables in Scala, and describe type inference
- use value types in Scala, and describe the immutable property
- declare and use a function in Scala
- create a simple class and method in Scala
- describe objects in Scala and how everything is an object
- use Scala collections
- use infix notation for built-in and custom methods in Scala
- use operators and operator overloading in Scala
- use Java types from Scala
- describe the use of the unit type in Scala
- use Scala if expressions and note that if is an expression and not a statement
- use Scala match expressions
- create constructors for classes in Scala
- create fields in Scala classes, and describe behaviors of different field types
- use automatic getters in Scala and override them
- use automatic setters in Scala and override them
- declare and use singleton objects in Scala
- use companion objects in Scala
- create and use a subclass in Scala
- use traits in Scala
- create a Scala application that contains a class, a subclass, and a companion object
Scala Functional Programming and Collections
- start the course
- describe the key aspects of functional programming in Scala
- demonstrate the use of expression-oriented programming in Scala
- utilize pure functions in Scala
- explore the use of literals and anonymous functions in Scala
- demonstrate how functions can be used as variables and parameters in Scala
- describe the use of closures
- create and use partially applied functions
- demonstrate how to curry a function
- explore how to compose functions from other functions
- describe how to best use tail-recursion
- differentiate between call-by-name and call-by-value
- provide an overview of the collections framework in Scala
- explore the key differences between mutable and immutable collections
- use Sets in a Scala application
- use Maps in a Scala application
- use Sequences and perform sort operations in a Scala application
- use Iterators in a Scala application
- identify the key aspects of concrete immutable collection classes
- identify the key aspects of concrete mutable collection classes
- apply arrays in Scala
- work with Strings in Scala code
- demonstrate the proper way to test for equality in code
- work with interpolation when using strings in Scala
- compare Java and Scala collections
- create a Scala application that utilizes functional programming to work with collections and Strings
Scala Pattern Matching, Interoperability, and Concurrency
- start the course
- describe the key aspects of pattern matching in Scala
- demonstrate how to apply pattern matching to lists in Scala
- utilize pattern matching and case classes in Scala
- explore the use of pattern matching with functions in Scala
- compare OOP and functional programming
- explore how to work with Java and Scala classes
- create and use JavaBeans with Scala
- demonstrate how to use Java interfaces and Scala traits
- create static members with Scala objects
- demonstrate how to deal with exceptions in Java and Scala
- explore how to work with annotations in Java and Scala
- compare Scala and Java concurrency
- describe the use of asynchronous execution in Scala
- specify the various ways to transform futures in Scala
- troubleshoot and test with Scala futures
- register and use Scala callbacks
- implement Scala blocking with futures
- demonstrate the use of promises in Scala concurrency
- explore the utilities associated with Scala concurrency
- create a Scala application that utilizes functional programming to work with collections and Strings
Scala Tooling
- start the course
- download and install sbt
- use common options in a sbt project
- manage dependencies in sbt
- download a Scala project from Github and compile it with sbt
- create a Scala application with Lightbend activator
- configure Scala in emacs with ensime
- import sbt projects into the Eclipse based Scala IDE
- create a basic Scala.js application with Scala
- including a Scala.js project in a web browser
- manipulate the DOM with Scala.js
- create a Scala sbt project that creates a basic Scala.js application
Scala Expressions and Parallel Computation
- start the course.
- explore how to work with Scala streams
- use lazy evaluation in Scala
- use the basic Scala "for" expression
- use startsWith, endsWith, and indexOf inside a Scala "for" expression
- use the Scala "for" expression with various collections
- utilize the Scala map method
- utilize the Scala flatMap method
- utilize the Scala withFilter method
- utilize the Scala fold method
- utilize the Scala reduce method
- perform a parallel computation in Scala
- carry out a parallel sort in Scala
- explore the use of parallel collections in Scala
- work with parallel programming in Scala
- utilize Scala.rx for FRP
- apply a transform method over a Scala List with map and withFilter
Course options
We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.
Optional practice exam (trial exam)
To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam.
Optional practice lab
To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediately. The lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience.
Sign In
WHY_ICTTRAININGEN
Via ons opleidingsconcept bespaar je tot 80% op trainingen
Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo
Spar met medecursisten en profileer je als autoriteit in je vakgebied.
Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van Icttrainingen.nl
Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers
Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten
Orderproces
Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.
read more about the order process
Een zakelijk account aanmaken
Wanneer u besteld namens uw bedrijf doet u er goed aan om aan zakelijk account bij ons aan te maken. Tijdens het registratieproces kunt u hiervoor kiezen. U heeft vervolgens de mogelijkheden om de bedrijfsgegevens in te voeren, een referentie en een afwijkend factuuradres toe te voegen.
Betaalmogelijkheden
U heeft bij ons diverse betaalmogelijkheden. Bij alle betaalopties ontvangt u sowieso een factuur na de bestelling. Gaat uw werkgever betalen, dan kiest u voor betaling per factuur.
Cursisten aanmaken
Als u een zakelijk account heeft aangemaakt dan heeft u de optie om cursisten/medewerkers aan te maken onder uw account. Als u dus meerdere trainingen koopt, kunt u cursisten aanmaken en deze vervolgens uitdelen aan uw collega’s. De cursisten krijgen een e-mail met inloggegevens wanneer zij worden aangemaakt en wanneer zij een training hebben gekregen.
Voortgangsinformatie
Met een zakelijk account bent u automatisch beheerder van uw organisatie en kunt u naast cursisten ook managers aanmaken. Beheerders en managers kunnen tevens voortgang inzien van alle cursisten binnen uw organisatie.
What is included?
Certificate of participation | Yes |
Monitor Progress | Yes |
Award Winning E-learning | Yes |
Mobile ready | Yes |
Sharing knowledge | Unlimited access to our IT professionals community |
Study advice | Our consultants are here for you to advice about your study career and options |
Study materials | Certified teachers with in depth knowledge about the subject. |
Service | World's best service |
Platform
Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.
FAQ
Niet gevonden wat je zocht? Bekijk alle vragen of neem contact op.