Booking options
Price on Enquiry
Price on Enquiry
Delivered Online
4 days
All levels
Duration
4 Days
24 CPD hours
This course is intended for
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.
Overview
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.
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.
Introduction to Scala
Scala features and benefits
Comparing Scala with Java and other OO languages
Installing Scala and setting up the development environment
Object-Oriented Programming in Scala
Classes and objects
Traits, mixins, and inheritance
Companion objects and factories
Encapsulation and polymorphism
Functional Programming Basics
Pure functions and referential transparency
Higher-order functions and currying
Immutability and persistent data structures
Pattern matching and recursion
Having Fun with Functional Data Structures
Lists, sets, and maps in Scala
Folding and reducing operations
Stream processing and lazy evaluation For-comprehensions
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
Connecting to a Database
Introduction to Slick library
Database configuration and setup
Querying and updating with Slick
Transactions and error handling
Building Scalable and Extensible Components
Modular architecture and design patterns
Dependency injection with MacWire
Type classes and type-level programming
Implicit parameters and conversions
Concurrency Programming & Akka
Introduction to Akka framework and Actor model
Actor systems and message passing
Futures and Promises
Supervision and fault tolerance
Building Confidence with Testing
Introduction to ScalaTest and ScalaCheck
Unit testing and property-based testing
Test-driven development in Scala
Mocking and integration testing
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
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
Nexus Human, established over 20 years ago, stands as a pillar of excellence in the realm of IT and Business Skills Training and education in Ireland and the UK....