Search our courses
Training

This Practical Scala for Java Developers training course provides an introduction to the Scala programming language. Scala is a multi-paradigm language, allowing developers to write in both functional and object-oriented styles. The language runs on the JVM, which means that Scala has access to a vast range of Java libraries, and can interoperate with Java code.

The course will introduce the main features Scala: its support for object-oriented programming, and its support for functional programming.

Supported Distributions

The course can be run on Windows, Linux or OS X.

Practical Scala for Java Developers

Course Code

GTSC01

Duration

3 Days

Course Fee

POA
 

Accreditation

N/A

Target Audience

  • Developers who wish to learn object-oriented and functional programming in Scala.

Attendee Requirements

  • Developers with experience of programming in Java, or another OO language that uses the JVM. No knowledge of functional programming is assumed.

Expand all

Course Description

This Practical Scala for Java Developers training course provides an introduction to the Scala programming language. Scala is a multi-paradigm language, allowing developers to write in both functional and object-oriented styles. The language runs on the JVM, which means that Scala has access to a vast range of Java libraries, and can interoperate with Java code.

The course will introduce the main features Scala: its support for object-oriented programming, and its support for functional programming.

Supported Distributions

The course can be run on Windows, Linux or OS X.

Course Outline

Introduction to Scala Programming

  •     Origins and overview of Scala
  •     Scala and Java – which to use, when and why
  •     Overview of Scala development tools (Eclipse, scalac, sbt, Maven, Gradle, REPL, ScalaTest)
  •     Overview of Scala Frameworks

Scala Syntax Fundamentals

  •     Data types
  •     Variables
  •     Operators
  •     Functions and lambdas
  •     Scala Statements / Loops / Expressions
  •     Strings
  •     Easy I/O in Scala

Object-Oriented Programming with Scala

  •     Defining and using classes
  •     Constructors
  •     Companion objects
  •     val and def
  •     Exception Handling

Inheritance and Traits

  •     Inheritance and the Object Hierarchy
  •     AnyVal and AnyRef
  •     Nothing and Null
  •     Abstract classes and methods
  •     Traits
  •     Packages and package objects

Test-Driven Development with Scala

  •     Unit testing and TDD
  •     Writing good unit tests
  •     Using ScalaTest
  •     Using matchers

Functional Programming with Scala

  •     What is functional programming?
  •     Pure & First Class Functions
  •     Anonymous Functions
  •     Higher Order Functions
  •     Currying, Closures & Partials
  •     Tail Recursion
  •     Lazy evaluation

Collections and Generics

  •     Java and Scala Collections
  •     Mutable and immutable collections
  •     Generic types
  •     Type bounds and variance
  •     Arrays and Ranges
  •     Lists, tuples and maps

Functional Programming and Collections

  •     foreach and map
  •     fold, reduce and filter
  •     Flattening collections and flatMap
  •     Option
  •     The for comprehension

Pattern Matching

  •     Using “Match”
  •     Case Classes
  •     Wildcards
  •     Case Constructors & Deep Matching
  •     Using Extractors
Learning Path
Ways to Attend
  • Attend a public course, if there is one available. Please check our schedule, or register your interest in joining a course in your area.
  • Private onsite Team training also available, please contact us to discuss. We can customise this course to suit your business requirements.

Private Team Training is available for this course

We deliver this course either on or off-site in various regions around the world, and can customise your delivery to suit your exact business needs. Talk to us about how we can fine-tune a course to suit your team's current skillset and ultimate learning objectives.

Private Team Training | Contact us

Technical ICT learning & mentoring services

Private Team Training

Our instructors are specialist consultants with vast real world experience and expertise allowing them to design and deliver client-focused courses for your organisation.

Learn more about our Private Team Training

What Our Clients Say

"Absolutely fantastic training. Thoroughly enjoyed it thanks to our highly enthusiastic tutor.  It wouldn't be an understatement to say that it was the best professional training that I have ever received."

 

Customised Linux with Networking

Live Online -  February 2022

 


“It was very positive. This course was 4 days but covered a semester worth of work if it was done in college. The labs were relevant and delegates were provided the lab/coursebook for further study and practice after the course finished. GuruTeam's course was excellent and provides a deeper understanding of the architecture and how it all works. The hands-on aspect was very helpful as it helped solidify the concepts as I went along."

 

Kubernetes Administration Certification - GTLFK

Live Online September 2024

 

 

 

“The Instructor was very knowledgeable, laid back and very approachable during the course. The environment setup was second to none.  Very easy to jump in and follow along with minimal pre-req setup."

Kubernetes Administration Certification - GTLFK

Onsite May 2024

 

“Very engaging and practical course so hope to be able to put the learning into practice.”

 

Being Agile in Business - GTBAB

Live Online September 2021

 

“Great instructor, who encouraged active participation. The breakout groups and exercises kept the group engaged and the content relevant to our own products”.

 

Site Reliability Engineering Foundation - GTDSRE

Live Online January 2022

 

 

 

"Intelligence is the ability to avoid doing work, yet
getting the work done"

Linus Torvalds, creator of Linux and GIT

Technical ICT learning & mentoring services

About GuruTeam

GuruTeam is a high-level ICT Learning, Mentoring and Consultancy services company. We specialise in delivering instructor-led on and off-site training in Blockchain, Linux, Cloud, Big Data, DevOps, Kubernetes, Agile, Software & Web Development technologies. View our Testimonials

Download our eBrochure
Our Accreditation Partners
  •  
  •  
  •  

 

Upcoming Courses

Kubernetes Administration

4th - 7th November 2024

 Live Online

 

Learn More

RUST PROGRAMMING

4th - 7th November 2024

Live Online

GMT +01:00  09:30 - 17:00 hrs

This course will help you understand what Rust applications look like, how to write Rust applications properly, and how to get the most out of the language and its libraries.

 

 

 

 

 

Learn More

INTRO TO PYTHON 3 

ADVANCED PYTHON 3

15th - 17th October 2024
29th - 31st October 2024

Live Online

   GMT +01:00  09:30 - 17:00 hrs

  Python is a powerful and 
  popular object-oriented 
  programming/scripting
 language with many high q
uality  libraries.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

Learn More

 GO LANG TRAINING

4th to 7th November 2024

Live Online      

GMT +01:00  09:30 - 17:00 hrs

This Go language programming training course will help you understand how Go works, and immediately be more productive. If you are building a team using Go, this will be a great opportunity to get your team on the same page and speaking the same language. Innovative lab exercises and code samples are provided to reinforce skills and quickly master the topics.

Learn More

Newsletter

Stay up to date, receive updates on scheduled dates, new courses, offers, and events.

Subscribe to our Newsletter