YoVDO

Scala Crash Course by a Scala Veteran - With Some JavaScript Flavor

Offered By: YouTube

Tags

Scala Courses Object-oriented programming Courses Data Structures Courses Functional Programming Courses Higher-Order Functions Courses

Course Description

Overview

Embark on a comprehensive 3.5-hour Scala crash course led by a seasoned Scala veteran with over a decade of experience. Dive into the fundamentals of Scala programming, starting with an introduction to the language and its benefits. Set up your development environment, explore essential concepts like val, var, and def keywords, and master advanced topics such as higher-order functions, pattern matching, and algebraic data types. Learn about object-oriented programming in Scala, including classes, traits, and inheritance. Discover how to work with collections, use for comprehensions, and implement tail recursion. Gain insights into functional programming concepts and explore Scala's powerful features like implicits. By the end of this tutorial, you'll have a solid foundation in Scala programming, preparing you for real-world application development.

Syllabus

Intro.
Slides - Why learn Scala?.
Slides - Why learn Scala now?.
Slides - What is Scala?.
Environment setup.
Tour.
Comments/Javadoc/Scaladoc (crash course starts here).
Keywords: val, var, def, lazy val.
Top level definitions.
The Uniform Access Principle.
Types.
Keyword: type.
Literals and String interpolation.
If expressions and the type hiearchy.
Boolean opeartions and equality.
Loops and tail recursion.
Higher order functions and lambdas aka anonymous functions aka arrow functions.
Pattern matching and partial functions.
Exceptions.
Collections and imports.
For Comprehensions.
Factorial (just another tail recursive example).
Adding/removing elements to collections and right-associative operators.
Methods with variable argument lists aka Varargs.
Function currying and OO classes.
OO objects and properties.
OO traits, inheritance and subtype polymorphism.
Self types.
Objects (classes) expose methods and hide data.
Data structures (case classes) expose data and hide methods.
Algebraic Data Types aka ADTs.
Implicits.


Taught by

DevInsideYou

Related Courses

Mastering Programming with MATLAB
Vanderbilt University via Coursera
Advanced R Programming
Johns Hopkins University via Coursera
Application Programming Fundamentals
LearnQuest via Coursera
Aprendiendo Python con circuitos digitales
Coursera Project Network via Coursera
Basics in computer vision
Higher School of Economics via Coursera