Scala & Functional Programming for Beginners | Rock the JVM
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.
More
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
- deconstructs Scala - which is otherwise hard to learn - into the critical pieces you need
- selects the most important concepts and separates them into what's simple but critical and what's powerful
- sequences ideas in a way that "clicks" and makes sense throughout the process of learning
- 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!
- 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
- 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
Watch Online Scala & Functional Programming for Beginners | Rock the JVM
# | Title | Duration |
---|---|---|
1 | Getting Started! | 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 |