Advanced Scala Training

Advanced Scala Course

  • 32 hours of Instructor-led sessions
  • Understand Scala and its uses and aspects of the object-functional approach
  • Grasp the advanced features of Scala & about implicit and type classes
  • Understand how to create libraries and DSLs with Scala
  • In-depth hand-on training classes
Group Discount

Overview

This advanced Scala course will help you master the concepts needed to fully leverage the Scala tool and develop powerful applications with it. With a lot of focus on hands-on coaching and current industry trends, this is the perfect course for those who want to get ahead in their career in Scala.

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. Built on top of the Java virtual machine, Scala offers all the advantages of an object oriented programming language including code reuse and recycling, encapsulation, code maintenance, code optimization and speed. It is among the highest paying technologies and there are lot of job opportunities for Scala experts. In this workshop you will master its more advanced concepts such as Scala’s type system, implicit and advanced object-functional programming to create well designed DSLs. Enroll now and get started on a brilliant career in Scala.

What You Will Learn:

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

  • Learn the advanced features of Scala and its type system and their uses

  • Learn about implicit and type classes

  • Understand how to create libraries and DSLs with Scala

Prerequisite

Participants are expected to have:

  • Understanding of basic Scala concepts
  • Hands-on experience in Scala programming

Who Should Attend

  • Scala programmers who wish to learn the more advanced and nuanced features of Scala

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:

Learn Scala as a JVM language, also learn about the differences between objection-oriented programming and functional programming.

  • Introduction
  • Scala as a JVM language
  • Objection-oriented programming vs functional programming

Learning Objectives:

Learn about the elements in object - functional programming.

  • Tail recursion
  • Partial functions
  • Currying and partial function application
  • Closures
  • Lazy evaluation

Hands-on: 

Implement object-functional programming and use tail recursion, partial functions.

Learning Objectives:

Learn about traits, types and type bounds and master in the Scala type system.

  • About traits
  • Structural types
  • Path dependent types
  • Self types
  • Covariance and contravariance
  • Type bounds

Hands-on: 

Implement to use Structural types, path dependent types, type bounds.

Learning Objectives:

Learn about advanced pattern matching using extractors.

  • Deep matching
  • Using extractors

Hands-on:

Implement to use extractors.

Learning Objectives:

Learn to use Scala implicit for conversion, classes and parameters.

  • Implicit conversion, classes and parameters
  • Type class pattern
  • Context and view bounds

Hands-on: 

Use Type class pattern, context and view bounds. 

Learning Objectives:

Learn about control structures and internal DSLs. 

  • Custom control structures with by-name parameters
  • Building well-designed libraries and internal DSLs

Hands-on:

Build internal DSLs

Learning Objectives: 

Learn to work with Streams, manifest, Builders and other Scala collections.

  • Working with Streams
  • Manifests and class tags
  • Builders
  • CanBuildFrom
  • Building custom collections

Hands-on:  

Create manifests and class tags and use Builders.

Learning Objectives: 

Learn to use exception handling and using Try for comprehensions.

  • Traditional exception handling
  • Functional exception handling
  • Using Try with For comprehensions

Hands-on: 

Implement to use functional exception handling.

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 learned. You will use Scala advanced 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.

reviews on our popular courses

Review image

My special thanks to the trainer for his dedication, learned many things from him. I would also thank for the support team for their patience. It is well-organised, great work Knowledgehut team!

Mirelle Takata

Network Systems Administrator
Attended Certified ScrumMaster®(CSM) workshop in May 2018
Review image

I had enrolled for the course last week. I liked the way KnowledgeHut framed the course structure. The trainer was really helpful and completed the syllabus on time and also provided live examples which helped me to remember the concepts.

York Bollani

Computer Systems Analyst.
Attended Agile and Scrum workshop in May 2018
Review image

The instructor was very knowledgeable, the course was structured very well. I would like to sincerely thank the customer support team for extending their support at every step. They were always ready to help and supported throughout the process.

Astrid Corduas

Telecommunications Specialist
Attended Agile and Scrum workshop in May 2018
Review image

The workshop held at KnowledgeHut last week was very interesting. I have never come across such workshops in my career. The course materials were designed very well with all the instructions. Thanks to KnowledgeHut, looking forward to more such workshops.

Alexandr Waldroop

Data Architect.
Attended Certified ScrumMaster®(CSM) workshop in May 2018
Review image

I would like to extend my appreciation for the support given throughout the training. My trainer was very knowledgeable and liked the way of teaching. The hands-on sessions helped us understand the concepts thoroughly. Thanks to Knowledgehut.

Ike Cabilio

Web Developer.
Attended Certified ScrumMaster®(CSM) workshop in May 2018
Review image

The hands-on sessions helped us understand the concepts thoroughly. Thanks to Knowledgehut. I really liked the way the trainer explained the concepts. He is very patient.

Anabel Bavaro

Senior Engineer
Attended Certified ScrumMaster®(CSM) workshop in May 2018
Review image

Trainer at KnowledgeHut made sure to address all my doubts clearly. I was really impressed with the training and I was able to learn a lot of new things. It was a great platform to learn.

Meg Gomes casseres

Database Administrator.
Attended PMP® Certification workshop in May 2018
Review image

Knowledgehut is the best training provider which I believe. They have the best trainers in the education industry. Highly knowledgeable trainers have covered all the topics with live examples.  Overall the training session was a great experience.

Garek Bavaro

Information Systems Manager
Attended Agile and Scrum workshop in May 2018

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. This is why Scala developers are among the highest paid in the industry,  earning salaries of upto $104,590 annually. 

If you have already pursued the Scala 101 course then this is the perfect course for you to learn its advanced features and get ready to face industry challenges. Enrol now and get started on a brilliant career.

  • You will be proficient in coding using Scala
  • You will have knowledge of object oriented basics
  • You will be able to build internal DSLs

On completing the Scala training online, you will learn:

  • Object-functional programming in detail
  • The type system and its power
  • Implicit classes in Scala
  • How to build internal DSLs
  • About custom Scala Collections

Participants need to have Scala beginner’s knowledge.Application developers or programming experts who wish to master Scala will find this course useful.

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: https://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?