422

Curs Scala

Durata: 24 ore/ 3 zile

Pretul include:

Suportul de curs in format electronic, masa de pranz, coffee break, diploma interna ProManagement.

Agenda curs:

  • First lines in Scala – Basic Language Syntax (4h)
    • Set-up IDE. Play with scala Interpreter
    • Variables and Values
    • Functions
    • Your 1st scala script
    • Parameterized types
    • The .apply method
    • Lists – basic stuff
    • Tuples
    • Sets and Maps – syntax
    • Functional style – intro
    • Read a file
  • Classes and Objects (4h)
    • Classes, fields, methods
    • Companion Objects
    • Your 1st main() method. The App trait
    • equals, ==, eq
    • String interpolation
    • Operators are methods. Left or right –apply ?
    • Operator Precedence
    • Rich wrappers
  • Designing a Functional Object – the Rational class (4h)
    • Constructors, invariants
    • Immutability
    • Method override and overload
    • Class params vs fields
    • Access protection: private, private[this], protected, public
    • Defining an operator
  • Control structures (4h)
    • Imperatrive example
    • The “ternary” if
    • The “imperative” while
    • The “overwhelming” for: ranges, foreach, filter, flatmap, yield
    • Try {}: catch { case, throw new…, error(), Nothing return type
    • match-case
    • Refactoring imperative to functional-style
  • Functions and closures (4h)
    • Local functions
    • Function literals (anonymous ad-hoc functions)
    • Shorter forms of anonymous functions
    • Partially applied functions
    • Closures
    • Repeated parameters
    • Default parameters. Named arguments
  • Control abstractions (2h)
    • Pass a the variable step as function to reduce duplication
    • Currying
    • The Loan Pattern
    • By-name parameters
  • Composition and inheritance (2h) – fill the gaps exercises
    • The uniform access principle
    • Parametric fields
    • Invoking superclass constructors
    • Factory objects
  • Scala class hierarchy (2h)
    • General picture
    • Unit, Any, Nothing, AnyRef, AnyVal
    • Int, RichInt, auto-boxing
    • Custom value classes
  • Traits (2h)
    • Thin vs Rich interfaces problem
    • Mixing a trait: exercise
    • The Ordered trait
    • Stackable modifications
  • Packages (1h)
    • Nesting packages
    • Private[this], [outerclass]
    • Package objects
  • Unit tests – ScalaTest(1h)
    • Ensuring, assert
    • assertThrows
  • Case Classes and Pattern Matching (3h)
    • What “case class” gives you
    • A full example (fill the gaps)
    • Types of match patterns: wildcard, constant, variable, constructor, tuple, type, variable binding
    • Pattern guards
    • Sealed classes
    • The Option type
  • Scala Collections API (2h): Hands-on exercises to explore the API
  • Overview of concepts in Play Framwork (Demo) [opt1, to ellaborate]
  • A Coding Exercise (Coding Kata)

Bonus: Un voucher de 10% discount pentru al 2 lea curs achizitionat

Discount de volum:

• 7-8 participanti/ grupa - 5 % discount la pretul de lista

• 9-10 participanti/ grupa - 10 % discount la pretul de lista

• >10 participanti/ grupa - pretul se negociaza

Diploma obtinuta: Certificat Pro Management

RECOMANDARI DIN PARTEA CLIENTILOR

Microsoft-recomandation
Rec-fundatie-excel
Rec-fundatie
Recomandare-Microsoft
rec-bcr
rec-informatica-feroviara
rec-kaufland
rec-ministerul-justitiei
recomandare-acvatot
recomandare-bcr
recomandare-brd
recomandare-cez
recomandare-ejot
recomandare-hydroelectrica
recomandare-infineon
recomandare-ing
recomandare-radix
recomandare-timex
recomandare-umf
recomandare-voluntari

Aplica pentru acest curs

Te rugam sa completezi formularul pentru a rezerva un loc la acest curs:

Invalid Input
Invalid Input
Invalid Input
Invalid Input
Invalid Input
Invalid Input
Invalid Input
Invalid Input