Thank you for sending your enquiry! One of our team member will contact you shortly.
Thank you for sending your booking! One of our team member will contact you shortly.
Course Outline
Introduction
- Scala as a JVM language
- Objection-oriented programming vs functional programming
Overview of Object-Functional Programming
- Tail recursion
- Partial functions
- Currying and partial function application
- Closures
- Lazy evaluation
Mastering the Scala Type System
- About traits
- Structural types
- Path dependent types
- Self types
- Covariance and contravariance
- Type bounds
Advanced Pattern Matching in Scala
- Deep matching
- Using extractors
Using Scala Implicit
- Implicit conversion, classes and parameters
- Type class pattern
- Context and view bounds
Libraries and DSLs
- Custom control structures with by-name parameters
- Building well-designed libraries and internal DSLs
Working with Scala Collections
- Working with Streams
- Manifests and class tags
- Builders
- CanBuildFrom
- Building custom collections
Functional Exception Handling
- Traditional exception handling
- Functional exception handling
- Using Try with For comprehensions
Closing Remarks
Requirements
- Hands on experience in Scala programming
- Familiarity with pattern matching and traits
Audience
- Scala programmers who wish to learn the more advanced and nuanced features of Scala
Testimonials
The course is not easy for beginners but Richard was very friendly and gave one-to-one time to everyone who was stuck.
- Johnson and Johnson EMEA Development Centre
Good visibility on akka
- Johnson and Johnson EMEA Development Centre
Richard, he was very nice and patient which was much needed
- Johnson and Johnson EMEA Development Centre
Ability to talk to Fulvio about his experience with other technologies like Spark, Kafka etc - it was fantastic discussion during breaks.
- ARM Limited; ARM
Related Courses
Java Advanced
28 hours
Java Advanced - one day
7 hours
Java Fundamentals for Android
14 hours
Java fundamentals with Maven
28 hours
Java Persistence with Hibernate
14 hours
Introduction to Programming
35 hours
Clean Code
14 hours
Linux Network Programming
14 hours
Akka - from Beginner to Intermediate
21 hours
Unit Testing with JUnit
21 hours
Programming in Scala
14 hours
Apache Spark Streaming with Scala
21 hours