Published 2014-09-17. Last modified 2024-08-14.
This Intermediate Scala course builds on the Introduction to Scala course. Many concepts and techniques are introduced, with lots of working code examples and exercises, including functional programming, implicits, process control, I/O, collections, pattern matching, combinators, partial functions, application configuration techniques, memoization, and multithreading (including parallel collections, Futures, and Promises).
This course hardly mentions Akka and does not discuss actors. Akka started out as an open-source library, but in September 2022, that changed. Actors are a 50-year-old attempt at multitasking that requires an effort similar to writing an asynchronous operating system. Every challenge that actors presents requires you to invest more deeply into this flawed paradigm. Also, actors are untyped, which defeats one of the main advantages of Scala: its advanced type system.
Working through this course will challenge you; and as a result you will gain a lot of practical, hands-on experience with Scala. The concepts taught allow you to feel comfortable with the code that you will find in Apache Spark for Scala projects, and motivational Spark examples are provided in the course.
As with the Introduction to Scala course,
this course is based on code samples that can be pasted into the Scala REPL,
and that code is also provided in the the courseNotes
directory.
We suggest that students work through this course before moving on to Apache Spark or working on other industrial-strength Scala projects.
The overview video on the page of this web site discusses how ScalaCourses.com works.
These lectures were designed to be worked through in order.
This course has 42 lectures.
© Copyright 1994-2024 Michael Slinn. All rights reserved.
If you would like to request to use this copyright-protected work in any manner,
please send an email.
This website was made using Jekyll and Mike Slinn’s Jekyll Plugins.