Chevron Left
Back to Effective Programming in Scala

Learner Reviews & Feedback for Effective Programming in Scala by École Polytechnique Fédérale de Lausanne

72 ratings
22 reviews

About the 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....

Top reviews

Jun 15, 2021

Excellent course, I really enjoyed it! With not a lot of practical experience with FP (yet) it was a bit of challenge at times. But the forum and support was helpful.

Jun 14, 2021

Nice course, I knew scala 2 very well and was happy to learn of the new scala 3 idioms. Thanks for taking the time to put all this together.

Filter by:

1 - 24 of 24 Reviews for Effective Programming in Scala

By Lanfranco S

May 26, 2021

First of all, a disclaimer: I am an Electronic Engineer, and my daily job consists in programming in SystemVerilog and, less frequently, in Python. On the other hand I have read a few books and articles on functional programming in general and Scala in particular. As a result, I already knew most of the topics addressed in the course, but don't have much practical experience in writing Scala code. My point of view is then, I guess, a bit unusual. I hope it will be useful nonetheless. The instructors have done a good job in selecting the material; all the topics have practical applications, and are presented in a clear way. Starting with the language basics, the course goes on explaining collections, case classes, new Scala 3 features like extension methods, given syntax, error handling and concurrency. Many videos are devoted to code organization principles, and the emphasis is always on a functional programming style. The course also deals with practical topics that are often neglected by programming courses, like sbt commands, unit and property-based testing, debugging. Programming assignments are built on engaging examples, and their code may serve as an example in case one wants to dig deeper on their own. The first 3 are relatively easy, while the last 3 have been quite challenging for me. I struggled quite a bit on the Quickcheck one, where the student has less hints, as well as on the Codecs and Wikigraph ones. My opinion is that a lot of effort has been put in preparing this course, and the authors must be given credit and thanked for that. People prepared to seriously commit will certainly learn a lot and benefit from this course. As for the prerequisites, I think the course might not be so suited for beginners, as stated in the main page, especially if they only have experience in an imperative programming style. I had difficulties in finding the right way to compose Futures and Eithers in the last assignment, and I suspect people less used to map and flatMap might be in a similar position. I think it would be better for beginners to follow the "Functional Programming Principles in Scala" course before this, and possibly the "Functional Program Design in Scala", when the Scala 3 versions will be released.

By Ekip K

Jun 11, 2021

Although for a entry level course it might be called difficult, I really learnt a lot from the course. The content is rich and documentation is very good. Programming assignments are difficult to be honest.

By Rob K

Jun 16, 2021

E​xcellent course, I really enjoyed it! With not a lot of practical experience with FP (yet) it was a bit of challenge at times. But the forum and support was helpful.

By Jean H

Jun 15, 2021

N​ice course, I knew scala 2 very well and was happy to learn of the new scala 3 idioms. Thanks for taking the time to put all this together.

By Melburne R

Oct 25, 2021

Probably the best course out there to learn Scala 3. Lectures were to the point and concepts were drilled in by challenging assignments every week. Huge thanks to the lecturers and the team at EPFL for creating such a high quality course. Would definitely recommend to all those who want to get started with this amazing language.

By Seoh C

May 24, 2021

I recommend this course all scala2 user rather than scala-beginner for experienced developers. Thsi course will show you how to write the code idomatically in scala 3, and how to work useful features(like `given`) on internal machanism steps. Also good courses for *lapsed* scala-ed users to start again.

By Korntewin B

Jul 28, 2021

T​his course strengthen my understanding of the Functional Programming concept from Functional Programming Specialization in Scala. It is like the summary of that specialization which is easier to grasp. For me, this is the best course for fundamental in functional programming principle!

By Nikolay A

Jun 9, 2021

The course is helpful even for mature Scala programmers to grasp Scala 3. Excellent explanations of contextual abstractions! But it would be super cool to have some more deep and advanced course on the new capabilities of Scala 3: meta programming, union types, etc. Thank you very much!

By Michał G

Oct 23, 2021

Well prepared course with challenging assignments. Lectures give nice overview of Scala 3 features like Opaque types and Context Parameters. I code in Scala almost two years, yet still I learned something new!

By Fedor C

Aug 6, 2021

It was a very interesting course for me, I was glad to refresh my knowledge and I was not able even to imagine that scala 3 has changed rules so much and I'm glad that I got it in time :-)

By Antonio R

Jun 9, 2021

Brief introduction course to Scala using Scala 3. Probably, the best course of Scala for non Scala programmers to start. Better than the Scala 2 courses on Coursera.

By stephen w

Nov 7, 2021

T​he assignments gained in engagement as the course progressed, which added a twist to the challenge and helping to solidify the subjects!

By wojo93

Sep 7, 2021

A great introduction to Scala! Some of the assignments were quite challenging, but it made it more rewarding in the end.

By Shankar S

May 23, 2021

Excellent course for learning Scala 3 !!

By Abdulla A

May 22, 2021

Good introduction for beginners! Thanks for your work! Would be really great to have advanced material about PFP (even optional). Accomplished it mostly to check the quality and support you guys in Scala Center!

By Arnas G

Oct 8, 2021

Very well done course with really good hands on assignment. However, probably too challenging for most beginners.

By Rafael C

Jun 23, 2021

l​ooking forward for course about typed programming

By Adianto W

May 28, 2021

Nice guided tour to scala 3.

By Hyeonsoo L

Jun 17, 2021

Fun and helpful materials

By Hieu N V

Aug 25, 2021

good course

By Leo U

Nov 23, 2021

M​y goal taking the course was to get acquainted with Scala 3. The course is good in covering most of the new features but I feel this is not a beginers course. Some of the assignments are quite challenging which may discourage people from completing the course.

T​he lectures are generally short and, in my opinion, could spend additional time with examples that are worked out during the lecture to solidify the student's understanding the material which might be more helpful to tackle the assignments.

T​he discussion forums generally prove to be quite helpful, thanks to the staff and other learners.

T​hanks Coursera for putting together this course, I look forward to additional Scala 3 classes.

By José d J G R

Oct 30, 2021

Great course. Some of the assignments are really difficult, not suited for beginners.

By Jochen K

Nov 22, 2021

The videos are really good. Exercises week 1 to 3 are also good. Exercises from week 4-6 are sub optimal. You will spend a lot of time trying to understand the complicated grader / project setup and trying to decipher the instructions instead on focusing on Scala.

By Boris B

Aug 29, 2021

The week 4 coursework is so arbitrary (and not debuggable) that it takes an arbitrary number of permutations and tries because the error messages give you no information. The rest of the course is good but coursework 4 alone warrants this rating