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 |
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
Effective Programming in Scala at Coursera Course details
- 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.
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
Other courses offered by Coursera
Student Forum
Useful Links
Know more about Coursera
Know more about Programs
- Engineering
- Instrumentation Technology
- Food Technology
- Aeronautical Engineering
- Artificial Intelligence and Machine Learning
- Metallurgical Engineering
- MTech in Computer Science Engineering
- VLSI Design
- Petroleum Engineering
- Aerospace Engineering
- BTech in Biotechnology Engineering
- Pharmaceutical engineering
- Silk Technology
- Microelectronics
- Agriculture & Farm Engineering