Rock the JVM! Scala and Functional Programming for Beginners

Rock the JVM! Scala and Functional Programming for Beginners

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 15 Hours | 5.22 GB

Become a Scala programmer and get the skills you need to work with Spark, Akka, and any Scala framework!

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

  • 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!

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
Table of Contents

Getting Started!
1 Getting Started!

The Absolute Scala Basics
2 Values, Variables and Types
3 Expressions
4 Functions
5 Type Inference
6 Recursion
7 Call-by-Name and Call-by-Value
8 Default and Named Arguments
9 Smart Operations on Strings

Object-Oriented Programming in Scala
10 Object-Oriented Basics
11 Anonymous Classes
12 Object-Oriented Exercises Expanding Our Collection
13 Case Classes
14 Exceptions
15 Packaging and Imports
16 Object-Oriented Basics (exercises)
17 Syntactic Sugar Method Notations
18 Method Notations (Exercises)
19 Scala Objects
20 Inheritance
21 Inheritance, Continued Abstract Classes and Traits
22 Inheritance Exercises Implementing Our Own Collection
23 Generics

Coding practice A Small File System
24 Introduction
25 Echo!
26 Echo, Enhanced
27 Viewing File Contents (Cat) and Wrap-Up
28 Basic Code Scaffolding
29 Mkdir & Creating Immutable Structures, Part 1
30 Mkdir & Creating Immutable Structures, Part 2
31 Finalizing Mkdir and Testing with LS
32 PWD and Creating Files (Touch)
33 Changing Directories (CD) and Traversing Immutable Structures, Part 1
34 CD and Traversing Immutable Structures, Part 2 – Relative Paths
35 Removing Files and Directories (RM)

Functional Programming in Scala
36 What’s a Function, Really
37 Options
38 Handling Failure
39 Anonymous Functions
40 Higher-Order-Functions and Curries
41 HOFs and Curries (Exercises)
42 map, flatMap, filter and for-comprehensions
43 A Collections Overview
44 Sequences List, Array, Vector
45 Tuples and Maps
46 Tuples and Maps (Exercises)

Pattern Matching
47 Pattern Matching
48 ALL the Patterns!
49 Patterns Everywhere

You rock!
50 What’s next