Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 15.5 hours on-demand video
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
Development Programming Languages Functional Programming

Scala & Functional Programming for Beginners | Rock the JVM

Become a Scala programmer and get the skills you need to work with Spark, Akka, and any Scala framework!
Bestseller
Rating: 4.6 out of 54.6 (6,565 ratings)
27,092 students
Created by Daniel Ciocîrlan
Last updated 5/2020
English
English [Auto], French [Auto], 
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

7 sections • 50 lectures • 15h 16m total length

  • Preview09:32

  • Values, Variables and Types
    Preview11:46
  • Expressions
    19:34
  • Functions
    21:52
  • Type Inference
    04:21
  • Recursion
    25:13
  • Call-by-Name and Call-by-Value
    08:49
  • Default and Named Arguments
    08:53
  • Smart Operations on Strings
    15:08

  • Object-Oriented Basics
    14:40
  • Object-Oriented Basics (exercises)
    17:08
  • Syntactic Sugar: Method Notations
    16:33
  • Method Notations (Exercises)
    12:09
  • Scala Objects
    15:37
  • Inheritance
    16:40
  • Inheritance, Continued: Abstract Classes and Traits
    Preview11:46
  • Inheritance Exercises: Implementing Our Own Collection
    15:48
  • Generics
    26:02
  • Anonymous Classes
    06:25
  • Object-Oriented Exercises: Expanding Our Collection
    26:06
  • Case Classes
    11:40
  • Exceptions
    27:05
  • Packaging and Imports
    12:41

  • What's a Function, Really?
    Preview23:00
  • Anonymous Functions
    13:14
  • Higher-Order-Functions and Curries
    19:38
  • HOFs and Curries (Exercises)
    32:08
  • map, flatMap, filter and for-comprehensions
    25:51
  • A Collections Overview
    03:39
  • Sequences: List, Array, Vector
    23:44
  • Tuples and Maps
    15:32
  • Tuples and Maps (Exercises)
    30:51
  • Options
    26:19
  • Handling Failure
    22:33

  • Pattern Matching
    22:04
  • ALL the Patterns!
    19:57
  • Patterns Everywhere
    09:44

  • Introduction
    15:15
  • Basic Code Scaffolding
    28:26
  • Mkdir & Creating Immutable Structures, Part 1
    19:45
  • Mkdir & Creating Immutable Structures, Part 2
    30:55
  • Finalizing Mkdir and Testing with LS
    19:07
  • PWD and Creating Files (Touch)
    23:17
  • Changing Directories (CD) and Traversing Immutable Structures, Part 1
    27:56
  • CD and Traversing Immutable Structures, Part 2 - Relative Paths
    20:28
  • Removing "Files" and "Directories" (RM)
    27:52
  • Echo!
    15:36
  • Echo, Enhanced
    21:52
  • Viewing "File" Contents (Cat) and Wrap-Up
    19:39

  • What's next
    02:16

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. 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

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

Who this course is for:

  • programmers with little or no experience with Scala or functional programming

Featured review

Calvin Ku
Calvin Ku
170 courses
16 reviews
Rating: 5.0 out of 55 months ago
Coming from Python, I feel that the fundamental concepts of Scala are explained very very well in the course. I didn't like a lot of the syntactic sugar of Scala before this course but now I'm seeing the beauty of it. It's pretty cool! I highly recommend this course!

Instructor

Daniel Ciocîrlan
Software Engineer & Best-Selling Instructor
Daniel Ciocîrlan
  • 4.7 Instructor Rating
  • 16,833 Reviews
  • 51,789 Students
  • 11 Courses

I'm a software engineer with a passion for teaching. Big fan of Scala and the JVM.

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 7+ years, I've taught a variety of Computer Science topics to 30000+ 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 trainings for software engineering teams at Adobe and Apple, and I'm now so excited to share what I know with a wider community online.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.