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.

starstarstarstarstar_outline

* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

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.

1
  • INTRODUCTION TO SCALA

  • Scala features and benefits

    Comparing Scala with Java and other OO languages

    Installing Scala and setting up the development environment


2
  • OBJECT-ORIENTED PROGRAMMING IN SCALA

  • Classes and objects

    Traits, mixins, and inheritance

    Companion objects and factories

    Encapsulation and polymorphism


3
  • FUNCTIONAL PROGRAMMING BASICS

  • Pure functions and referential transparency

    Higher-order functions and currying

    Immutability and persistent data structures

    Pattern matching and recursion


4
  • HAVING FUN WITH FUNCTIONAL DATA STRUCTURES

  • Lists, sets, and maps in Scala

    Folding and reducing operations

    Stream processing and lazy evaluation

    For-comprehensions


5
  • 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


6
  • CONNECTING TO A DATABASE

  • Introduction to Slick library

    Database configuration and setup

    Querying and updating with Slick

    Transactions and error handling


7
  • BUILDING SCALABLE AND EXTENSIBLE COMPONENTS

  • Modular architecture and design patterns

    Dependency injection with MacWire

    Type classes and type-level programming

    Implicit parameters and conversions


8
  • CONCURRENCY PROGRAMMING & AKKA

  • Introduction to Akka framework and Actor model

    Actor systems and message passing

    Futures and Promises

    Supervision and fault tolerance


9
  • BUILDING CONFIDENCE WITH TESTING

  • Introduction to ScalaTest and ScalaCheck

    Unit testing and property-based testing

    Test-driven development in Scala

    Mocking and integration testing


10
  • 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


11
  • 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


Audience

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.

Language

English

Prerequisites

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.

$2,495

Length: 4.0 days (32 hours)

Level:

Not Your Location? Change

Course Schedule:

To request a custom delivery, please chat with an expert.

Loading...