Rock the JVM! Scala and Functional Programming for Beginners
5.0 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
48 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Rock the JVM! Scala and Functional Programming for Beginners to your Wishlist.

Add to Wishlist

Rock the JVM! Scala and Functional Programming for Beginners

Learn what it takes to get you ready to code reactive applications with Scala, Akka, Spark and more!
5.0 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
48 students enrolled
Last updated 8/2017
English
Curiosity Sale
Current price: $10 Original price: $145 Discount: 93% off
30-Day Money-Back Guarantee
Includes:
  • 4.5 hours on-demand video
  • 4 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • understand Scala code in production environments or open-source projects
  • contribute to products and open-source projects written in Scala
  • skills to start developing with powerful tools on top of Scala: Spark, Akka, Play
  • think code differently with functional programming
  • write applications in Scala from scratch
View Curriculum
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
Description

In this course, we will learn the basics of Scala and functional programming, two highly in-demand topics in software industry today.

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

We 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, but more advanced (Skill Vaults)
  3. sequences ideas in a way that "clicks" and makes sense throughout the process of learning

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)

We hate wasting time. That's why the lectures are short, sweet and to the point.

We 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 and development environment already set up for you.

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

This course is primarily targeted at people who have programmed before in some other language (Java works best), where "I programmed before" == "I've written something that I can use". Complete programmer newbies can also join if they're up for a challenge.

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

So join us in this course and rock the JVM!

Who is the target audience?
  • programmers with little or no experience with Scala or functional programming
Students Who Viewed This Course Also Viewed
Curriculum For This Course
31 Lectures
04:36:00
+
How to use this course
1 Lecture 05:13

A short video introduction to get you acquainted with the structure of this course as well as some logistics details. Here are some quick useful links:

IntelliJ IDEA download page - download IntelliJ Community Edition and install the Scala plugin so you can write and execute Scala code

VirtualBox download page - download and install VirtualBox if you want to write Scala in the virtual machine we provided for you.

The virtual machine we prepared for you - download, unzip and run this VM in VirtualBox. IntelliJ IDEA and the starting projects for your homework assignments, as well as the homework instructions, are already there and properly set up for you.

Preview 05:13
+
The Absolute Scala Basics
3 Lectures 19:08

Expressions
06:15

Functions
08:00
+
Skills Vault, Part 1
3 Lectures 23:07

Smart Operations on Strings
08:42

Call-by-Name and Call-by-Value
07:56
+
Object-Oriented Programming in Scala
8 Lectures 01:34:02
The Object-Oriented Basics
07:30


Scala Objects
06:01

Inheritance & Traits
15:45

Generic Programming 101
09:59

Exceptions
09:14

Packaging and Imports
05:45

Live Demo - a List Implementation
34:26
+
Skills Vault, Part 2
4 Lectures 30:00
Default and Named Arguments
04:20

Rocking Inheritance
11:50

Anonymous Classes
06:23

Rocking 'this'
07:27
+
Functional Programming in Scala
7 Lectures 01:04:56
What's a Function, Really?
07:28

Higher-Order-Functions and Curries
08:23

Anonymous Functions
07:31

map, flatMap, filter and for-comprehensions
10:33

Scala Collections
05:51

Sequences: List, Array, Vector
16:38

Tuples and Maps
08:32
+
Skills vault, Part 3
2 Lectures 14:12
Options
07:35

Handling Failure
06:37
+
Pattern Matching
2 Lectures 18:29
Pattern Matching and Case Classes
09:05

Patterns
09:24
+
Skills Vault, Part 4
1 Lecture 06:53
Patterns Everywhere
06:53
About the Instructor
Daniel Ciocîrlan
4.6 Average rating
76 Reviews
420 Students
2 Courses
Software engineer & Computer Science teacher

I'm a software engineer with a passion for teaching.

I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.

For almost 4 years now, I've taught a variety of Computer Science topics to hundreds of students at various levels. I've held Hour of Code for 7 year-olds, I've taught university students who now work at Google and Facebook, I've held live classes for IT professionals and I'm now so excited to share what I know with a wider community online.

Andrei Taleanu
5.0 Average rating
4 Reviews
48 Students
1 Course
Software Engineer

I am a humble software engineer working with Scala for around 3 years now.

Dealing with mainly distributed environments, micro-services and big data, I'm an Akka and Spark enthusiast as well - I worked with Akka when I first picked up Scala. During the last year I have switched the focus on big data and Spark, still on top of Scala.