Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt

Fast Track to Scala Programming for OO / Java Developers (TTSCL2104)

Overview

Discover the power of Scala programming in our comprehensive, hands-on technical training course designed specifically for experienced object-oriented (OO) developers. Scala is a versatile programming language that combines the best of both OO and functional programming paradigms, making it ideal for a wide range of projects, from web applications to big data processing and machine learning. By mastering Scala, you’ll be able to develop more efficient, scalable, and maintainable applications.

Fast Track to Scala Programming for OO / Java Developers is a four day hands-on course covers the core principles of Scala, functional programming, web application development, database connectivity, concurrency programming, testing, and interoperability between Scala and Java. Additionally, you’ll explore cutting-edge generative AI and GPT technologies, learning how to integrate them into your Scala applications for intelligent suggestions or automation.

Throughout the course you’ll explore the latest tools and best practices in the Scala ecosystem, gaining valuable knowledge and experience that can be directly applied to your day-to-day work. With 50% of the course content dedicated to hands-on labs, you’ll gain practical experience applying the concepts you’ve learned across various projects, such as building functional web applications, connecting to databases, designing modular components, and implementing concurrency.

Upon completing the course, you’ll have a solid understanding of the language and its features, empowering you to confidently apply your new skills in data science and machine learning projects. You’ll exit well-prepared to create efficient, scalable, and maintainable Scala applications, regardless of the complexity of your projects.

  • Price: $2,495.00
  • Duration: 1 day
  • Delivery Methods: Virtual
Date Time Price Option
03/03/2025 10:00 AM - 06:00 PM CT $2,495.00
06/09/2025 09:00 AM - 05:00 PM CT $2,495.00
08/08/2025 09:00 AM - 05:00 PM CT $2,495.00
10/20/2025 09:00 AM - 05:00 PM CT $2,495.00
12/01/2025 10:00 AM - 06:00 PM CT $2,495.00
For questions call: (469) 721-6100

Why choose
TOPTALENT?

  • Get assistance every step of the way from our Texas-based team, ensuring your training experience is hassle-free and aligned with your goals.
  • Access an expansive range of over 3,000 training courses with a strong focus on Information Technology, Business Applications, and Leadership Development.
  • Have confidence in an exceptional 95% approval rating from our students, reflecting outstanding satisfaction with our course content, program support, and overall customer service.
  • Benefit from being taught by Professionally Certified Instructors with expertise in their fields and a strong commitment to making sure you learn and succeed.

Course Topics / Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience skill level, interests and participation.

 

  1. Introduction to Scala 
  • Scala features and benefits
  • Comparing Scala with Java and other OO languages
  • Installing Scala and setting up the development environment
  • Lab: Setting up Scala Environment & Exploring Basic Features; create a simple Scala project.
  1. Object-Oriented Programming in Scala
  • Classes and objects
  • Traits, mixins, and inheritance
  • Companion objects and factories
  • Encapsulation and polymorphism
  • Lab: Building a Simple OOP Application in Scala
  1. Functional Programming Basics
  • Pure functions and referential transparency
  • Higher-order functions and currying
  • Immutability and persistent data structures
  • Pattern matching and recursion
  • Lab: Implementing Functional Programming Concepts in Scala: Develop a small application that uses functional programming concepts such as higher-order functions and pattern matching.
  1. Having Fun with Functional Data Structures
  • Lists, sets, and maps in Scala
  • Folding and reducing operations
  • Stream processing and lazy evaluation
  • For-comprehensions
  • Lab: Create an application that uses Scala’s functional data structures and common operations like map, filter, and reduce.
  1. Building Web Applications in Functional Style
  • Introduction to Play Framework
  • Functional web routing and request handling
  • JSON handling with Play-JSON
  • Middleware and functional composition
  • Lab: Developing a Functional Web Application with Play
  1. Connecting to a Database
  • Introduction to Slick library
  • Database configuration and setup
  • Querying and updating with Slick
  • Transactions and error handling
  • Lab: Integrating a Database with a Scala Application
  1. Building Scalable and Extensible Components
  •  Modular architecture and design patterns
  • Dependency injection with MacWire
  • Type classes and type-level programming
  • Implicit parameters and conversions
  • Lab: Develop a modular and scalable Scala application using dependency injection, type classes, and other design patterns.
  1. Concurrency Programming & Akka
  • Introduction to Akka framework and Actor model
  • Actor systems and message passing
  • Futures and Promises
  • Supervision and fault tolerance Lab: Create a concurrent application using the Akka framework, Actor model, and Scala’s Futures and Promises.
  1. Building Confidence with Testing
  • Introduction to ScalaTest and ScalaCheck
  • Unit testing and property-based testing
  • Test-driven development in Scala
  • Mocking and integration testing
  • Lab: Write unit tests and property-based tests for a Scala application using ScalaTest and ScalaCheck.
  1. Interoperability between Scala and Java
  • Calling Java code from Scala
  • Using Java libraries in Scala projects
  • Converting Java collections to Scala collections
  • Writing Scala code that can be called from Java
  • Lab: Integrating Java and Scala in a Project
  1. Using Generative AI and GPT Technologies in Scala Programming
  • Overview of GPT and generative AI
  • Integrating GPT with Scala applications
  • Use cases and practical examples
  • Lab: Implementing a GPT-Integrated Scala Application

