Kickstart your career with best deals on top training courses NY10 Click to Copy

Scala 101 Certification Course

Scala 101 Training

  • 32 hours of Instructor-led training classes
  • Learn all about the Scala syntax and object oriented principles
  • Learn advanced concepts - loops, expressions, inheritance/traits,Pattern matching
  • Learn to write clean and functional Scala codes and test it
  • In-depth hands-on training classes
Group Discount

Overview

Scala is among the most popular programming languages and powers the code of several top websites around the world including Twitter, LinkedIn and The Guardian. This workshop gives you a comprehensive overview of the language and helps you dive deep into its concepts and fundamentals through a practical, hands-on tutorial.

As far as programming styles go, object oriented programming is the most popular one due to the various advantages it offers over other styles including code reuse and recycling, encapsulation, code maintenance etc. One such object oriented software program is Scala that is built on top of the Java virtual machine and allows code optimization and speed, much preferred in programming. It is among the highest paying technologies and there are lot of job opportunities for Scala experts. 

This course will take you through Scala principles and Scala object-oriented programming, through a series of hands-on practical sessions, extensive code base and exercises which will help you write clean and functional code. With access to our extensive resources and the excellent instruction you will receive from our trainers, you will learn to write and test your Scala code by the end of the workshop.

What You Will Learn:

  • About Scala, its uses and aspects of the object-functional approach

  • To write your own Scala code and test it

  • Basic syntax of Scala

  • Concepts of scoping, function calls, mutable and immutable data

Prerequisite

Participants are expected to have experience with Java or any other object-oriented language.

Who Should Attend

  • Developers and architects who want to use Scala for back-end programming

Knowledgehut Experience

Instructor-led Live Classroom

Interact with our expert instructors in real-time— listen, learn, question and apply.

Curriculum Designed by Experts

Stay globally relevant and empower yourself with the latest tools and training through our in-depth curriculum.

Learn through Doing

Learn theory backed by practical case studies, exercises and coding practice that will make you ready for the industry.

Mentored by Industry Leaders

Learn from the best in the field. Our mentors are all experienced professionals in the fields they teach.

Advance from the Basics

Learn concepts from scratch, and advance your learning through step-by-step guidance on tools and techniques.

Code Reviews by Professionals

Get reviews and feedback on your final projects from professional developers.

Curriculum

Learning Objectives:

Get introduced to Scala and learn about the new features of Scala; understand the types

  • What is Scala?
  • Origin of Scala
  • Features of Scala
  • Scala Collection Library
  • Understanding types in Scala
  • Ways to parameterize a type
  • Kinds of types
  • Using types to express domain constraints

Learning Objectives:

Look in detail at different flavors of defining a function. Apply the knowledge about types to make our functions polymorphic and of a higher order. Learn about recursion, tail recursion, and trampolining as important aspects of functional programming for the JVM.

  • Ways to define a function
  • Polymorphic functions
  • Higher order functions
  • Recursion
  • Trampolining
  • Object-oriented aspects of functions

Hands-on:
Implement a head-recursive function. Implement a tail-recursive function for factorial calculation. Implement a recursive function for factorial calculation using trampolining. 

Learning Objectives:

Learn about different types of implicits and recap the implicit scope resolution rules. Learn about type classes, the central implementation mechanism that's utilized in modern functional programming libraries.

  • Types of implicits
  • Context bounds
  • Type classes
  • Type classes and recursive resolution
  • Type class variance
  • Implicit scope resolution rules

Hands-on:

Implement implicit conversions, implicit classes, and implicit parameters.

Learning Objectives:

Understand the situations in which property-based testing can be especially useful, and look at how the expected properties can be formulated and the test data can be produced.

  • Scala testing ecosystem
  • Introduction to Behavior Driven Development
  • ScalaTest
  • Concept of property-based testing
  • Properties
  • Generators
  • Shrinkers
  • Properties as laws

Hands-on:

  • Define an invariant property for sorting a list.
  • Define an idempotent property for sorting a list.
  • Define an inductive property for sorting a list.

Learning Objectives:

Learn about functions and high order functions. Also, learn about the usage of collection library.

  • Overview and usage collection library
  • Immutability, persistent data structures and structural sharing
  • Functions and high-order functions

