Object-Oriented Meets Functional
Have the best of both worlds. Construct elegant class hierarchies for maximum code reuse and extensibility, implement their behavior using higher-order functions. Or anything in-between.
Many organizations leading social movements, Twitter and Foursquare as an example, are early champions of Scala and are currently in production using Scala applications.
As current technologies being used are written in Scala, or provide a programming API for the Scala language, for future career viability, we believe Scala should be learned.
Technologies that are written in Scala or provide a programming API for Scala include: Apache Spark, Twitter Scalding, Apache Kafka, Apache Samza, Twitter Finagle and Lightbend’s Akka, an extremely fast, extremely concurrent framework for building distributed applications. Other projects of note written in Scala are ADAM, a genomics processing engine and specialized file format built using Apache Avro, Apache Spark and Parquet and , Lichess, a hobby application that enables thousands of concurrent chess games using just one server.
Apache Zeppelin is an open-source, web-based notebook and integrated development environment (IDE) that enables data-driven, interactive data analytics and collaborative documents with Scala and as well as other programming languages and frameworks. This training will instruct the student in the Scala programming language to enable the authoring and execution of simple to highly complex Scala applications with visualization. Apache Zeppelin will be used as the IDE for programming environment.
This course will cover, through lecture, example and praxis, the Scala language syntax and usage. Lab exercises will introduce advanced features of Scala such as working with XML, combining Scala and Java, concurrency and GUI programming.
Scala combines object-oriented and functional programming paradigms. Scala’s syntax may be difficult to master without previous experience in an object-oriented programming language such as Java or C++. Scala has a type system that enables custom type declarations similar to C++ or many academic programming languages.
Experience with the Java or Python language is recommended. It is suggested that a student new to programming first take the DFHz course “Introduction to Python using Zeppelin.”
Individuals desiring to author applications written in the Scala programming language using Apache Zeppelin.
50% Lecture 50% Hands-on Labs
Learning Scala by Jason Swartz
This is a 4 day class when taught on-site with ILT or via web-ex with VILT. It is also offered on a per-module basis for on-line self-enablement via our LMS, Brane.
Day 1: Introduction to Apache Zeppelin and the Scala Programming Language
Day 2: Functions and Collections
Day 3: Classes, Objects, Case Classes
Day 4: Advanced Typing and Advanced Topics