Sep 08, 2019
The capstone project has done a fantastic job of drilling in some of the important fundamentals taught in the rest of the courses. It is definitely worth taking if you've done the rest of the courses.
Jun 14, 2017
Good course, some of the assignments could have been more explicit with expectations in cases where specific implementation details matter but the forums were helpful in that regard anyways.
von Oleksandr V•
Dec 31, 2017
In my opinion the course is designed very poorly. Firstly, I was expecting the Capstone to cover different aspects of the rest Scala courses more or less equally. But in fact this course is 80% about math and java performance tuning and only 20% about very basic Scala. Secondly, due to the poorly designed given skeleton methods it is very difficult and cumbersome to write a performance effective solution. In order to generate real images I had to write two implementations - one for the grader give me 10/10 and another one that really works and is capable to generate images effectively. Of course I had to get rid of all the given method signatures and reassemble the pieces in different way. E.g. performing more computation in Spark, combining several steps of computation in one, preferring stream style processing with less memory allocation etc. Actually I have found myself spending more time fighting with the given skeleton and the grader, rather than writing a workable solution.
Also, if I were designing this course I would rather go from the top to bottom when slicing the implementation into layers, steps and weeks. So the first step would be to implement a UI using mocks, then replace some mocks with the real code and so on down to the Spark level, reading the CSVs and proving the real data for the solution. This way the student would clearly understand how the methods being implemented are used, giving him much more input for creating a good design, rather than just blindly implementing some methods that _somehow_ will be used in the next week etc.
von Tobias G•
May 15, 2017
In my view this course fails on 3 fronts:
1) the construction of the exercises is quite poor: they don't build well on each other and they don't really produce a sensible application, because many optimization opportunities are ignored - for example, to avoid having to calculate the same thing multiple times, to ensure that lists are ordered for quicker searching etc. If the idea is to teach novices good application development this course fails miserably.
2) the fact is you can pass this course without writing a single unit test, and without producing a working application - in fact, you can get 10/10. This seems wrong for a 'capstone' project.
3) Because of the design of the exercises (the function signatures) it is hard to make use of Spark in a sensible way. Spark is surely a major reason many people follow the overall program. Why does this project not build on the Spark course? That would make it really interesting.
von Anton V•
May 20, 2017
The course was supposed be a practical application of everything we've learned in all previous courses. I was not. Instead of learning functional design or applying big data analysis framework everything just worked with simple ".par" after large collections. I don't remember myself optimising memory usage or reducing shuffling with spark. What I do remember are hours of fiddling with floating point precision trying to figure out why a test fails with "30 is not equal to 30.06". Moreover, tests were just not good enough: even after I've passed week 1, I had to come back to that code when tests in subsequent weeks were failing. Lastly, complexity of the weeks is badly balanced. It took me three weeks to complete Week 3, but I've finished weeks 4-6 in about 2 hours.
von Fernando C d L•
May 20, 2017
I didn't learn anything new about Scala or Big Data from this project. It was more like how to "tune" the code so that I can pass the assignments. If you want to learn about maps and coordinates and all the math that goes with it, this is for you. Otherwise you're losing your time.
von Rubén R•
Jan 30, 2018
All the exercise are poor explained and It's need a hard math background. It's not a scala or functional course, It's a math exercise problem with scala.