Visão Geral
Este Curso Basic Programming with Scala lhe dá uma boa base para começar a programar em Scala. Ele ensina os conceitos básicos da sintaxe, mas também analisa os conceitos e princípios por trás da linguagem e apresenta Scala com experiência prática.
Objetivo
- Obtenha um conhecimento prático da linguagem de programação Scala
- Entenda os fundamentos da programação orientada a objetos em Scala
- Entenda os fundamentos da programação funcional em Scala
- Fique confortável escrevendo código Scala por meio de laboratórios práticos
Publico Alvo
- Embora todos sejam bem-vindos para experimentar este curso, o público-alvo consiste principalmente de desenvolvedores profissionais de qualquer formação que desejam aprender e se especializar em desenvolvimento Scala.
Pre-Requisitos
- Para aproveitar ao máximo este curso, os futuros alunos devem ter alguns anos de experiência profissional em pelo menos uma linguagem de programação orientada a objetos.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Overview
- Scala Overview
- About Scala and Its Uses
- REPL, IDEs, and sbt
- Statements, Expressions, Blocks
- Variables (val and var) and Type Inference
- Declaration, Initialization, Assignment, Reference
The Basics
- Data Types and Operators
- Numeric Types and Operators
- Boolean Values and Operators
- Strings, Characters, and Operations on Them
- Tuples
- Flow of Control
- The If Expression
- For, Generators, and For Comprehension
- While and Do-While
- Simple Pattern Matching
Classes
- Instantiation
- Primary Constructor and Constructor Overloading
- Defining and Using Classes
Objects
- Objects vs. Classes
- Companion Objects
Inheritance
- Basic Examples
- Constructor Inheritance
- Abstract Classes and Methods
- Protected Modifier and Access Modifier Recap
Custom Operators
- Operators as Methods
Traits
- The Need for Traits
- Using Traits
- Declaring and Mixing-In
- Overriding Traits
Generic Types and Methods
- Declaration, Reference, Assignment
- Upper Bounds
Collection Types
- Scala Collections API
- List, Vector, Set
- Map
- Default Implementation Classes
- String and Array Wrapping
- Mutable vs. Immutable Collections
- External vs. Internal Iteration
- Main Collection Operations and the Cons Operator
Exception Handling
- Traditional Approach
- The Union Type Approach
- The Try Type
Functional Programming
- An intuitive Approach
- Functional Syntax and Lambdas
- Lambda Shortcuts
- Closures
- Higher-Order Functions
- Functions vs. Methods
- Eta Expansion
- Recursion and Tail Recursion
- Partial Application and Currying
Functional Programming and Collections
- List Pattern Matching
- map, filter, flatMap
- Folding and Reductions
TENHO INTERESSE