Scala Developer

DASVM’s Scala Developer training offers an in-depth understanding of all the essentials of Scala programming language from scratch. It will enable you to master object-oriented aspects of Scala, trait methods, XML, etc. with practical executions and examples. By the end of the training, you’ll gain a solid working knowledge of Scala and will be able to implement this knowledge in real-world.
Scala language is built on top of JVM (Java Virtual Machine) and offers all the features of an Object Oriented Programming (Oop). It has the expressive power of a dynamic programming language without compromising on type safety. Scala is described as a multi-paradigm programming language that can express common programming patterns in a concise, elegant, and type-safe way. Scala plays a significant role in Big Data, as the language is used to develop Apache Spark.

img
request

Can’t find a batch you were looking for?

 

 

DASVM’s Scala Developer training offers an in-depth understanding of all the essentials of Scala programming language from scratch. It will enable you to master object-oriented aspects of Scala, trait methods, XML, etc. with practical executions and examples. By the end of the training, you’ll gain a solid working knowledge of Scala and will be able to implement this knowledge in real-world.

Scala language is built on top of JVM (Java Virtual Machine) and offers all the features of an Object Oriented Programming (Oop).  It has the expressive power of a dynamic programming language without compromising on type safety. Scala is described as a multi-paradigm programming language that can express common programming patterns in a concise, elegant, and type-safe way. Scala plays a significant role in Big Data, as the language is used to develop Apache Spark.

 
Course Objectives:

 

The core skills that you will gain are as follows:

  • Understand Storm Architecture and basic distributed concepts
  • Understand Logic Dynamics and Components in Storm
  • Understand Legacy architecture of real-time systems
  • Understand the difference between Apache Spark and Hadoop
  • Learn Scala and its programming implementation
  • Build Spark Applications using Java, Scala, and Python
  • Implement Spark on a cluster
  • Gain insight into the functioning of Scala
  • Develop Real-life Storm Projects
 

Course content

 

Scala Basics
  • IntelliJ Installation
  • Valls and Vars
  • Hiding a Val with another Val
  • Scala and Types
  • Defining a Method
  • Functions, Classes, objects
  • Constructors
  • Singleton object, Companion Classes and Objects and Case Classes and Others
  • Strings operation in Scala
Pattern match          
  • Pattern Matching
  • ALL the Patterns!
  • Patterns Everywhere
  • Braceless Syntax
  • Pattern Matching and Regex
  • Assignment
Building Scala project using IntelliJ
  • Scala projects in IntelliJ
  • IntelliJ Worksheets
  • Method Parameters and Return Types
  • Methods with no return types
  • Expressions and Statements
  • Assignments and Unit
  • Tuples
  • Tuples continued
  • Re-writing Rules: Infix
  • Re-writing Rules: Appl
  • e-writing Rules: Update
  • General Notes on Re-writing
  • Assignment
Control Structure
  • Expressions and Statements Recap
  • Unit and Side Effects
  • Alternatives to Returning Unit
  • If, ternary and types
  • val and var, IDE tricks
  • ..catch…finally and type inference
  • While loop statement, and @tailrec
  • For Statements and Expressions
  • ..Yield
  • The Four Gs of For
  • For – more than just loops
  • Match expressions
  • Match Guards
  • More Matching
  • String Interpolation
  • Assignment9-10-11-12
Methods
  • Private Methods
  • Nested Methods
  • Scoping of Nested Methods
  • Function Literals
  • Passing Function Literals
  • How Functions Work
  • Other Methods on Function
  • Higher Order Functions
  • Writing a Higher Order Function
  • Placeholder Syntax
  • Placeholders with Types
  • Partial Application
  • Partial Application continued
  • Closures
  • Partial Functions
  • Partial Functions continued
  • Partial Functions, map vs collect
  • Var Args
  • Using Var Args
  • Var Args, Expansion
  • Default and Named Parameters
  • Using the Contents of a File
  • Using Generics and Higher Order Functions
  • Calling the Generic Method
  • Currying Method Parameters
  • Curried Generic Loan
  • Function Arity
  • Writing Our Own While Loop
  • By-name Functions
  • Assignment
