Chevron Left
Zurück zu Functional Programming Principles in Scala

Kursteilnehmer-Bewertung und -Feedback für Functional Programming Principles in Scala von École Polytechnique Fédérale de Lausanne

4.8
Sterne
7,423 Bewertungen
1,494 Bewertungen

Über den Kurs

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera. In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. The course is hands on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series programming projects as homework assignments. Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity using the command line....

Top-Bewertungen

VP

Sep 14, 2018

It took me much longer than expected to finish the course and sometimes it made me feel stupid and helpless. Diving into functional programming was a mind bending experience, totally worth time spent!

AJ

Sep 24, 2019

As expected Martin is awesome in explaining principle of functional programming. I have started reading the book as well to make sure I keep up with the knowledge which I have gained from this course.

Filtern nach:

1201 - 1225 von 1,431 Bewertungen für Functional Programming Principles in Scala

von Choi L

Jan 23, 2017

This course was a big challenge for me. It was such an opportunity to recall the Scala I had studied over the past year and try it out.

This course is never easy. This is an intermediate course, and the topic is Scala because it is difficult to get a running curve. In addition, the intermediate evaluation problems of considerable difficulty are really difficult. Unless you are familiar with functional programming, folding, and reducing, this is a difficult problem to solve. So it would be difficult to give five stars.

I'm very happy to finish all the assignments and complete this course, but I plan to see one more time later.

von Cesar A M

Mar 28, 2018

Good topics coverage, well explained.

I think the only think that this could be improved is regarding the assignments-practices. Practices could be short and quick exercises, for instance, in data structures module a set of quick exercises for list (Given a unsorted list, sort it. Or replace all items starting with specific character and its length grater than the ASCII of the given character), regarding strings, one quick exercise ofr the most of all the functions from String API. This in order to try to think about solution with all the knowledge that we got from the course.

Thanks for the knowledge!!

von Edward G

Sep 27, 2016

Enjoyable and informative. The assignments were workable, though they were not always super-well coordinated with the course material. The in-lecture exercises are of uneven quality. The course material is obviously spliced together from other sources in places.

All this notwithstanding, the lectures are interesting, and the exercises help a lot to cement in the concepts. As an experienced programmer, but a newcomer to functional techniques, this was satisfying. I'm aware that the other courses in this sequence suffer from similar issues to what I outlined, but I'm moving ahead anyway.

von David B

Jun 16, 2017

Very good course. I was new to FP and Scala and didn't have a Java background. I have to agree with previous reviewers who say this course is not for Scala beginners. I had to learn the language with a book alongside taking the course so it ended up being quite time consuming (more than 10 hours/week). The material was well presented and I found the programming exercises challenging, fun, and educational. Only taking off a star because of a few very minor glitches in the video. Highly recommended but again, not for beginner programmers as some of the concepts discussed are quite advanced.

von Kenny V

Jun 27, 2020

Background: Test Analyst with 3 years using Scala for test automation. Despite this, the course itself was still engaging and challenging. I guess in large part the complexity of programming for test automation isn't as complex (or at least hasn't been for my projects so far) as development, so there was a lot of new content for me. Having said that, we are always encouraged to KISS (Keep it stupidly simple) haha!

I'm sure that for those who have had 1 year of programming in development would not find it as difficult as I have. Overall, it has been a good and exciting experience.

von Anas A

Jul 15, 2020

IMHO the difference of functional programming to imperative programming wasn't very clear. On the other hand, this course gives a good grasp on handling and writing Scala code. Martin does a great job in his videos.

NOTE: the programming excerises need some scruitinization. They are a bit misleading here and there. In particular some important tests are missing and it takes big effort to understand what is going wrong sometimes. Tests as such are just a translation of functional specifications into code and should hence be as comprehensive as possible.

von Arpit S

Mar 03, 2020

The course starts slow and might appear to teach trivial concepts at the start but don't be fooled. The instructor's way of building up basic blocks that will key to understanding the concepts later on.

The assignments test a basic understanding of the concepts and are not focused on optimization. There is a lot more theoretical knowledge offered that remains untested by the assignments. It is left to the students to decide how much they want to learn from that.

Overall, this was a good introductory course to both functional programming and Scala.

von Carlton S

Aug 13, 2016

I really enjoyed the assignments, and thought they were a good way to get to know the basics of the language. They were similar to the type of "toy problem" that I like to do myself when learning another language, and were at a reasonable level of difficulty.

I could have done without the proofs; I sort of skipped over these parts (about an hour of lecture, I guess). That's just my preference - I guess I'm not super proofy.

There were very minor parts of the course that need updating, but nothing that required additional effort to get past.

von Ananya P

Aug 23, 2016

Very helpful course for beginners, and congratulations for putting up such a great work together!

But a few suggestions -

1) Most importantly, the assignments were very VERY hard for starters in functional programming and Scala. It would be much more enjoyable to many more if it's made a little easier.

2) The content was great, but I believe a little more (both in breadth and depth) was needed to be covered. Moreover the categorization can be rethought and a little re-organized.

Nevertheless, a great course! Will surely recommend this one.

von Mashfir M

May 23, 2020

This course is very challenging for those uninitiated in data structures and algorithms. The 1+ year programming experience prerequisite is a little loose but is technically correct. As someone with little formal CS background, this course was quite challenging due to the requirement of learning data structures and algorithms alongside functional programming. Ultimately though, this course definitely expanded my thinking in terms of programming and the dozens of hours spent have made me feel more comfortable working in FP paradigms.

von Karina C

