Following-up on the blog article “News from the Scala MOOCs?”, I’m happy to read here about your expectations with our MOOCs.
I agree the automatic grading provides an amazing user experience. By any chance, is it open source? If not, would it be prossible to make it public?
We can not publish our graders because they contain the solutions of the assignments.
However, we could make our grading infrastructure open source, so that other organizations could create automated graders for Scala MOOCs. Is that something you would be interested in?
Yes, I am working on a functional programming course using Scala and I would love to be able to automatically grade user response. So it would be amazing if you could open source your infrastructure. Maybe other people will want to contribute.
Agreed, but disentangling the infrastructure from the assignment solutions that should remain secret is going to require some amount of work. If you’re interested in helping with that, perhaps we could give you access to the repositories to help out ?
At EPFL, for some of the courses in Scala we teach (currently http://edu.epfl.ch/coursebook/en/functional-programming-CS-210 and http://edu.epfl.ch/coursebook/en/parallelism-and-concurrency-CS-206), we are reusing most of the grading infrastructure developed by Julien (updated to work with Dotty), but on top of that we’ve set up a system where students have to make merge requests on gitlab and ask for reviews from a bot to get feedback to force them to learn git, I’d love to open source that too if there’s interest.
I can imagine it will take some work to open source it. I should be able to help toward the end of the year or early next year.
In order to improve my own knowledge of Scala I feel like a goldminer trying to find a really useful book / article amongst the HUGE offer of available Scala resources in order to learn all I should need to know to become an average/Senior Scala developer, once for all. Sometimes that quantity of resources is overwhelming and it’s very hard to know what to learn at every moment.
I know this is very hard to transform directly or indirectly into a MOOC but this is the feedback I wanted to give.
Maybe I’m thinking about abstract concepts used in Scala/FP developers every day (Type classes, Cake patterns…) or concrete libraries (Scalaz/Cats…).
Thanks for you message. It is not clear however what actions we can take from it. We hope that taking the “Functional Programming Principles in Scala” and “Functional Program Design” courses should be enough to become an average Scala developer. (Note that we plan to enrich “Functional Program Design” with a chapter talking more about type classes and other things related to implicits, but this has not been done yet.)
for going beyond beginner/average level of Scala knowledge, Josh Suereth’s book “Scala in Depth” used to be the essential resource, in its day, but sadly it is now too out of date to be useful.
I’ve often idly wished that someone would either write a new book along broadly similar lines, or volunteer to become Josh’s co-author and do an update.
whether material like this would make sense as a Scala Center MOOC, I don’t know, but I’m doubtful. MOOCs are expensive to produce and expensive to update as Scala and its surrounding ecosystem evolve. the cost is constant, but the revenue they bring is proportional to the audience size, and an advanced course on this would have a smaller audience than the others.
I am having huge difficulty to configure and set up the environment. It would be nice if the followings can be done.
(a) Provide a virtualbox or container so that every thing is easy.
(b) Use the up-to-date Scala? Update all the files frequently.
I’m not sure that this approach would scale: eventually, you want to have a jdk, a build tool and an IDE/editor on your machine. Which step specifically could be improved?
I have good news: we are working on it! Our courses will be updated to Scala 2.13 in the coming weeks (except for the Spark course which will stay on 2.12).