Inheritance
  • Classes and Abstract Classes
  • Abstract Classes
  • Anonymous Classes and Overrides
  • Uniform Access
  • val, def and lazy val
  • Inheriting and Extends
  • Invoking Superclasses
  • Ex: Alternative Car Definition
  • override keyword
  • override keyword continued
  • final keyword
  • final keyword continued
  • final classes
  • Ex: case classes
  • Domain Models
  • Cars and Vehicles Parking Structure
  • Composition and inheritance
  • Top Classes
  • Top Types Example
  • Organization From the Top
  • Bottom Classes
  • Null and Nothing
  • Even More Nothing
  • Scala Type Calculus
  • Scala Type Inference Tricks
  • Primitives and Implicit Conversions
  • Rich Wrappers
  • @specialized
  • @specialized generation
  • Extension Methods and Implicit Classes
  • Value Class
  • Nil, Null, Nothing, None
  • Option
  • Working with Option
  • Option continued
  • equals and hashCode
  • Generate with IDEA
  • Follow this formula
  • Sub classes
  • Just use case classes
  • Product Types
  • Product Type Features
  • Assignment
Traits
  • Introduction
  • Multiple Inheritance
  • Traits Compared to Interfaces
  • Creating a Trait
  • Using a Trait in a Class
  • Polymorphism and Rich Interfaces
  • Multiple Traits
  • How’d it do that?
  • Stacking Traits
  • Stacking Traits 1
  • Stacking Traits 2
  • Stacking Traits 3
  • Construction Composition
  • Traits vs Classes
  • Trait Initialization
  • Trait Initialization Fixes
  • abstract override
  • Implementing the Abstract
  • Traits with Type Parameters
  • Another CompareAge class
  • Package Structure Alternatives
  • Testing in Scala
  • Namespace Notation
  • More Parts of the Model
  • Package Visibility
  • wine package
  • The PairWine object
  • Package Objects
  • Importing from an object
  • Importing from an instance
  • Importing Fu: Renaming
  • Selective Importing
  • Companion Objects
  • Assignment
Collection in Scala
  • Collections Intro
  • List Initialization and Cons
  • The Immutable Linked List
  • List Properties
  • Initializing Lists
  • Converting to Lists
  • List is Covariant
  • Constant Time Operations
  • Linear Time Operations
  • Operations that Depend on Position
  • Higher Order Functions
  • Predicate Based Functions
  • Folds
  • Fold Alternatives
  • Sorting
  • Even More Functions
  • Indices, zip, unzip in List
  • Sequences
  • Sequences Performance
  • Sets
  • Maps
  • Sets and Maps Performance
  • Mutable vs Immutable
  • LinearSeq vs IndexedSeq
  • mutable vs immutable
  • The -> Extension Method
  • Simple Map Iteration
  • More Functional Style
  • Array & Vector
  • map, flatMap, filter and for-comprehensions
  • Opening and Reading a File
  • Consistent API
  • Other Sequences
  • The Mighty Vector
  • Vector (continued)
  • Immutable Sets
  • Sorted and Mutable Sets
  • Sorted and Mutable Maps
  • Key and Value Operations
  • Views
  • Streams
  • Exercises (and how to run them in IntelliJ)
  • Assignment
Advance Functions
  • Dark Sugar syntax
  • Advance pattern matching -1
  • Advance pattern matching – 2
  • Partial Functions
  • Functional Collections: A functional Set
  • Enhancing A Functional Set
  • Currying and Partially Applied Functions
  • Lazy Evaluation
  • Lazy Evaluation Exercise: A Potentially Infinite Stream
  • Infinite Streams Proficiency: More Exercises
  • Monads
  • Monads: Exercises
  • A Type Class End-to-End example: JSON Serialization
  • HOFs and Curries (Exercises)
  • Tuples and Maps (Exercises)
Scala Project Building Tools: SBT
  • Into SBT
  • Using SBT
  • SBT Project Source Layout
  • sbt
  • Example build.sbt
  • Example plugins.sbt
  • Making a Custom Setting
  • Multiple Project Support
  • Mixing Scala and Java
  • Scala/Java Compile Cycle
  • Calling Java from Scala
  • Scala 2.12 and Java 8
  • Scala/Java Function Compatibility
  • Handling Nulls
  • Options to Nulls
