Each participant must provide their own laptop with the ability to run a 64 bit virtual machine and internet access. Participants should have experience with one or more programming languages. No prior knowledge of Scala or functional programming is required.
This course begins with coverage of the tools and common developer environments used to produce Scala programs. Programmers will get hands on experience setting up a development environment for Scala programming as well as building, debugging and testing Scala applications with the Scala compiler, the Scala Worksheet and the Scala Console. Scala’s packages and interoperability with Java libraries and the JVM are explored in the context of building both desktop and enterprise application elements. The course provides a brisk review of data abstraction and object oriented technology combined with hands on coverage of Scala’s class model, inheritance, traits, objects and collections. The course moves on with an in-depth look at functional programming, covering topics such as pure functions, functional composition, currying, tail recursion and immutable data. Scala’s elegant and compact syntax is explored throughout. The course closes with a look at threads, actors and messaging facets of the Scala language along with hands on practice building efficient, highly concurrent applications.
This course is designed for Developers, IT and QA Staff, Technical Managers and DevOps personnel.
In this course, participants will:
- Set up a development environment for Scala programs
- Build, debug, and test Scala applications with the Scala compiler, worksheet, and console
Setting up a Scala development platform
The Scala tool chain and integration with the Java Platform
Building basic Scala applications, control flow and operators
Classes, objects, traits and inheritance
Arrays, maps and collections
Grammars, regular expressions and XML processing
Implementing arbitrary operators
Higher order functions, composition, currying and tail recursion
Actors and thread synchronization