What you'll learn
Description
Scala is an amazing programming language: it has the perfect balance between object-orientation and functional programming, it's become more popular in recent years and it powers some of the best tools of their kind, including the data-intensive Akka and Apache Spark.
In this course you'll get all the tools you need to get started with Scala and then go on and learn the data engineering tools that datastack.tv will teach you.
You will learn:
- How to set up a Scala project
- Basic and advanced Scala concepts
- Scala as an object oriented programming language
- Scala as a functional programming language
- Pattern matching
This course is for beginners. You do not need any previous knowledge of Scala or Data Engineering. We will start right at the beginning and work our way through step by step.
You will get access to 6 concise lectures plus corresponding code base!
Introduction video
Course content
6 lectures, 2h total length
Welcome & How to set up a Scala project (4:58) Preview
You're going to learn how to set up a Scala project using IntelliJ IDEA.
The Basics (16:18) Preview
You're going to learn about variables, if-else expressions, code blocks, functions and recursive
functions.
Object-Orientation (34:08)
You're going to learn about Scala as an object-oriented language and what classes, inheritance,
subtype polymorphism, abstract classes, singleton objects and companion objects are.
Functional Programming (30:59)
You're going to learn how to use Scala as a functional programming language and what higher-order
functions, collections and for comprehension are.
Pattern Matching (11:53)
You're going to learn what switch expressions, case class decomposition are and how to
deconstruct tuples and decompose lists.
Advanced (19:13)
You're going to learn about lazy evaluation, Option & Try types, asynchronous programming and
implicits.
Who this course is for
- Aspiring data engineers
- Programmers with little or no experience with Scala
- Programmers with littel or no experience with functional programming
Requirements
- Some experience with some other programming language
- Computer science fundamentals: memory, how programs compile and run
- Some Java knowledge is a plus, but not required
Instructor
Daniel Ciocîrlan
Software Engineer & Best-Selling Instructor

Daniel is a software engineer with a passion for teaching. He is a big fan of Scala and the JVM.
For 7+ years, he has taught a variety of Computer Science topics to 30000+ of students at various levels. He has held Hour of Code for 7 year-olds, he has taught university students who now work at Google and Facebook, he has held live trainings for software engineering teams at Adobe and Apple.
Daniel is now excited to share what he knows with a wider community online.