Coursera
Coursera Logo

Effective Programming in Scala 

  • Offered byCoursera

Effective Programming in Scala
 at 
Coursera 
Overview

Duration

49 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Effective Programming in Scala
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Beginner Level Some experience in any programming language
  • Approx. 49 hours to complete
  • English Subtitles: English
Read more
Details Icon

Effective Programming in Scala
 at 
Coursera 
Course details

More about this course
  • Scala is an expressive, versatile, and safe programming language.
  • In this course, you will learn how to get the most out of Scala to solve common programming tasks such as modeling business domains, breaking down complex problems into simpler problems, manipulating data, or running parallel tasks.
  • Along the journey, you will also learn the best practices for writing high-quality code that scales to large applications, how to handle errors, how to write tests, and how to leverage a productive development environment.
  • This comprehensive, hands-on, course aims at leveling up your programming skills by embracing both functional programming and object-oriented programming. You will become familiar with the standard library and the common patterns of code used in the real world.
  • Each week contains about 1h30 of video lectures. Each lecture is a ~10 min video focused on a specific skill or concept. We always start by looking at concrete problems, and then explain how language features or libraries make you more productive to solve these problems in general.
  • Lectures are generally followed by a quiz to assess your progress. At the end of each week, a graded assignment inspired by real-world applications will give you an opportunity to put things in practice.
  • The course covers Scala 3, and it mentions the differences with Scala 2.
Read more

Effective Programming in Scala
 at 
Coursera 
Curriculum

Getting Started, Basics, Domain Modeling

Introduction

Elements of Programs

Types

Methods and Parameters

Conditions

Evaluating Definitions

Domain Modeling

Case Classes

Sealed Traits

Enumerations

Business Logic

Tools Setup (Please Read)

Getting Started with Scala

Types

Methods and Parameters

Conditions

Case Classes

Sealed Traits

Domain Modeling

Standard Library, Loops

First Steps With Lists

Functions

More Operations on Lists

Introducing Collections

Constructing Collections

Querying Collections

Transforming Collections

Sequences and Maps

Option

Introducing Loops

More Loop Examples

Tail Recursion

?for? Syntax

Collections Extra

Functions

More Operations on Lists

Constructing Collections

Querying Collections

Transforming Collections

Collections

Option

Loops

?for? Syntax

Build Tools, Modules

Organize Code

Build Tools

Introduction to the sbt Build Tool

sbt, Keys, and Scopes

Program Entry Point

Encapsulation

Extending and Refining Classes

Case Classes vs Simple Classes

Opaque Types

Extension Methods

Organize Code

Program Entry Point

Encapsulation

Extending and Refining Classes

Case Classes vs Simple Classes

Opaque Types

Extension Methods

Reasoning About Code

Reasoning About Code

Refactoring-Proof Programs

A Case for Side-Effects

Mutable Objects

Unit Testing

Property-Based Testing

Mocking

Integration Testing

Testing the Tests

Debugging Programs

Refactoring-Proof Programs

Unit Testing

Property-Based Testing

Testing

Type-Directed Programming

Motivation

Context Parameters

Given Definitions

Priorities Between Given Definitions

Type Classes

Conditional Given Definitions

Type Classes and Extension Methods

Implicit Conversions

Type-Directed Programming in Scala 2

Context Parameters

Given Definitions

Priorities Between Given Definitions

Conditional Given Definitions

Implicit Conversions

Error Handling, Concurrent Programming

Error Handling

Error Handling with Try

Manipulating Try Values

Validating Data

Manipulating Validated Values

Combining Try and Either

Concurrent Programming

Operations on Type Future

Examples with Future

Execution Context

Exceptions

Try and Either

Futures

Effective Programming in Scala
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Effective Programming in Scala
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...