Introduction to Scala using Zeppelin

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.

PREREQUISITES

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.”  

TARGET AUDIENCE

Individuals desiring to author applications written in the Scala programming language using Apache Zeppelin.

FORMAT

50% Lecture 50% Hands-on Labs

TEXT BOOK

Learning Scala by Jason Swartz

DURATION

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.

AGENDA SUMMARY

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

Request more course information

* indicates required