Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Scala Applied, Part 2
Rating: 4.7 out of 5(1,215 ratings)
6,483 students

Scala Applied, Part 2

Introduction to programming in the Scala language. Scala language features.
Created byDick Wall
Last updated 3/2023
English

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

Course content

6 sections118 lectures4h 50m total length
  • Download the exercises for this course2:51

    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. Also please download the slides and exercises from the next document after this video has finished.


    Thanks and enjoy the course. This is part two of a three part course, the first part covers converting to Scala from other programming languages, while part three will concentrate on the core libraries and APIs in Scala.

  • Download Slides and Exercises0:16

Requirements

  • Students should follow and complete the Stairway to Scala Setup instructions, available for free on Udemy, before starting this course
  • Students should have also completed Stairway to Scala Applied Part 1 or have equivalent skills before starting this course
  • Students will need a laptop or desktop computer with sufficient performance and resources to compile and run the coding exercises

Description

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


Who this course is for:

  • Anyone wanting to learn the Scala programming language
  • This is part 2 of a 3 part course, please check you have skills equivalent to part 1 before taking this course
  • We do assume the student has some programming knowledge in a modern programming language