Hands-on:

Use Immutability, persistent data structures and structural sharing.

Learning Objectives:

Revisit for loops and for expressions, learn about the differences and compose high order functions. 

  • For Loops
  • For Expressions
  • Difference between for loops and for expressions
  • Composing high-order functions

Hands-on:

Implement for loops and for expressions.

Learning Objectives:

Learn about linearization, scala type system and traits.

  • Scala type system
  • Mix-in traits
  • Linearization

Hands-on:

Mix-in traits in a class to use Linearization process.

Learning Objectives:

Learn about Pattern matching; exceptions, tuples.

  • Usage and benefits
  • Catch exceptions
  • Deconstruct tuples

Hands-on:

Implement pattern matching by using exceptions and tuples.

Learning Objectives:

Learn how the mentioned aspects are covered by Scala's standard library.

  • Foundations of encoding runtime aspects with types
  • Option
  • Either
  • Try
  • Future

Hands-on:

Explore built-in effects and the effects defined in the standard library, apply option, try, either and then future.

Project

Project

Towards the end of the course, all participants will be required to work on a project to get hands-on familiarity with the concepts learnt. You will use Scala features and write code with full support from your mentors. This

project, which can also be a live industry project, will be reviewed by our instructors and industry experts. 

Testimonials

Testimonial

Attended a 2 day weekend course by Knowledgehut for the CSM certification. The instructor was very knowledgeable and engaging. Excellent experience.

Review image

Jin Shi

Director at Timber creek Asset Management from Toronto, Canada

The CSPO Training was awesome and great. The trainer Anderson made all the concepts look so easy and simple. Using his past experience as examples to explain various scenarios was a plus. Moreover, it was an active session with a lot of participant involvement which not only made it interactive but interesting as well. Would definitely recommend this Training.

Review image

Richard Dsouza

Business Analyst at Valtech from Bangalore, India

Great course. An interesting and interactive session to better understand how to succeed in formulating a business case and how to present it effectively.

Review image

Wily Salim

Services Project Engineer at Lendlease from Sydney, Australia

The training was very interactive and engaging with the attendees.

Review image

Anish Maidh

Senior Project Manager at Telstra from Melbourne, Australia

Faq

The Course

Scala is a very popular and in-demand language. It is among the most sought after skills in the industry since it is difficult to master and the demand for Scala developers far outweighs the supply.

Scala developers are among the highest paid in the industry earning salaries of upto $104,590 annually. This is the perfect course for you to master Scala and become an expert in it.

Enrol now and get started on a brilliant career.

  • You will be proficient in coding using Scala
  • Have knowledge in object oriented basics
  • Work with loops and expressions
  • Deal with optional values

On completing the Scala 101 online training, you will learn:

  • About the need for Scala and its uses
  • All about the Scala syntax and object oriented principles
  • Writing Scala programs and testing them
  • About for loops, for expressions, inheritance and traits
  • Pattern matching

There are no restrictions but participants would benefit if they have basic computer knowledge.

Yes, KnowledgeHut offers this training online.

On successful completion of the course you will receive a course completion certificate issued by KnowledgeHut.

Your instructors are object oriented programming and Scala experts who have years of industry experience.

Finance Related

Any registration cancelled within 48 hours of the initial registration will be refunded in FULL (please note that all cancellations will incur a 5% deduction in the refunded amount due to transactional costs applicable while refunding) Refunds will be processed within 30 days of receipt of written request for refund. Kindly go through our Refund Policy for more details: http://www.knowledgehut.com/refund

KnowledgeHut offers a 100% money back guarantee if the candidate withdraws from the course right after the first session. To learn more about the 100% refund policy, visit our Refund Policy.

The Remote Experience

In an online classroom, students can log in at the scheduled time to a live learning environment which is led by an instructor. You can interact, communicate, view and discuss presentations, and engage with learning resources while working in groups, all in an online setting. Our instructors use an extensive set of collaboration tools and techniques which improves your online training experience.

Minimum Requirements:

  • Operating system such as Mac OS X, Windows or Linux
  • A modern web browser such as FireFox, Chrome
  • Internet Connection 

Have More Questions?