Introduction to Scala Using Zeppelin

Overview

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.

50% Lecture 50% Hands-on Labs

Target Audience

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

Prerequisites

Scala combines object-oriented and functional programming paradigms. Scala’s syntax may e 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 course ’Introduction to Python using Zeppelin.’ 

Course Outline

  • 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

SLI Main Menu