Description
In this course, you will learn :
- Scala code in production environments or open-source projects should be understood.
- With functional programming, you must think differently about coding.
- Create Scala applications from the ground up.
- Contribute to Scala-based products and open-source projects.
- abilities to begin developing with powerful tools built on top of Scala: Play, Akka, and Spark.
Syllabus :
1. The Absolute Scala Basics
- Values, Variables and Types
- Expressions
- Functions
- Type Inference
- Recursion
- Call-by-Name and Call-by-Value
- Default and Named Arguments
- Smart Operations on Strings
2. Object-Oriented Programming in Scala
- Object-Oriented Basics
- Object-Oriented Basics (exercises)
- Syntactic Sugar: Method Notations
- Method Notations (Exercises)
- Scala Objects
- Inheritance
- Inheritance, Continued: Abstract Classes and Traits
- Inheritance Exercises: Implementing Our Own Collection
- Generics
- Anonymous Classes
- Object-Oriented Exercises: Expanding Our Collection
- Case Classes
- Scala 3: Enums
- Exceptions
- Packaging and Imports
3. Functional Programming in Scala
- What's a Function, Really?
- Anonymous Functions
- Higher-Order-Functions and Curries
- HOFs and Curries (Exercises)
- map, flatMap, filter and for-comprehensions
- A Collections Overview
- Sequences: List, Array, Vector
- Tuples and Maps
- Tuples and Maps (Exercises)
- Options
- Handling Failure
4. Pattern Matching
- Pattern Matching
- ALL the Patterns!
- Patterns Everywhere
- Scala 3: Braceless Syntax