Effective Programming in Scala
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.
Leverage Scala idioms to model business domains and implement business logic
Fundamental concepts of the language, allowing you to read and understand Scala codebases
Best practices and common patterns used in the real world
Be comfortable working with asynchronous computations, handling failures, and manipulating recursive data structures
Syllabus
Syllabus - What you will learn from this course
Week 1
Getting Started, Basics, Domain Modeling
Week 2
Standard Library, Loops
Week 3
Build Tools, Modules
First, get up and running with Scala on your computer. Then, learn how to write and evaluate basic expressions and definitions. Last, learn how to model a business domain by defining case classes and sealed traits.
Week 4
Reasoning About Code
Week 5
Type-Directed Programming
Week 6
Error Handling, Concurrent Programming
FAQ
When will I have access to the lectures and assignments?
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
Reviews
Great introductory course for this awesome language. Recommended for those ones that have been read about Scala and its capabilities but didn't get aboard yet.
Great course. All the explanations were clear and it covered a lot of relevant concepts for writing Scala code.
looking forward for course about typed programming
Very well done course with really good hands on assignment. However, probably too challenging for most beginners.