Fundamentals of Scala Language

Scala combines object-oriented and functional programming in a high level and concise language.


You will know the elements to implement the concepts of functional programming, with it, you can create applications for JVM that are easily scalable.

Currently, knowing more than one programming paradigm is necessary, since the problem requires implementing different techniques or giving a solution from a different point of view.Scala is a hybrid language that runs on JVM, because it is functional and objects oriented, which makes it the right choice to obtain the knowledge of the functional paradigm, without neglecting the knowledge that is about the Java language.

And although, it has some different elements in its structure, it easily lends itself to the implementation of them, concepts that a Java developer can adopt.With this, the doors are opened to a language-based development ecosystem, and the creation of a broader problem solving criterion.

· Who is going:

This training is widely recommended for:

  • They want to fulfill the goal of learning at least a new language a year
  • Developers interested in creating scalable applications with language use
  • Enrich the knowledge of the paradigm oriented to objects with the set of concepts of functional programming.
  • They wish to take advantage of the Java platform
  • They want to obtain the essential elements to develop with Frameworks as Play or Scalatra

· Pre-requirements:


  • Minimum experience of 2 years in development with Java (Stand-Alone, Web).
  • Solid knowledge of the object orientation paradigm.
  • Basic knowledge of functional programming.
  • Provision to learn new concepts and paradigms.
  • Know the Java language and the SDK
  • Know the use and definition of anonymous internal classes, interfaces and abstract classes in Java
  • Have previous experience in another functional programming language.

· Training content:

  • Why Scala?
  • What is Scala?
  • First steps
    • Repl.
  • Declaration of variables
  • Control structures
  • Definition of functions
  • OO.
    • Lessons
    • Objects
    • Traits
  • Packages and imports
  • IT IS
  • Interoperability
  • Tests
    • basic use of scalast
  • Scaladoc.
  • Functional programming
    • Functions Values
    • Functions and Closures
    • Collections
    • Pattern Matching
      • Better Switch
      • Case classes
      • Pockemon (Gotta Catch’em All !!!)
      • Exception management
      • Options
      • Guards.
      • Extractors (Mention)
      • Matching of complex / deep / nested structures?(Mention)
  • Lazy Values.
  • Implicitos
  • Web programming
    • Scalatra (Simple example)
    • Play (Simple example)