Stairway to Scala Applied, Part 1

Introduction to programming in the Scala language. Core syntax and concepts.
4.3 (14 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
42 students enrolled
$50
Take This Course
  • Lectures 132
  • Length 11.5 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2016 English

Course Description

After taking Stairway to Scala part 1, you will be able to:

  • Use the REPL (the Scala Interactive Shell) for experimentation and fun
  • Understand the basics of Scala syntax, including val, var, def, if, while, try, for and more
  • Create classes, objects and instances
  • Define and use function literals and higher order functions
  • Understand the basics of Scala's type inference and how to use it
  • Write custom control structures to augment those built into the language
  • Start down the path of a more functional style of programming
  • Be ready for Part 2 of Stairway to Scala Applied, which will dig into some of the differences between Scala and other languages

The course is half theory, half practice with hands on coding exercises built around test driven development examples. If you complete all three parts, with all the exercises, you will find that in addition to a strong grounding in the language theory, you will have the practical skills and comfort to code in Scala, as well as having the tools necessary to do so.

Unlike many other courses that teach a specific aspect of the Scala language, for example reactive programming or functional concepts, Stairway to Scala Applied provides a balanced and thorough introduction to the whole language and its concepts, including libraries like Actors and Collections. It is intended to accelerate your Scala learning curve and make you able to use Scala productively by the end of the course.

The course is taught by two highly experienced Scala developers who use Scala on a daily basis for real world commercial projects, and have done so for several years each.

Most of the lectures are practical demonstrations accompanied by a slide. You can download the slide deck and follow along on your computer, but the lectures are also presented using Udemy mashups, so the slide and practical demo can be switched between at will. If you hear typing, it's best to bring up the practical demo screencast instead of the slide in order to follow along.

What are the requirements?

  • Knowledge of at least one other programming language, along with the fundamentals of computer programming is assumed
  • Student should complete the free Stairway to Scala - Setup Instructions also available on Udemy to be ready to take this course.

What am I going to get from this course?

  • Use the REPL (the Scala Interactive Shell) for experimentation and fun
  • Understand the basics of Scala syntax, including val, var, def, if, while, try, for and more
  • Create classes, objects and instances
  • Define and use function literals and higher order functions
  • Understand the basics of Scala's type inference and how to use it
  • Write custom control structures to augment those built into the language
  • Start down the path of a more functional style of programming
  • Be ready for Part 2 of Stairway to Scala Applied, which will dig into some of the differences between Scala and other languages

What is the target audience?

  • Anyone interested in programming using the Scala programming language
  • Students should have some programming experience in another language, but no prior Scala language knowledge is assumed.
  • Developers wanting to get to a good working knowledge of Scala as quickly as possible

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Course Introduction and Exercises
01:30

Please download the exercises attached to this lecture and unzip them somewhere on your machine where you can find them later. Also if you have not already done so, please follow the free course instructions at https://www.udemy.com/stairway-to-scala-setup-instructions/learn/#/ so that you are ready to run both the Scala REPL and the exercises when the time comes.

Thanks and enjoy the course. This is only part one of three, the second and third parts go further into using Scala on a daily basis for your programming.

Section 2: First Steps in Scala
00:06

Slide 1

00:12

Slide 2

02:27

Slide 3

01:02

Slide 4

01:39

Slide 5

01:10

Slide 6

01:13

Slide 7

00:39

Slide 8

02:28

Slide 9

04:26

Slide 10 and 11

01:40

Slide 12

02:22

Slide 13

02:14

Slide 13

02:08

Slide 14

01:02

Slide 15

01:35

Slide 16

04:49

Slide 17

02:11

Slide 18

00:48

Slide 19

6 questions

Let's see how you did on your first steps in Scala module.

Section 3: Next Steps in Scala
Flight 02 Introduction
00:15
Flight 02 Goals
00:09
Parameterize Arrays with Types
02:58
All Operations are Method Calls
02:21
apply and update
01:44
Creating and Initializing an Array
02:35
Creating and Initializing a List
00:23
Lists are Immutable
02:15
Consing Lists
02:17
Initializing Lists with Cons and Nil
01:17
Converting between Lists and Arrays
04:47
Creating and Using a Tuple
04:15
Tuple Types
01:23
Set Hierarchy
03:52
Creating, Initializing and Using an Immutable Set
02:57
Creating, Initializing and Using a Mutable Set
01:53
Set Classes other than the default
00:58
Importing a Package
00:39
Map Hierarchy
00:37
Creating, Initializing and Using a Mutable Map
03:36
Implicit Conversions
03:54
Creating, Initializing and Using an Immutable Map
02:13
An Imperative Method
02:41
A More Functional Method
02:44
A Fully Functional Method
02:32
Balanced Attitude
01:14
Reading Lines from a File
02:30
Running the Example
00:41
Flight 02 Exercises
00:50
6 questions

Impress us with your retention of the Next Steps material!

Section 4: Classes and Objects
Flight 03 Introduction
00:05
Flight 03 Goal
00:14
Defining a Class
02:47
A More Concise Class Definition
02:50
A Companion Object
05:12
Using a Singleton Object
00:59
A Scala Application
01:06
A Scala Application continued
00:51
Compiling and Running
03:35
The Primary Constructor
01:50
The Primary Constructor continued
01:08
Overriding toString
01:58
Checking Preconditions
01:04
Accessing Class Parameters
02:46
Adding Fields
02:45
Or.. Parametric Fields
01:50
Self References
00:45
Auxilliary Constructors
04:05
Defining Operators
01:37
Defining Operators continued
02:22
Overloading Methods
01:29
Using Overloaded Methods
00:34
The Other Way Around?
01:46
Implicit Conversions
04:05
Flight 03 Exercises
00:08
Classes and Objects Quiz
7 questions
Section 5: Built In Control Structures
Flight 04 Introduction
00:08
Flight 04 Goals
00:14
If expressions
01:47
Val or var?
00:30
While and do-while loops
02:26
Scala's Unit value
07:00
A recursive method
04:43
For "loops'
05:04
For expression filtering
02:41
Multiple filters
00:50
Nested iteration
04:40
Mid-stream assignment
02:16
Producing a new collection
02:05
Transforming an Array[File] to an Array[Int]
01:39
Throwing exceptions
02:27
Try-catch clause
00:46
Finally clause
01:20
Try expression yielding a value
01:39

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Dick Wall, Scala Developer

Dick is a Scala Developer with over 8 years of Scala development experience, and over 6 years of Scala training experience. As well as consulting in Scala, Dick contributes to a number of open source Scala projects, libraries and tools, and is very active in the Scala developer community. He is also one of the Scalawags, a video podcast about the Scala language. Along with Bill Venners he runs Escalate Software which provides Scala training services.

Ready to start learning?
Take This Course