
Create a project, write and run basic Scala code, and test outputs while iterating with small changes. Learn about comments and the ripple loop to test code before integration.
Install the JDK and Scala, then set up IntelliJ IDEA Community Edition with the Scala plugin. Create a new Scala project and configure Scala 3, version 3.2.1, for the course.
Build foundational Scala skills by creating projects, writing and running basic code, and comparing Scala 3 with Scala 2. Use comments and Ripple to test small snippets as you progress.
Explore core concepts of strings and variables in Scala, including defining variables, variable naming, string functions, and string interpolation, with practical exercises.
Define strings as sequences of characters in double quotes and explain escaping with backslashes for quotes and backslashes. Demonstrate printing with print versus println, empty strings, and special characters.
Understand variables in scala as containers for data, using var for mutable values and val for immutable ones, with examples of strings, numbers, and reassignment.
Learn how to name variables in Scala with descriptive, readable identifiers, starting with a letter or underscore, using only letters, numbers, and underscores, and avoid Scala keywords, applying camel case.
Learn how string interpolation in scala inserts variables and expressions into strings using the S, F, and raw interpolators, including the dollar sign, with practical examples.
Receive user input in Scala 3 with two lines of code, convert it to a number, and generate a random number, previewing data type transformations.
Recap of the practical section on getting user input by reading strings from the console, converting to numbers with caveats, and generating random integers, plus an intro to packages.
Explore numbers in Scala as in math, including integers and whole numbers, assignable to variables, with operations like addition. See a price example computing total price by multiplication.
Explore how memory stores numbers with bits and bytes, from byte to int sizes. Learn to convert bit patterns to decimals and understand the sign bit and the 127/-128 limit.
Explore how Scala implicitly assigns data types and how to explicitly annotate variables with int, byte, short, long, double, and float, then verify types with get class.
Explore numeric type conversions in Scala, using toLong, toInt, and other to-type methods to create values of different types while the original remains unchanged, and note data loss when downcasting.
Practice converting user input to byte, short, int, long, float, and double in Scala 3, then inspect results with getClass and explore conversions from pi to float, int, and string.
Explore arithmetic operators, result types, assignment operators, booleans, and logical operators, with hands-on exercises to apply these foundational concepts in Scala 3 development.
Explore arithmetic operators in Scala, including addition, subtraction, multiplication, and division, with integers and doubles, plus modulus for remainders and string concatenation using plus.
Show a Scala operators challenge solution by reading an amount from the console and applying 5.5 percent annual interest for five years. Print the final balance.
Master boolean logic by using and (&&), or (||), and not (!), to form expressions that decide output, handle API results, and drive control flow.
Explore how comparison operators evaluate boolean expressions using greater than, less than, equals (double equals), not equals, and their inclusive forms, and assign results with brackets and or.
Apply arithmetic operators (multiplication, division, addition, subtraction, and modulus) alongside assignment and augmented assignment to form expressions, determine outcome types, and evaluate booleans with logical operators.
Understand that exceptions are unexpected events that crash programs if not mitigated. Learn to view messages and traces, and implement handling to log errors or show messages while continuing execution.
Learn to handle exceptions in Scala 3 using try catch to catch specific and generic errors, continue execution, and log stack traces for debugging.
Learn how to throw and generate exceptions in Scala 3, and when to use try-catch-finally to manage errors without crashing, especially in library code.
Practice try catch finally by reading console input, converting to numbers, and printing results, including a number times five and kilometers to miles, with stack traces for errors.
Read the product name and quantity, compute the total at price 9.99, and handle invalid input with a number format exception catch and a finally block.
Learn to understand exceptions, avoid them when possible, and manage them with try-catch and finally to keep programs running and resources released, including optionally throwing custom exceptions.
Explore why collections are useful by modeling an online store sending emails to a growing list of clients. Use for loops and lists to process each client efficiently.
Explore Scala collections, from immutable lists to mutable arrays, and understand iterable, sequence, sets, maps, and tuples, with a practical, beginner-friendly overview.
Explore the concept of collections in Scala, including lists, sets, maps, tuples, and iterators. Preview practical practice in upcoming sections as we cover each collection type in detail.
Practice lists and arrays in Scala by creating a favorite animals list, printing its length and second element, then using an array buffer to add and remove customers by index.
Practice list and array functions in Scala 3 by locating an element's position, checking containment, replacing items, and appending new ones across lists, arrays, and array buffers.
Explore the concept of sets and hash sets, focusing on unique elements and unordered storage, then learn set operations and mutable variants through practice and challenges.
Explore hash set functions in Scala 3, including add, add all, remove, and subtract one, plus intersection, union, and difference, showing new sets are produced without mutating the original.
Recap the end of this section by reviewing sets, assets similar to sets with add and remove elements, and set-specific functions, preparing you for maps through practice exercises and challenges.
This course is a unique experience on Udemy.
While there are a lot of Scala 3 resources online to choose from, this is the only course that takes you from a complete beginner in software development, teaches you the fundamentals, advanced topics, and makes you an expert in this field.
In addition, you have loads of practice exercises, challenges and projects to work on. I didn't just add a bunch of exercises at the end. Instead, each concept is put in code and practiced so that we make sure you apply and learn everything through action.
Scala 3 is an excellent language for building highly data intensive, distributed applications and systems. It is used by many high profile companies like Uber, LinkedIn and Netflix to handle their backend functionality. It is constantly growing in popularity, and with the introductions of Scala 3, we see more and more developers and companies start to use it for their projects.
With this course you get on-demand videos, exercises and most importantly projects to apply the knowledge we talk about.
I've spent years building projects in Scala, and years again teaching people how to build code for themselves.
We will cover many topics such as
language fundamentals
collections
flow control
loops
handling errors and exceptions
functions
packages
And we will put everything in practice through examples and projects.
If you want to take ONE COURSE to master Scala 3 take this course.