Scala Programming

Overview

This training program on Scala is planned to address the challenges in Java. This Scala programming is a general-purpose programming language which is used for Functional Programming.
Duration
4 Days

Pre-Requisites
Participants must have strong Java developing knowledge

Course Outline

  • History of the Java platform to date
  • Distinguishing between the Java language and its platform
  • Tuff points when using Java for software development
  • What is the Possible criteria for an improved version of Java
  • How and why the Scala language was created
  • Everything is an object
  • Class declarations
  • Data typing
  • Operators and methods
  • Pattern matching
  • Functions
  • Anonymous and nested functions
  • Traits
  • Built in types, literals and operators
  • Testing for equality of state and reference
  • Conditionals, simple matching and external iteration
  • Working with arrays ,lists, sets & maps
  • Throwing and catching exceptions
  • Adding annotations to your code
  • Using standard Java libraries
  • Built in types, literals and operators
  • Testing for equality of state and reference
  • Conditionals, simple matching and external iteration
  • Working with lists, arrays, sets and maps
  • Throwing and catching exceptions
  • Adding annotations to your code
  • Using standard Java libraries
  • A minimal class declaration
  • Understanding primary constructors
  • Specifying alternative constructors
  • Declaring and overriding methods
  • Creating base classes and class hierarchies
  • Creating the traits and mixing them into the classes
  • How a Scala inheritance tree is linearized?
  • Advanced uses of for expressions
  • Understanding function values and closures
  • Using closures to create internal iterators
  • Creating and using higher order functions
  • Practical examples of higher order functions
  • Currying and partially applied functions
  • Creating your own Domain Specific Languages(DSL’s)
  • Using the match keyword to return a value
  • Using case classes for pattern matching
  • Adding pattern guards to match conditions
  • Partially specifying matches with wildcards
  • Deep matching using case constructors
  • Matching against collections of items
  • Using extractors instead of case classes
  • Writing standard JUnit tests in Scala
  • Conventional TDD using the Scala Test tool
  • Behaviour Driven Development using Scala Test
  • Using functional concepts in TDD
  • Working with XML literals in code
  • Embedding XPath like expressions
  • Using Pattern Matching to process XML data
  • Serializing & deserializing to and from XML
  • Issues with conventional approaches to multi-threading
  • How an actor-based approach helps participants to write thread-safe code
  • Participants will know the Scala architecture for creating the actor-based systems
  • Different coding styles which is supported by the actor model