Scala

CloudLabs

Projects

Assignment

24x7 Support

Lifetime Access

.

Course Overview

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object- oriented and functional languages, enabling Java and other programmers to be more productive.

At the end of the training, participants will be able to:

Pre-requisite

Attendees should be strong Java developers planning to develop Scala applications.

Duarion

5 days

Course Outline

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

Reviews