Stairway to Scala Applied, Part 1
4.5 (17 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.
59 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Stairway to Scala Applied, Part 1 to your Wishlist.

Add to Wishlist

Stairway to Scala Applied, Part 1

Introduction to programming in the Scala language. Core syntax and concepts.
4.5 (17 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.
59 students enrolled
Created by Dick Wall
Last updated 3/2016
English
Price: $50
30-Day Money-Back Guarantee
Includes:
  • 5 hours on-demand video
  • 133 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
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
View Curriculum
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.
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.

Who 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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 132 Lectures Collapse All 132 Lectures 06:58:42
+
Course Introduction and Exercises
1 Lecture 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.

Preview 01:30
+
First Steps in Scala
19 Lectures 34:11










Slide 12

Defining a Function
01:40

Slide 13

Streamlining a Function
02:22

Slide 13

Streamlining a Function, Continued
02:14

Slide 14

Scala Scripting
02:08

Slide 15

While Loop
01:02

Slide 16

Looping with a for Expression
01:35

Slide 17

Looping with foreach
04:49

Slide 18

Function Literal Syntax
02:11

Slide 19

Exercises
00:48

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

First Steps Quiz
6 questions
+
Next Steps in Scala
29 Lectures 01:00:30
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

Impress us with your retention of the Next Steps material!

Next Steps Quiz
6 questions
+
Classes and Objects
25 Lectures 47:51
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
+
Built In Control Structures
24 Lectures 51:51
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

Match Expressions
01:01

A match that yields a value
00:47

Imperative style multiplication table
01:20

Imperative style multiplication continued
01:27

Functional style alternative
04:43

Exercises for Flight 4
00:18

Built In Control Structures
5 questions
+
Functions and closures
23 Lectures 01:02:58
Flight 05 Introduction
00:04

Flight 05 Goals
00:09

Private methods
02:01

Local functions
03:30

Local functions and scope
01:51

First class functions
03:58

Can assign functions to variables
01:21

Can pass functions as arguments to other functions
02:00

Short forms of function literals
01:40

Placeholder syntax
05:54

Converting a method to a function value
05:28

Using underscore to represent parameters
03:19

Partially applied function
03:11

And if typing an underscore is too much
02:57

Free variable and closures
01:56

Visibility of changes
01:12

What about parameters and local variables?
03:20

Repeated parameters (varargs)
02:35

Argument expansion
01:32

Named arguments
03:42

Default parameter values
03:39

Tail recursion
07:25

Exercises for Flight 5
00:14

Functions and closures
5 questions
+
Flight 06 Control abstraction
11 Lectures 27:51
Flight 06 Introduction
00:05

Flight 06 Goals
00:19

Simplifying client code
03:01

Printing current date to given file
01:48

Your own control abstraction
03:45

Currying functions
03:48

What happens with currying?
01:30

Using currying in our control abstraction
03:53

By-name parameters
06:10

A fruit loop
03:08

Exercises for Flight 6
00:24

Control Abstraction
3 questions
About the Instructor
Dick Wall
3.8 Average rating
166 Reviews
2,360 Students
4 Courses
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.