Course Information
- Available
- *The delivery and distribution of the certificate are subject to the policies and arrangements of the course provider.
Course Overview
Introduction to programming in the Scala language. Scala language features.
Scala Applied, Part 2 covers Scala features that are different from other languages or maybe unique to Scala. It is intended to follow on from Part 1, and dovetails nicely into that flow.
While part 1 covered common concepts from other languages in Scala, part 2 concentrates on the parts of the language that are more specific to Scala and may be unfamiliar when coming from other programming languages, either the features themselves or the syntax for using them, taught by an instructor with over 15 years experience programming in Scala, and more than a dozen years teaching it.
As part of the larger Scala Applied 3 part course, this will prepare you with everything you need for day-to-day development in the Scala language.
In particular, by following this course you will:
Understand Scala's composition and inheritance features
Create abstract classes and pure abstract members (methods and fields)
Override and overload class methods
Create primary and auxiliary constructors
Call superclass constructors and methods
Understand and use parametric fields
Create factory methods in companion objects
Construct simple DSLs (Domain Specific Languages)
Understand top and bottom types and how Scala uses them
Write correct equals and hashCode methods
Use traits to mix behavior into classes
Know the different styles of packages and visibility modifiers
Be able to import anything from anywhere
Write pre-conditions and post-conditions
Test your code with unit testing
Course Content
- 6 section(s)
- 118 lecture(s)
- Section 1 Course Introduction and Exercises
- Section 2 Module 7 - Composition and Inheritance
- Section 3 Module 8 - Hierarchy, Types and Options
- Section 4 Module 9 - Traits
- Section 5 Module 10 - Packages, Imports and Scope
- Section 6 Module 11 - Testing in Scala
What You’ll Learn
- Understand Scala's composition and inheritance features
- Create abstract classes and pure abstract members (methods and fields)
- Override and overload methods
- Create primary and auxiliary constructors
- Call superclass constructors and methods
- Understand and use parametric fields
- Create factory methods in companion objects
- Construct simple DSLs (Domain Specific Languages)
- Understand top and bottom types and how Scala uses them
- Write correct equals and hashCode methods
- Use traits to mix behavior into classes
- Know the different styles of packages and visibility modifiers
- Be able to import anything from anywhere
- Write pre-conditions and post-conditions
- Test your code with unit testing
Skills covered in this course
Reviews
-
YYUHAO CHANG
The materials that are highly suitable for me to learn Scala.
-
HHéctor Moreno de Mier
The course is very good and interesting, although the part about the tests is not well explained and it uses concepts that have not yet been explained in other classes.
-
JJasna Rodulfa-Blemberg
I've been programming professionally in Scala for almost 5 years now. I've been taking some of Dick Wall's courses throughout that time, and even though a lot of it is review for me, there are so many under-the-hood explanations he drops that I just intuitively worked with on a practical level that are really valuable to me. Additionally I still learn some little tricks here and there. I've completed all of the Scala Applied courses at this point (I took them out of order). They are by far my favorite Scala learning material -- succinct, to the point, and organized into bite-size chunks with accessible explanations and sensible examples. I've also done a little of the advanced courses but will continue to fully complete them. Thank you, Dick!
-
MMateusz Klodzinski
I am a little conflicted. The course covers a lot of important topics and it shows that authors understands them very well. But also uses a lot of preexisting functions, methods, classes and libraries with very brief or no explanation on them. With how in deph this course is, I think it would benefit from a module dedicated to introducing the most popular libraries and some exercises how and when to use them.