
Explore the Scala programming language as a functional language, set up the Eclipse Scala IDE, write a first program, and learn basics like variables, lists, maps, sets, functions, and projects.
Explore Scala fundamentals by building a first program, learn syntax, variables, constants, strings, and core collections like arrays, maps, and sets, then practice traversing, zipping, tuples, streams, and conditionals.
Explore what Scala is, a scalable language blending object-oriented and functional programming, runs on the JVM, uses Java code with a concise syntax and a rich ecosystem.
Learn string declarations, concatenation with plus, and converting numbers to strings in Scala, then explore multi-line strings, isEmpty checks, and reverse, intersection, and filter with lambdas.
Explore multi-dimensional arrays and matrices in Scala, convert between Java collections, and work with immutable lists, booleans, maps, and basic sorting within the Scala collections API.
Explore sets in Scala, comparing sets to lists, showing how sets enforce uniqueness and ignore order, with examples of concatenation, union-like operations, and equality semantics.
Explore immutable maps in Scala by creating maps with key-value pairs, accessing Julia's 60, checking contains, and using get or getOrElse for missing keys, with varied creation syntax.
This lecture introduces Scala conditionals and loops, showing list operations like intersection, difference, and flattening, then exploring conditionals that return values and while and do while loops.
Explore advanced looping in Scala, using for loops over ranges to sum values, print results, and manage endpoints with conditional parameters. Understand nested iterations and ascii sums drive complex outputs.
Explore project instructions in Scala programming language, including string concatenations, list and map operations, color maps with keys and values, map traversal, and a conditional loop.
This lecture walks through building a Scala project, defining an examples class and main object, performing string manipulations, list and map operations, and checking emptiness of collections.
Traverse a movie rating map and print each key-value pair, then implement a conditional loop over 1–10 with not equal to 3 and less than 8 filters to print numbers.
Create and run your first Scala program in Eclipse, mastering variables, constants, and strings. Explore arrays, maps, tuples, and the zip function, then implement conditionals, loops, and a final project.
Explore the basics of Scala expressions and statements, blocks, pattern guards, and match all vs wildcards. Learn about downcasting, closures, and anonymous functions, followed by a guided project walkthrough.
Explore how Scala distinguishes statements from expressions, build and evaluate blocks with return values, and apply pattern matching via match expressions to handle cases like laptop types.
Explore expression blocks and pattern guards in Scala, using multi-value case matches, default handling, and value binding with if expressions to refine matches and outcomes.
Explore match all and wild cards in Scala, illustrating pattern binding, the nothing matches and underscore defaults, and how to evaluate unmatched input through case statements and variable binding.
Explore downcasting with pattern variables in Scala, using type checks for int, string, and double, plus a default case, then learn closures with outside variables.
Explore command argument handling with help and version flags, and implement 1 to 10 loops to print numbers and those divisible by two, plus a solution walkthrough.
Differentiate expressions from statements, study blocks, and use pattern guards and pattern matching on lists, arrays, and maps. Create closures, cast types, and complete the project challenge.
This introduction to Scala functions reviews function signatures, named parameters, and variable parameter lists, showing how named parameters ignore order and how varargs work.
Explore how to define and call functions in Scala, including basic and anonymous functions, parameter lists, and return values, with time in nanoseconds examples.
Define a delayed function with a long parameter and print entering, param, and exiting messages; demonstrate variable number of strings, named arguments, and a default parameter in an addition function.
Introduce function fundamentals, highlight named parameters whose order doesn't matter, and show how to define variadic functions for flexible use in loops or sharing scenarios.
Cover auxiliary constructors and lazy values in Scala, then explore inheritance and abstract classes as templates. Examine polymorphic behavior through overriding, balancing generic and specific code, with a concluding project.
Explore class construction in Scala by defining a Person class with named parameters, methods for full name and full info, and instantiating objects with imports and underscore syntax.
Explore auxiliary constructors to overload the primary constructor in a Scala class, then compare eager and lazy values, showing how lazy initialization defers work until first use.
Explore polymorphism in scala by using lists with mixed types, then constrain them with explicit types. See how head returns the first element and how type restrictions prevent mismatches.
Review core Scala concepts like constructors, auxiliary constructors, and lazy values. Explore inheritance, abstract classes, and polymorphic behavior through overwriting and generic versus specific types, reinforced by a final project.
Learn to perform file I/O in Scala by building a file writer and a file reader, writing and reading content, handling exceptions, and exploring line-by-line processing.
Create a dedicated exception handling class and use a try-catch structure to handle file not found and IO exceptions, importing Java IO packages and reading an invalid file.
Explore Scala fundamentals from syntax, loops, conditionals, lists, maps, and expressions, then cover Skala ID install and use, pattern matching, classes, inheritance, file I/O, and project walkthroughs.
There are few languages that are equally capable of building simple, one-line expressions and robust, high performance systems. There are even less languages that can function as both object-oriented and functional. Yet Scala, otherwise known as the 'scaleable' language, can do both impressively well. And guess what? It's pretty easy to learn. Interested? Here's what our Introduction to Scala online course will teach you...
Combine OOP and Functional Programming
Build Scaleable Programs
If you don't know Java or functional programming, don't worry; Scala is a perfect transitional language for both. This online course will guide you every step of the way, with mini-projects at the end of each section to compound your learning and a clear breakdown of the various components that make up the language. Previous programming experience will certainly help, but it's not totally necessary.
You'll start right at the beginning by installing Scala and and getting an overview of the variables, constants and string manipulations. From then on you'll learn the various facets of Scala section by section, using the Eclipse Scala IDE throughout. Among other things, you'll learn the language fundamentals, control flow, functions, classes, file I/O and exception handling.
If you want to learn Java, learn function programming, or just add a new language to your arsenal, this is the course for you. By the end, you'll have gained basic proficiency in Scala and be able to demonstrate an understanding of functional programming.
As one of the most popular functional programming languages out there and one of the most versatile languages across the board, learning Scala is a smart way to upgrade your skills as well as transitioning from object-oriented to functional styles.
What is Scala?
Scala is an object-oriented programming language specially designed to be scaleable. However, it is also a functional language, seamlessly blending the most important elements of both for a powerful do-it-all tool that can be used for one-line expressions or 'mission critical' systems alike. It has a concise syntax, and makes an excellent stepping stone to Java.