
Explore Scala, a statically typed language that blends object-oriented and functional programming on the JVM, enabling Java interop, reduced boilerplate, and safer code with pattern matching and traits.
Discover sbt, the scala build tool for scala and java projects, enabling running, testing, and packaging with ivy-based dependency management and Mavin format repositories.
Learn to install Java JDK on Windows 10, configure PATH and JAVA_HOME, then download and install sbt to set up and manage your first Scala project.
Install Scala and SBT on Ubuntu 16.04/18.04 by installing OpenJDK 8, downloading and installing the Scala deb, then installing SBT and creating a project directory.
Download and install Scala on Mac after ensuring Java JDK is installed. Use the terminal to unzip, set PATH in your Bash profile, and run Scala to print hello world.
This lecture covers Scala data types such as boolean, int, long, float, double, and string, and teaches mutable var and immutable val declarations with type inference and lazy initialization.
Download and install Scala IDE on Windows 10, set up a Scala project, and write a hello world using an object with a main method.
Explore scala string interpolation by embedding variables with plus concatenation, the s-interpolator using $name, the type-safe f-interpolator with %d, and the raw interpolator with raw.
Master using if statements and if-else expressions in Scala to evaluate boolean conditions and execute code accordingly. Explore assigning results with if expressions, and combining conditions with and or operators.
Shows how to use while and do-while loops in Scala with x and y examples, illustrating condition checks, increments, and the do-while rule that it runs at least once.
Learn how to use for loops in Scala, including basic syntax, ranges, and printing. Discover filtering, nested ranges, lists, and yield-based expressions.
Learn to use Scala match expressions to select between alternatives, handle default cases with underscores, and use match as both a statement and an expression with numbers and strings.
Learn how to declare and call functions in Scala, using def, arguments, return types, and single-line forms, plus organizing functions in an object for easy access.
Explore default values for scala function parameters, anonymous functions assigned to variables, and using operator-style function names, emphasizing scala's first-class functions and setup for higher-order functions.
Discover higher order functions in Scala that take functions as arguments and return functions, with practical examples like map, min, max, and anonymous functions using underscores.
Learn how partially applied functions in Scala fix arguments while leaving others as wildcards, as shown in a log example that uses a fixed date and customizable message.
Learn how closures in Scala access variables declared outside the function, including free variables, and how pure versus impure closures behave. See how outer variables influence results and state.
Learn how to curry functions in Scala by transforming multi-argument functions into single-argument ones, use partial application, and explore curried syntax and underscores in Scala.
Learn how strings work in Scala by declaring string values, using length and plus or concat, and formatting output with printf and format, while recognizing Java strings and their immutability.
Learn how Scala arrays are fixed-size, zero-indexed collections of the same type, created with new array or direct literals, initialized and printed with loops.
Explore Scala lists as immutable linked lists (vs arrays), created with cons and nil, and use head, tail, isEmpty, reverse, foreach, sum, and for loops.
discover how Scala sets enforce uniqueness, distinguish immutable and mutable variants, and perform union, intersection, and membership checks through examples.
Explore Scala maps as key-value collections, learn mutable and immutable variants, declare and access entries, iterate over keys and values, handle missing keys, and concatenate maps.
Explore Scala tuples, fixed-size immutable containers that hold mixed types. Learn to declare and access elements with _1 and _2, and use arrow notation for two-element tuples up to 22.
Explore the Scala options type, a container that yields some or none, and learn to use find, map, and get or else to safely extract values from lists and maps.
Explore how to use map, flatMap, flatten, and filter in Scala to transform lists, maps, and strings; understand higher-order methods, flattening, and predicate-based filtering.
Explore reduce, fold, and scan on collections, comparing left and right variants, initial values, and how they produce sums, concatenation, and scan's intermediate results.
Explore Scala classes as blueprints for objects, learn to create classes with constructors, and manage mutable and immutable fields using var and val, including private access and getters.
Learn how auxiliary constructors in Scala offer alternative ways to instantiate a class by calling the primary constructor with different signatures, including a default no-arg and a one-parameter form.
Explore how inheritance links a polygon superclass to rectangle and triangle subclasses, overrides the area method, and reuses shared properties for accurate shape calculations.
Discover how abstract classes in Scala prevent instantiation, enforce area implementation via abstract methods, and provide a common interface for rectangle and polygon subclasses.
Explore how Scala uses traits to mimic interfaces, why multiple inheritance is avoided, and how shape, polygon, rectangle, and triangle relate through abstract classes and overrides.
Explore lazy evaluation in scala, contrasting strict evaluation and deferring computation with the lazy keyword and call-by-name parameters, with practical examples of initialization and first-use timing.
Configure and set up Scala in IntelliJ IDEA, install the Scala plugin, create an SBT project, and run a hello world Scala object.
This Scala Tutorial course is aimed at complete beginners to the subject. For those who have no programming experience or those who have limited knowledge of Scala . This Course get you up and running and will give you the skills you need to master the Scala programming language.
- “Scala is an acronym for Scalable Language ”
- Scala is a modern multi-paradigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way.
- Scala is written by Martin Odersky at EPFL.
- Scala is Statically Typed
- Scala Runs on JVM, full inter-op with Java.
- Scala is Object Oriented
- Scala is Functional
- Scala has Dynamic Features
- Scala is Scala blends object-oriented and functional programming in a statically typed language.
The goal of this course is to provide you with a working knowledge of Scala applications. We'll start with the basics, starting from installing Scala on different Operating Systems like Window, Mac and Linux on variety of IDE's e.g. Eclipse, IntelliJ Idea, Netbeans etc. Then we will learn all the basic concepts in Scala Programming with examples including Scala Syntax Object Oriented Language, Traits, Methods, Pattern Matching, Tuples, Annotations, Designators, Overview, Environment Setup, Basic Syntax, Data Types, Variables, Classes & Objects, Access Modifiers, Operators, IF ELSE, Loop Statements, Functions, Closures, Strings, Arrays, Collections, Regular Expressions, Exception Handling, Extractors, Files I/O.
I believe the best way to learn is to understand how a tool works and what it does for you, look at examples, and then try it yourself. That's how this course is built, with the goal to help you both learn and understand Scala.