Scala Course

Scala is a modern multi-paradigm 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.



Scala is a modern multi-paradigm 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.

Scala is object-oriented
Scala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits. Classes are extended by subclassing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance.

Scala is functional
Scala is also a functional language in the sense that every function is a value. Scala provides a lightweight syntax for defining anonymous functions, it supports higher-order functions, it allows functions to be nested, and supports currying. Scala’s case classes and its built-in support for pattern matching model algebraic types used in many functional programming languages. Singleton objects provide a convenient way to group functions that aren’t members of a class.

Furthermore, Scala’s notion of pattern matching naturally extends to the processing of XML data with the help of right-ignoring sequence patterns, by way of general extension via extractor objects. In this context, sequence comprehensions are useful for formulating queries. These features make Scala ideal for developing applications like web services.

Scala is statically typed
Scala is equipped with an expressive type system that enforces statically that abstractions are used in a safe and coherent manner. In particular, the type system supports:

generic classes
variance annotations
upper and lower type bounds,
inner classes and abstract types as object members
compound types
explicitly typed self references
implicit parameters and conversions
polymorphic methods
A local type inference mechanism takes care that the user is not required to annotate the program with redundant type information. In combination, these features provide a powerful basis for the safe reuse of programming abstractions and for the type-safe extension of software.

Scala is extensible
In practice, the development of domain-specific applications often requires domain-specific language extensions. Scala provides a unique combination of language mechanisms that make it easy to smoothly add new language constructs in form of libraries:

any method may be used as an infix or postfix operator
closures are constructed automatically depending on the expected type (target typing).
A joint use of both features facilitates the definition of new statements without extending the syntax and without using macro-like meta-programming facilities.

Scala is designed to interoperate well with the popular Java 2 Runtime Environment (JRE). In particular, the interaction with the mainstream object-oriented Java programming language is as smooth as possible. Newer Java features like annotations and Java generics have direct analogues in Scala. Those Scala features without Java analogues, such as default and named parameters, compile as close to Java as they can reasonably come. Scala has the same compilation model (separate compilation, dynamic class loading) like Java and allows access to thousands of existing high-quality libraries.

Module 1


• Introduction to Scala
• Creating a Scala Doc
• Creating a Scala Project
• The Scala REPL
• Scala Documentation

Module 2

Basic Object Oriented Programming

• Classes
• Immutable and Mutable Fields
• Methods
• Default and Named Arguments
• Objects

Module 3

Case Objects and Classes

• Companion Objects
• Case Classes and Case Objects
• Apply and Unapply
• Synthetic Methods
• Immutability and Thread Safety

Module 4


• Collections overview
• Sequences and Sets
• Options
• Tuples and Maps
• Higher Order Functions

Module 5

Idiomatic Scala

• For expressions
• Pattern Matching
• Handling Options
• Handling Failures
• Handling Futures

Want to have a course urgently or on Fast track. We can arrange you for a specialised training aimed only for you. Please get in touch with us with your requirements by mail or just fill in the Batch Enquiry form. We will get in touch with you with the slot times and other details with in 24 hours

For Priority Training contact below
  • eITCafe: trainings@eitcafe.com
  • India: 040 6678 6677
  • US: 630-636-0198

Support services

We know how hard it can be to find and keep a job when there are so many other things to worry about. Our support team is here to help break down the barriers which are blocking your road to employment.
If you are a Working Chance candidate, please don’t hesitate to ask for advice or support on any issues which are affecting your chances of finding a job.
For further information, please email jobsupport@eitcafe.com our Support and Training Manager.

Job Preparation

• Assistance with learning job seeking skills
• Resume creation
• Master application completion
• Dressing for success
• Job interview preparation

Job Development

• Assistance with completing applications online or in person
• Job development online, on foot, networking events, job fairs and established employer relationships to locate available positions in your job goal
• Job leads and information on attending hiring events
• Follow-ups on applications placed to request interviews.

Explain what is Scala?

Scala is an object functional programming and scripting language for general software applications designed to express solutions in a concise manner.

What is a ‘Scala set’? What are methods through which operation sets are expressed?

Scala set is a collection of pairwise elements of the same type.  Scala set does not contain any duplicate elements.  There are two kinds of sets, mutable and immutable.

What is a ‘Scala map’?

Scala map is a collection of key or value pairs.  Based on its key any value can be retrieved.  Values are not unique but keys are unique in the Map.

Mention the difference between an object and a class ?

A class is a definition for a description.  It defines a type in terms of methods and composition of other types.  A class is a blueprint of the object. While, an object is a singleton, an instance of a class which is unique. An anonymous class is created for every object in the code, it inherits from whatever classes you declared object to implement.

What is recursion tail in scala?

‘Recursion’ is a function that calls itself. A function that calls itself, for example, a function ‘A’ calls function ‘B’, which calls the function ‘C’.  It is a technique used frequently in functional programming.  In order for a tail recursive, the call back to the function must be the last function to be performed.

Key Features


Overview of Course and Learning analytic’s


Learn from Certified and Expert Trainers

Customized Course as per your requirement

24/7 online support for the course learners

High Quality E-learning Content for learning


Access to the Recorded Sessions and classes

Flexible Course timing and Payment terms

Live Practical Oriented Approach for learners

Course Curriculam

Scala Course Module

Scala is one of the main application programming languages used . Much of our infrastructure is written in Scala and we have several libraries supporting our use. While highly effective, Scala is also a large language, and our experiences have taught us to practice great care in its application. What are its pitfalls? Which features do we embrace, which do we eschew? When do we employ “purely functional style”, and when do we avoid it? In other words: what have we found to be an effective use of the language? This guide attempts to distill our experience into short essays, providing a set of best practices. Our use of Scala is mainly for creating high volume services that form distributed systems — and our advice is thus biased — but most of the advice herein should translate naturally to other domains. This is not the law, but deviation should be well justified.
Duration: 45 Days

Support: 24x7

Video: Yes

JAVA SCALA Certified Professional