Skip to main content

Scala & Functional Programming for Beginners | Rock the JVM

11h 21m 51s
English
Paid

In this course, we will learn the basics of Scala and functional programming, two highly in-demand topics in software industry today. Write 3000+ lines of Scala code yourself, with guidance, through 100+ examples and exercises.

Why Scala:

  • it's currently the hottest language based on the Java Virtual Machine - the number of Scala jobs has exploded, but demand is even higher
  • it offers significantly higher pay (> 20%) than same-level Java positions
  • it's incredibly fun - if you learn Scala, you'll hardly want to get back
  • it unlocks the doors to some of the latest technologies - Spark, Akka and more

I like to get to the point and get things done. This course

  1. deconstructs Scala - which is otherwise hard to learn - into the critical pieces you need
  2. selects the most important concepts and separates them into what's simple but critical and what's powerful
  3. sequences ideas in a way that "clicks" and makes sense throughout the process of learning
  4. applies everything in live code

The end benefits are still much greater:

  • significant bump in salary when you switch to Scala - return on investment for this course >100x in the first year alone!
  • more enjoyable work - Scala is fun!
  • future-proof skills - you'll be able to work with some of the cutting edge technologies (Spark, Akka etc)

This course is for established programmers with otherwise no experience with Scala language or little to no experience with functional programming. I already assume a solid understanding of general programming fundamentals. If you've never coded before, this course is likely not for you.

The course is comprehensive, but you'll always see me get straight to the point. So make sure you have a good level of focus and commitment to become a badass programmer.

I believe both theory and practice are important. That's why you'll get lectures with code examples, real life Scala code demos and assignments, plus additional resources, instructions, exercises and solutions.

I've seen that my students are most successful - and my best students work at Google-class companies - when they're guided, but not being told what to do. I have assignments waiting for you, where I offer my (opinionated) guidance but otherwise freedom to experiment and improve upon your Scala code.

Definitely not least, my students are most successful when they have fun along the way!

So join me in this course and let's rock the JVM!

Requirements:
  • some experience with some other programming language - you've built something useful that works
  • computer science fundamentals: memory, running time, how programs compile and run
  • some Java knowledge is a plus, but not required
Who this course is for:
  • programmers with little or no experience with Scala or functional programming

What you'll learn:

  • understand Scala code in production environments or open-source projects
  • think code differently with functional programming
  • write applications in Scala from scratch
  • contribute to products and open-source projects written in Scala
  • skills to start developing with powerful tools on top of Scala: Spark, Akka, Play

About the Author: rockthejvm.com

rockthejvm.com thumbnail
Rock the JVM aims to be the go-to resource for learning Scala, Akka, Spark and everything JVM. Everything is battle-tested on yours truly. I'm Daniel Ciocîrlan, a developer and teacher from Bucharest, Romania. I've started Rock the JVM to share everything that I learned through pain, blood, sweat and tears and distill everything in action-packed courses with a smooth learning curve. Since 2013, I've been teaching a variety of programming topics to people all over the world and at every level of the game, from senior engineers processing trillions of data points to 7-year-olds moving spaceships on the screen. At first, I mastered Java, then I taught it for 3.5 years to university students. I found Scala 7 years ago when a good friend told me about functional collections. I was blown away, and still am to this day as I discover more of the Scala magic. The rabbit hole only went deeper from there: I learned Akka with my own small projects, then Spark and big data while at Palantir. I left Palantir in mid 2019, but it's very likely my old pipelines are still crunching data every day, as we speak. I hope you enjoy my material - in the meantime, I've just started on Twitter and would love to meet you! A bit more I spend most of my time between Scala, Akka and Spark, and I'm really fortunate I get to work with them and teach them to other developers. I love the expressiveness and the concise power of a good technology. I learn from the community and the people I've had in my courses and I love to share back what I've learned. I love to speak at meetups and conferences and I adore people's faces when something really hard "clicks" in their mind and their face lights up. I don't know how people react to my online courses in real time, but I love the "this changed my life" comments. I've graduated from University Politehnica of Bucharest with a BSc and a MSc in Computer Science. My Bachelor and Master theses were on quantum computation, of all things. That can be explained by the fact that I was really into physics before - I was winning medals at international physics competitions. When I'm not coding, I dance salsa and bachata and I tend to play an absurd amount of Ed Sheeran on my acoustic guitar.

Watch Online 40 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 40 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Getting Started!
All Course Lessons (40)
#Lesson TitleDurationAccess
1
Getting Started! Demo
15:15
2
Values, Variables and Types
11:47
3
Expressions
19:35
4
Functions
21:53
5
Type Inference
04:22
6
Recursion
25:14
7
Call-by-Name and Call-by-Value
08:51
8
Default and Named Arguments
08:54
9
Smart Operations on Strings
15:09
10
Object-Oriented Basics
14:41
11
Object-Oriented Basics (exercises)
17:09
12
Syntactic Sugar: Method Notations
16:34
13
Method Notations (Exercises)
12:10
14
Scala Objects
15:38
15
Inheritance
16:41
16
Inheritance, Continued: Abstract Classes and Traits
11:48
17
Inheritance Exercises: Implementing Our Own Collection
15:50
18
Generics
26:03
19
Anonymous Classes
06:26
20
Object-Oriented Exercises: Expanding Our Collection
26:07
21
Case Classes
11:41
22
Scala 3: Enums
09:17
23
Exceptions
27:06
24
Packaging and Imports
12:42
25
What's a Function, Really?
23:01
26
Anonymous Functions
13:15
27
Higher-Order-Functions and Curries
19:39
28
HOFs and Curries (Exercises)
32:09
29
map, flatMap, filter and for-comprehensions
25:52
30
A Collections Overview
03:40
31
Sequences: List, Array, Vector
23:45
32
Tuples and Maps
15:33
33
Tuples and Maps (Exercises)
30:52
34
Options
26:20
35
Handling Failure
22:35
36
Pattern Matching
22:05
37
ALL the Patterns!
19:58
38
Patterns Everywhere
09:45
39
Scala 3: Braceless Syntax
20:12
40
What's next
02:17
Unlock unlimited learning

Get instant access to all 39 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription