The sessions where clearly explained and focused. Some of the exercises contained slightly confusing hints and information, but I'm sure those mistakes will be ironed out in future iterations. Thanks!
Excellent overview of Spark, including exercises that solidify what you learn during the lectures. The development environment setup tutorials were also very helpful, as I had not yet worked with sbt.
by Srinivasu N•
by Devaraja K R•
by Jim N•
I understand that creating such a course is a tremendous amount of work. Let me congratulation the developers for all their hard work. I learned a lot. I'm glad I good the course, and I'm speechless that I finally finished it with a passing albeit imperfect score. This was the maiden voyage and it has some problems that should probably be corrected. That's my opinion.
There were generally two sets of challenges with each assignment exercise (1) undemanding the scala/big-data component, and (2) understand what's being asked. Sometimes the comment in the code are wrong or misleading. In particular in the 2nd set of exercises. The functions are very poorly specified, and there are no unit tests. there should be one or the other. Without a specification the user cannot write his own tests. In addition the 2nd exercise is intended to be do-able, but not efficiently until the user views week 3's videos. Because of this the text output is EXTREMELY verbose, making it impossible to read the error messages and understand them. When the user finally submits the assignment it fails and the grader gives misleading error messages. A failing unit test should at the very least explain what the test was, what the measured value was, and what was expected. This is especially true when the user is forbidden from looking at the actual testing code. An additional problem with exercise 2, is that the student is asked to calculate a particular percentage, but it is not explained what this is a percentage OF and there are several ways to interpret it. I didn't realize until wasting 2 weeks that there was an alternate interpretation which I could try.
In the 3rd exercise some of the comments in the code are wrong/misleading. Particularly with regard to classifiedColumns. comment #3 should read:* 3. other activities (leisure). These are the columns starting with “t02”, “t04”, “t06”, “t07”, “t08”, “t09”, “t10”, “t12”, “t13”, “t14”, “t15”, “t16” and “t18” BUT EXCLUDING those which are not part of the previous groups only. Otherwise the sentence is at best grammatically incorrect, and at worst misleading.
Another significant issue with this "Bit Data" course is that it assumes a user understands data base and can construct sql queries. Well, such background is not a prerequisite, but the student needs such information to successfully finish the exercises. I can understand the temptation by the course developers to include a section on SQLspark, as this is a very powerful set of spark libraries, but I believe it is beyond the prerequisites. I could not have finished the course if I hadn't had an SQL/data-base expert in the same office, who I could pose questions to.
I hope you find my comments useful.
by Giovanni F•
The actual lectures are very very good: substantial; clear and linear; very good graphics; adequate peace; good combination of clear slides and hands use to highlighting.
The main weak part of this course is the technical setup to do the exercises. It's a rather complex preparation, to be done following instructions which are largely outdated. Therefore lots of googling, looking the forum, trial and error: it took a lot of time for a painful experience I've learnt nearly nothing from. And the considerable complexity of setting up the local infrastructure only grants a limited and basic spark configuration (with no real scale out beyond the number of cpu's), therefore it's no beneficial in any way.
It would be much more instructive if the exercise could be worked out on an existing could Spark installation, where one could also have a sense of how the Spark capabilities can scale out.
Lastly, the splitting of material by weeks: for weeks 1,2 and 4 the exercises appeared as being assigned twice. Unclear why that is. I ignore and somehow the duplication and somehow got the certificate.
A second week point (though less pronounced) applies only if you follow this course w/o following the course others in the speciality: the required knowledge of Scala. I had never done Scala before and found that in the course description the importance of knowing the language is downplayed. It's true that some OO prior experience, common sense and patience one can get a lot out of this course, using inference and intuition (and google) about Scala.
by Harold O•
This is a really excellent course. It deals with difficult content clearly, thoroughly and at a good pace. I would now be happy to use Spark in my work and feel I have a strong base to go on to further study. The exercises are well conceived covering fairly realistic use cases and are of about the right complexity. BUT, the feedback from the automatic grading really lets it down.
The auto grading tests are at too high a granularity, each test tests too many things. They give cryptic errors such as '<some random element> is empty'. You have no idea why the element is empty as the students are given a different dataset to the one tested on. Moreover, the failed tests are invariably nothing to do with learnt course content, but trivial rounding/formatting errors. The forums are a lifesaver, but I still spent a good two weekends working on bugs once I'd got the assignments 70% right. I would not recommend to a completist!
All the same, thanks to Heather for the wonderful work she's done putting it together and the excellent lectures she gives.
by Tom C•
Good information, but a little rough around the edges, possibly due to being its first time out of the gate. Should be amplified with additional weeks of topics, e.g. on Spark Streaming, etc.
The Grader often returns opaque errors ("The Grader Failed"), when the actual problem was that the program ran out of memory or out of disk space. Grader can reject solutions, e.g. on the last assignment, if the programmer uses a different rounder implementation that returns subtly-different results, though the results print out as the same to the rounded degree of precision.
The Grader should be written to accept results that are "acceptably close" to the desired result, e.g. if the desired result is 34.1, to accept perhaps numbers between 34.099 and 34.101 -- perhaps consult with other course-runners for best practices here.
It might be helpful if the course provided a quick intro to running the assignments on DataBricks.
Good first effort.
by Alexei M•
The selection of content is very good. Yet, the course requires solid amount of polishing. I had a feeling that the real teaching started only in the 4th week, with lots of walking around the subject in the beginning. Worth to mention that in contrast to the first 3 courses in Scala specialisation this one is very heavy on visual aspect. You actually have to see the picture, as the voice channel just references it.
I can certainly recommend this course to people curious about data analysis. If you have had some experience and would like to try Spark or get better at it, then probably a good book can save your time.
by Sam Z•
good: the concepts and on-hands skills taught by the course are good.
bad: the assignments. you cannot complete them just by following the course material, forcing you to waste quite a lot of time either: (1) learning from other sources; (2) looking for answers on the forum; or (3) brute forcing an answer till rage quitting :)
another bad point: the course is supposed to be focused on spark & big data analysis but it has 1-2 lectures (around 40-60 mins) pretty much devoted to showing some SQL. << this could be summarized to around 10-20 mins and/or give a link to quickly learn/try to some other source.
by Horia R•
The course was interesting but it was clear that it is the first iteration. The course seems rushed, there are not very clear explanations on certain areas. Mostly, I had problems completing the assignments based on what I've learned during the lectures.
The previous courses had difficult assignments and you had to think about how you wanted to do something, here the problem was using the Spark API and understanding things which weren't explained in the lectures. Also, not all the areas of the assignments were described.
I am sure the course will become better in time.
by Allen S•
It's a good course with still some room for improvement. Some lectures are too long and lack dynamism. The code of the assignments is surprisingly un-Scala-ish (var and for loops) for a Scala Specialisation course.
On the plus side we get a very good understanding of the basics of the Spark engine, the different APIs and the SQL module with hands on practice and a forum, all the benefits of a Coursera MOOC.
It's a good start for those who want to learn about Spark with Scala.
by Javiera V A•
I think the course could be very useful for an engineer, and I recommend it if you are computer science and want to become a data engineer. However, as a data analyst, I don't recommend this course because it was much more technical and difficult than I needed to know for my current use at work. For this course, you need previous knowledge of Scala or at least know another programming language. Finally, the length of the course took me much longer than 4 weeks.
by Rob S•
Lots of good knowledge in this course. Took a star away for the second exercise, which taught me more about how to pass the second exercise than anything useful. Took a second star away for not having test coverage that helps the students. You wind up submitting and waiting for the grader to run.
Yes - I know we can write our own tests, but in a graded course like this with sometimes unclear problems the tests can make all the difference in the world.
by Luis V•
Good course but with many outdated concepts (mostly valid for Spark 1.x) and some pitfalls. Need many improvements, actualization and some reshaping in the distribution of the topics and sessions of the course. The topics left for the last week are some of the most important and central in current Spark 2.x and they include at least as many fundamental concepts as the rest of the course.
by Jeff B•
The course content is fine, I did learn about Spark and how to work with it in Scala. The only disappointing thing is the homework assignments all use Spark in local mode, so it runs only on my laptop. I really wanted to see an assignment run in a real cluster, for real. So having some kind of cookbook recipe to follow for putting an assignment into Databricks would caus
by Vesa P•
I learned a lot and the lectures were good.
The feedback from the automatic grader was sometimes absolutely awful. Cache an RDD in the main -> grader does not execute main -> OOM exception with no stack trace. I guess it prepares you for real life since EMR Spark also has absolutely useless log output if you go OOM.
Thank goodness for forums.
by Waqas A•
Overall the course is a highlevel one and suitable for beginners. Specially the assignment of Stackoverflow requires the need of other course in the specialization. I think the instructor need to make assignments reated to the concepts discussed in the video. In the current scenario assignments require a through look at other resources.
by Lance F•
This course took a lot of work to create. I would have like more quizzes during the lectures and the assignments to have walk through the steps more. The best course I have seen online is the Machine learning course by Andrew Ng. https://www.coursera.org/learn/machine-learning/home/welcome.
I did really enjoy the course. Thank you.
by Aaron S•
Very average. Lectures could be a fraction of their current length, too much time spent rephrasing the same point (sometimes 3+ times!). It was driving me nuts, my mind would wonder if I didn't focus. It would be nice to have local tests that incrementally check progress similar to Andrew Ng's Machine Learning coursera.
by Rafael G•
The material in this course is very interesting. However, there were a few important issues:
Lots of typos in the slides
Lots of problems with the assignments
At the end, I feel like a beta-tester (it would be OK if it was clearly stated and if we had a discount).
It could also be nice to add 1 or 2 weeks to this course.
by Korbinian K•
I really liked the lectures and the good and fun explanations by the instructor. However, I found the assignments over complicated with unnecessary machine learning concepts involved. I think a course about Spark should be about core Spark ONLY and applications to machine learning should happen in a separate course.
by Andre H•
The material of the fourth week is quite dense, this could be split over two weeks (including splitting it into two exercises). The exercise of the fourth week is quite a dissatisfying experience, there is too little detail in the error messages about what failed for students to improve their solution.
It felt like the course material skipped over a great deal of syntax and how-to. It was useful for concepts; but I found that I had to dig a great deal to be able to complete the assignments and that there is a lot of folklore in stackOverflow that potentially send you in a wrong direction.
by Alexandre V•
Explanations are OK and it's a good investment. However, I'm mixed about the courses: the teacher is speaking really fast with slides full of text. It's sometime hard to keep my concentration (compared to previous courses of the specialization). Still, I would recommend this course.
by Daniel Z•
The assignments are not really well prepared - there is tests provided which is really needed for big amount of data - sometimes it really hard to find a bug. If you tell me that this is my problem to right tests - I'll tell you that I've paid money for that.
by Yann L M•
Lectures are great. Explanation are very clear. Assignment was having issue like incorrect and/or vague reporting which made them needlessly painfull. I'm quite sure that the next iteration of this course can get a 5 star rating, but for now, it's only 3.