Learning Objectives

Working in a hands-on learning environment led by our expert instructor you’ll:

  • Get comfortable with Scala’s core principles and unique features, helping you navigate the language confidently and boosting your programming skills.
  • Discover the power of functional programming and learn techniques that will make your code more efficient, maintainable, and enjoyable to write.
  • Become proficient in creating dynamic web applications using the Play Framework, and easily connect to databases with the user-friendly Slick library.
  • Master concurrency programming with Akka, empowering you to build scalable and fault-tolerant applications that excel in performance.
  • Enhance your testing skills using ScalaTest and ScalaCheck, ensuring the reliability and quality of your Scala applications, while having fun in the process.
  • Explore the fascinating world of generative AI and GPT technologies, and learn how to integrate them into your projects, adding a touch of innovation and intelligence to your Scala solutions.

If your team requires different topics, additional skills or a custom approach, our team will collaborate with you to adjust the course to focus on your specific learning objectives and goals.

This course is geared for experienced skilled Java developers, software developers, data scientists, machine learning experts or others who wish to transtion their coding skills to Scala, learning how to code in Scala and apply it in a practical way.  This is not a basic class.

In order to be successful in this course you should possess:

  • Familiarity with object-oriented programming concepts: Attendees should have a basic understanding of object-oriented programming principles, such as inheritance, encapsulation, and polymorphism, as the course builds upon these concepts while introducing Scala and functional programming.
  • Experience in at least one programming language: Participants should have experience working with at least one programming language (preferably Java) to ensure they can grasp Scala’s syntax and features more quickly.
  • Basic understanding of data structures and algorithms: Participants should have a foundational knowledge of data structures (e.g., arrays, lists, and trees) and algorithms (e.g., searching and sorting) to better comprehend Scala’s functional data structures and programming techniques.

In order to be successful in this course you should possess:

  • Familiarity with object-oriented programming concepts: Attendees should have a basic understanding of object-oriented programming principles, such as inheritance, encapsulation, and polymorphism, as the course builds upon these concepts while introducing Scala and functional programming.
  • Experience in at least one programming language: Participants should have experience working with at least one programming language (preferably Java) to ensure they can grasp Scala’s syntax and features more quickly.
  • Basic understanding of data structures and algorithms: Participants should have a foundational knowledge of data structures (e.g., arrays, lists, and trees) and algorithms (e.g., searching and sorting) to better comprehend Scala’s functional data structures and programming techniques.
Ten (10) business days’ notice is required to reschedule a class with no additional fees. Notify TOPTALENT LEARNING as soon as possible at 469-721-6100 or by written notification to info@toptalentlearning.com to avoid rescheduling penalties.
Please contact our team at 469-721-6100; we will gladly guide you through the online purchasing process.
You will receive a receipt and an enrollment confirmation sent to the email you submitted at purchase. Your enrollment email will have instructions on how to access the class. Any additional questions our team is here to support you. Please call us at 469-721-6100.
If a student is 15 minutes late, they risk losing their seat to a standby student. If a student is 30 minutes late or more, they will need to reschedule. A no-show fee will apply. Retakes are enrolled on a stand-by basis. The student must supply previously issued courseware. Additional fees may apply.
You will receive a ‘Certificate of Completion’ once you complete the class. If you purchased an exam voucher for the class, a team member from TOPTALENT LEARNING will reach out to discuss your readiness for the voucher and make arrangements to send it.