Jan 01, 2018

Some parts of the homework was really difficult because not enough examples to explain what was happening-- additionally, because there are so many different ways to execute something, it would be nice to have more guided suggestions on what path to take (i.e. your solution might have an awful complexity, but there is no guidance really on how to improve it...). Odersky's videos have some points that are not very efficient, would be nice to clarify that in the video that this is not an optimal solution to be using in practice.

von Mitchell S

Apr 03, 2018

I learned a lot about scala, but some of it was a little too abstract for my learning purposes. Defining our own set of boolean operators is a great way to show how the scala language works but in the end can be a frustrating exercise, especially for people who are new to functional programming. Once the course got into the last 2 projects I started to have a lot of fun and really learn about the Scala language, the projects became more practical and "codey" instead of being very abstract and "mathy".

von Ulrika W

Nov 13, 2016

Lots of practical examples. Good links to more info on the web. Interesting mix of programming theory and practical learning of Scala.

It would have been interesting with some applications of functional programming that were less mathematical. Can it be as useful in more data-oriented, administrative systems?

The estimated time needed to complete each week was very low. I had to spend at least two or three times as much time as estimated even though I am accustomed to Java and all the tools used.

von Pierrick H C

Aug 10, 2017

It was an interesting class, Had a lot of fun doing it. Some of the projects were similar to some I did at Engineering school, but it is always good to come back to DataStructure basics. Besides, it was very interesting to switch to Full recursive mode for almost all the course (coming from OOP, it is a change).

I was initially looking for a spark certification, I was a bit disappointed not to work a bit on it. Even though it is always useful to know scala for Spark purposes

von Juan P G E

Jan 19, 2019

The videos are generally good. The interaction with the user is good because it makes you think about the solution of the quiz problems. The assignments are pretty hard compared to the content of the course; I have spent many hours trying to solve them, much more than the 3 hours mentioned. Many of the videos look more focused on mathematical stuff than in programming; also, most of the recursive solutions would be a problem in a company´s software in my opinion.

von Ratskevich N

Oct 19, 2016

Nice course, hometasks are about medium level difficulty (in hackerrank terms). Problems are already half-completed, so you're just filling the gaps following the design. That really shows the power of scala in things like pattern matching (suddenly, it's everywhere!) and functional programming approach (lots of small functions with pretty narrow scopes). So althouth you can program just as if it was java, you're kinda pushed to do scala.

Thanks for the course.

von Steven T

Jul 23, 2016

The last assignment was definitely a step-up from the other weekly assignments which I found very challenging, this coming from a novice in FP. The lectures were well presented and clearly demonstrated functional techniques as well as the theories behind them. Some may find the lectures a bit tad too academic but thankfully most of such lectures can be skipped without too much detriment to completing the assignment. All in all an excellent course.

von Luigi C

Jan 02, 2019

Great course, smooth and progressive introduction to the features of the language and the functional approach in general. I would recommend the optional parts as well.

What I missed though was a more top-down approach in the decomposition of a problem. Instead the functions are already defined and one is usually asked to fill the gaps. In other words I think it would add value to share the thought process leading to the need of certain functions.

von Tom P

Jul 04, 2017

This class is a reasonably good introduction to Scala, and I feel like I learned a lot, but it wasn't enough to make me feel comfortable writing Scala code. While I feel like I understood the material in the lectures well, every homework assignment (the last couple, especially) made me aware how little I really understood about the language and how to use it. I feel that there must be a better way of introducing the language, to avoid this.

von Alexander K

Sep 27, 2016

Great course. I wish the prereqs would specify graphs, inductive proofs and other prerequsites from the math domain that were required to understand the examples.

Switching to FP and recursive thinking is hard enough as it is - having to combine it with graph algorithms and other concepts, not necessarily familiar for OOP background programmers increases the effort unnecessarily. That being said, good thing the course offered a preview week.

von Deleted A

Jun 23, 2020

This course was a totally challenge, because need to change su mindset, but always to improve your skill set to solve problems, and I think that I gonna see the algorithmic problems with other eyes. I must also say that this course is not for beginners at all, I had to watch some videos several times to be able to follow Mr. Odersky, I don't think it is because the english isn't my native language, but because it's a really hard course.

von Török E

Dec 31, 2016

Introduces Scala syntax elements and concepts systematically and logically (functions, objects,classes, lists, collections, including syntactic sugar).

If you already know another functional language, you will immediately recognize equivalences (e.g. instead of sum types you have subtyping with case classes, the type of recursive functions needs to be defined, etc.), and can complete the course in a matter of days.

von Benjamin S

Sep 12, 2017

Good introduction to Scala and especially to the concepts behind the language and Functional Programming.

The lectures are very clear and consistent. Still you should already have some experience in software development or computer science to keep up.

The exercises are also a good fit to the lectures and help you understanding the matter, while being very theoretical on the other side.

I would do this course again.

von Antoine L

Mar 13, 2019

In-depth course that was just the right level for me (experienced programmer).

I liked the progression and the exercise which were complete enough to have to design solutions applying the learned concepts. That was really the missing piece for to learn Functional Programming.

Towards the ends the exercises get a bit tricky so I recommend planning some free time to go deep rather than a few hours here and here.

von Subhojit B

Nov 27, 2017

The videos are a little too simple for the actual assignments. I felt they lacked information regarding scala syntax related to functional programming. when I was doing the assignments I felt that I have never come across certain constructs in the videos and had to refer to other materials . But from the logical point of view, this course is very good. Clears a lot of concepts about functional programming