
#408 overall
Scala Specialization
Coursera
1 recommender · 1 thread · recommended in 1 year, 2016 · score 1.0
A Coursera specialization teaching the Scala programming language, consisting of four courses and a capstone project. It is led by Martin Odersky, Scala's creator and a prominent figure in its community.
One commenter suggests it as a natural next step after learning Standard ML, calling Scala "the closest thing I've seen to Standard ML on the JVM"; another points to it as taught by Martin Odersky.
Programming Languagesintermediatefreemiumvideo lectures#scala#functional programming#jvm#martin odersky#coursera
Recommendations by year
20062026
My suggestion is to try to audit a series of courses. This will force you to concentrate on a particular theme; some of the courses are not self-paced and have a deadline to finish problem-sets (which are Juyptor notebooks where you have to actually do the work, and fill-in the code snippet but not to muck around with setting up annoying IDE/dev environment, autograded with unit tests), so will force you to stick to deadlines.
Here are some of courses that you might (read: actually I am) interested.
https://www.edx.org/xseries/data-science-engineering-apache-... (3 courses on Apache Spark using PySpark and introduction to simple machine learning and distributed computing)
https://www.edx.org/xseries/genomics-data-analysis (3 courses on R, next-gen genomics sequencing, annotation and some more cool computation protocols involved with CHIP-Seq and RNA-seq).
https://www.coursera.org/specializations/scala (4 courses + capstone, spearheaded by Martin Odersky; the guy who is the big-wig in the Scala community).
Also, I'd recommend taking the verified tracks for all of them. This will force you to complete them as money is on the line (if possible ask HR/your boss if it's related to your work, for tuition reimbursement benefit).
Not GP, but: I recommend Standard ML. I can't see a better way to do this than to power through Dan Grossman's three course sequence, which goes back to the drawing board and teaches Standard ML [0] to introduce modern programming language features such as scope, closures, types, pattern matching, modules, and so on. Then, he uses the concepts introduced in Standard ML as a springboard to introduce Scheme in the second course, and Ruby in the third course. And in the end, you will see how each of the three languages implement in different ways the same powerful techniques.
But with just that first Standard ML course, you can already branch out to more popular languages such as Scala [1], which gives you the closest thing I've seen to "Standard ML on the JVM". But Standard ML (or Ocaml, which is very close) might even be your preferred language for prototyping [2], or compiler writing [3].
P.S.: To make Coursera tolerable, I usually pull the entire course with this nice little script [4]. Works great with ranger and mplayer!
[0] https://www.coursera.org/learn/programming-languages
[1] https://www.coursera.org/specializations/scala
[2] https://sanderspies.github.io/slides/dawn-of-reason.pdf
[3] http://flint.cs.yale.edu/cs421/case-for-ml.html
[4] https://pypi.org/project/coursera-dl/