Scala Center’s Education Roadmap

The Scala Center team is dedicated to providing regular and transparent community updates about project plans & progress. In this forum we created a new topic category to allow quicker orientation going forward: “Scala Center Updates”. Even though all feedback is welcome, we keep the right to make executive decisions about projects we lead. Overview of all our activities can always be found at https://scala.epfl.ch/records.html.

Dear Scala contributors,

The Scala Center is happy to announce the roadmap of our education-related activities.

Massive Open Online Courses (aka MOOCs) allow developers from all over the world to learn Scala from top-notch teachers.

We are currently running 6 online courses on the Coursera and edX platforms. The courses cover the Scala language itself and more (e.g. Spark, Akka, parallel programming).

However, we have noticed that a significant fraction of the soon-to-be Scala developers don’t use these online courses. The two main reasons are, first, that you would have to take several courses before being ready to work, and this would take too long, and, second, that the content covered by the courses doesn’t match the company’s needs.

For this reason, we are currently working on a new course. Our goal is to produce a single, self-contained, course, turning programmers with no prior Scala experience into ready-to-work Scala developers. A hands-on learning experience highlighting the common patterns and best practices.

We are currently working on the curriculum and the assignments of this course. We plan to release a private beta in Fall 2020, and to release the public version of the course by the end of the year.

18 Likes

Companies ask for some prior production experience in Scala, even if you have done MOOC courses. How to get that experience is a problem.

Hmm – while I’m sure that’s sometimes true, I’m also sure it often isn’t true. While it’s lovely to find people with Scala experience, my usual assumption when hiring is that I’m going to find a Java/C# engineer and train them up. No idea what the actual statistics are…

4 Likes

This is great to see. I wonder how many academics are on these boards. Getting Scala into industry would be easier if we could get more colleges teaching it to students. I know it gets used in a variety of places at different levels. I’d be interesting it participating in some brain-storming about how to broaden the adoption of Scala at the college level by finding areas where it is strong and making materials that would help educators use it there. I had really been hoping that Scala might gain some traction at the CS1 and CS2 level because I think that the REPL and scripting environment provide great entry points to a language that allows people to teach all the relevant concepts, but the Python has pretty much taken over ever place that moved away from Java at that level.

3 Likes

I agree! That will probably be our next task :slight_smile: Get Scala taught more by universities & schools.

3 Likes

@julienrf, I would be happy to help out with that if input is desired. I expect there are others on these boards who could provide some insights. I feel like the two keys are showing people that Scala is used in industry and pointing to the pedagogical advantages of the language. The first one matters because there are many CS departments that are motivated by this. Unfortunately, it creates something of a chicken and egg problem, but I think Scala has enough industry adoption to make a case for it on those grounds.

2 Likes

Yes, your help would be highly appreciated, thanks a lot! Let’s schedule a meeting to talk about it.

Hey,

It has been 9 months since I created this thread :slightly_smiling_face: Here is an update on what happened.

  • We have hired a new engineer, Vincenzo Bazzucchi (@vincenzobaz). Vincenzo recently graduated from EPFL, and he has been working hard on our continuous integration server, and on the grading infrastructure, to ensure that everything runs smoothly when you submit your assignments.
  • Vincenzo also published our course Programming Reactive Systems on the Coursera platform. Our goal is to make all our online courses available on the same platform so that developers can easily find what is in the catalog.
  • Martin Odersky has been updating the existing courses Functional Programming Principles in Scala and Functional Program Design in Scala to Scala 3. We are currently integrating the new content on Coursera, and we plan to publish the new versions of the courses along with the release of Scala 3.0.0. Following a discussion with the community, we will keep running the Scala 2 version of the courses for some years even after the release of Scala 3.0.0.
  • With the help of Noel Welsh, Eric Loots, and Julien Truffaut, Vincenzo and I have created the content of our next course, Effective Programming in Scala (to be released along with Scala 3.0.0, see below).
    • As explained in the introductory post of this thread, the goal of this course is to turn developers new to Scala into “job-ready” Scala developers.
    • The course covers the following topics: basics of the language, business domain modeling, standard library (collections, option, try, either, future), implementing business logic and algorithms, sbt, encapsulation (OOP), working with side effects, testing (unit tests, property-based tests, integration tests, mocking), contextual abstractions (context parameters, given instances), error handling, data validation, concurrent programming.
    • We have tested the course with a group of beta testers and we are now close to the final steps (recording video lectures).
    • We initially planned to release the course by the end of 2020, but in the meantime we decided to cover Scala 3, so we now plan to release the course along with the release of Scala 3.0.0.
16 Likes

I’m excited to share with you that we are close to releasing our new course, Effective Programming in Scala.

You can read the syllabus and pre-enroll for the first session, which should start just after Scala 3.0.0 will be published: https://www.coursera.org/learn/effective-scala

6 Likes

Hello, just a heads up that we have finally released the course Effective Programming in Scala!

Also, we are progressively rolling out the Scala 3 versions of the courses of the Scala Specialization.

7 Likes

Hello!

We are happy to share that all the courses of the Scala Specialization have now been migrated to Scala 3! The two remaining courses were Big Data Analysis with Scala and Spark and The Scala Capstone Project. The Scala 3 versions should be available in the coming weeks.

The Scala 2 version of the Spark course will still be available here (to be published soon, but at the time of writing the link is not yet available): https://www.coursera.org/learn/scala2-spark-big-data. Note that the Scala 2 version has also been updated (it now uses Scala 2.13 and Spark 3.2).

6 Likes