Chevron Left
Effective Programming in Scala に戻る

スイス連邦工科大学ローザンヌ校(École Polytechnique Fédérale de Lausanne) による 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....



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.


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.


Effective Programming in Scala: 1 - 24 / 24 レビュー

by Lanfranco S


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


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


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


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


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


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.



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


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


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


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


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


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


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

by Shankar S


Excellent course for learning Scala 3 !!

by Abdulla A


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


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

by Rafael C


l​ooking forward for course about typed programming

by Adianto W


Nice guided tour to scala 3.

by Hyeonsoo L


Fun and helpful materials

by Hieu N V


good course

by Leo U


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


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

by Jochen K


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


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