Test in Scala
  • Pre and Post Conditions
  • Eliding
  • Requirements
  • Testing
  • Scalatest
  • FunSuite
  • FunSpec
  • Matchers
  • Matchers 2
  • Matchers 3
  • Unit vs Integration Testing
  • Scala mock
  • Unit Testing with Mocks
  • Advantages of Mocks
  • Mocks vs Stubs
  • Fakes
  • Property Driven Testing
  • Custom Property Generators
  • Testing with Futures
  • Waiting for the Future
  • Full Async Suites
  • Building Scala, SBT, Java Compatibility
  • Assignment
Conclusion
  • Project Guidance
  • Core Scala based project code flow explanation for tracing any industry project

 

To see the full course content Download now

Course Prerequisites

 
  • Beginner level Java knowledge (for instance, object-oriented programming with Java: what are variables, loops in Java, arrays in Java, how do you create an object, using collection and thread in Java).
  • Basic software knowledge to install an updated version of JDK, or Eclipse if not downloading Scala.
  • However, even if you do not know Java but are familiar with other programming languages like C, C++, or Python, then you can master Scala programming.

Who can attend

 

The following job roles will get benefited from this training:

 
  • Big Data Professionals
  • Software Engineers
  • Architects and Developers
  • Analytics Professionals
  • Data Scientists

Number of Hours: 40hrs

Certification

Scala Essential Certification

Key features

  • One to One Training
  • Online Training
  • Fastrack & Normal Track
  • Resume Modification
  • Mock Interviews
  • Video Tutorials
  • Materials
  • Real Time Projects
  • Virtual Live Experience
  • Preparing for Certification

FAQs

DASVM Technologies offers 300+ IT training courses with 10+ years of Experienced Expert level Trainers.

  • One to One Training
  • Online Training
  • Fastrack & Normal Track
  • Resume Modification
  • Mock Interviews
  • Video Tutorials
  • Materials
  • Real Time Projects
  • Materials
  • Preparing for Certification

Call now: +91-99003 49889 and know the exciting offers available for you!

We working and coordinating with the companies exclusively to get placed. We have a placement cell focussing on training and placements in Bangalore. Our placement cell help more than 600+ students per year.

Learn from experts active in their field, not out-of-touch trainers. Leading practitioners who bring current best practices and case studies to sessions that fit into your work schedule. We have a pool of experts and trainers are composed with highly skilled and experienced in supporting you in specific tasks and provide professional support. 24x7 Learning support from mentors and a community of like-minded peers to resolve any conceptual doubts. Our trainers has contributed in the growth of our clients as well as professionals.

All of our highly qualified trainers are industry experts with at least 10-12 years of relevant teaching experience. Each of them has gone through a rigorous selection process which includes profile screening, technical evaluation, and a training demo before they are certified to train for us. We also ensure that only those trainers with a high alumni rating continue to train for us.

No worries. DASVM technologies assure that no one misses single lectures topics. We will reschedule the classes as per your convenience within the stipulated course duration with all such possibilities. If required you can even attend that topic with any other batches.

DASVM Technologies provides many suitable modes of training to the students like:

  • Classroom training
  • One to One training
  • Fast track training
  • Live Instructor LED Online training
  • Customized training

Yes, the access to the course material will be available for lifetime once you have enrolled into the course.

You will receive DASVM Technologies recognized course completion certification & we will help you to crack global certification with our training.

Yes, DASVM Technologies provides corporate trainings with Course Customization, Learning Analytics, Cloud Labs, Certifications, Real time Projects with 24x7 Support.

Yes, DASVM Technologies provides group discounts for its training programs. Depending on the group size, we offer discounts as per the terms and conditions.

We accept all major kinds of payment options. Cash, Card (Master, Visa, and Maestro, etc), Wallets, Net Banking, Cheques and etc.

DASVM Technologies has a no refund policy. Fees once paid will not be refunded. If the candidate is not able to attend a training batch, he/she is to reschedule for a future batch. Due Date for Balance should be cleared as per date given. If in case trainer got cancelled or unavailable to provide training DASVM will arrange training sessions with other backup trainer.

Your access to the Support Team is for lifetime and will be available 24/7. The team will help you in resolving queries, during and after the course.

Please Contact our course advisor +91-99003 49889. Or you can share your queries through info@dasvmtechnologies.com

like our courses