Skip to content

Commit ea4773b

Browse files
authored
Merge pull request #1041 from scala/moocs-update
Add blog article about MOOCs status
2 parents 1c05693 + 47f7c11 commit ea4773b

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
layout: blog-detail
3+
post-type: blog
4+
by: Julien Richard-Foy
5+
title: "News from the Scala MOOCs"
6+
---
7+
8+
In this article, I want to share with you the current state of our online Scala courses (MOOCs) and introduce our plans
9+
for the future.
10+
11+
## How it all started
12+
13+
We stepped into the world of MOOCs with the **Functional Programming Principles in Scala** course. It was launched
14+
in 2012 and was a success, with more than 100,000 participants in the first two years, and a notably high completion
15+
rate ([Miller *et. al.*](https://infoscience.epfl.ch/record/190022/))!
16+
17+
We believe that we were able to manage this load of learners because our assignments grading system was an automated
18+
process: when a learner submitted his/her work, our grading infrastructure analyzed the submission’s source code, ran
19+
the tests and produced detailed feedback for each observed error. In addition to this automated infrastructure, our
20+
team of (human!) teaching assistants was present on the discussion forums to answer other requests.
21+
22+
Encouraged by this success, one year later we launched our second course: Principles of Reactive Programming.
23+
24+
## Where we are
25+
26+
We currently have 6 running courses, ranging from the basics of the language to more specific programming techniques:
27+
- [Functional Programming Principles in Scala](https://www.coursera.org/learn/progfun1) (Martin Odersky): still our
28+
most popular course, introduces both the Scala language and the functional programming paradigm,
29+
- [Functional Program Design](https://www.coursera.org/learn/progfun2) (Martin Odersky): shows how to apply functional
30+
programming techniques to design large applications,
31+
- [Parallel Programming](https://www.coursera.org/learn/parprog1) (Viktor Kuncak, Aleksandar Prokopec): teaches
32+
programming techniques for leveraging multicore machines,
33+
- [Big Data Analysis with Scala and Spark](https://www.coursera.org/learn/scala-spark-big-data) (Heather Miller):
34+
teaches how to process datasets that don’t fit into the computer’s memory,
35+
- [Scala Specialization Capstone Project](https://www.coursera.org/learn/scala-capstone/) (Julien Richard-Foy): the
36+
four previous courses are grouped in a [specialization](https://www.coursera.org/specializations/scala), and this
37+
course invites students to apply the previously learned skills by implementing a large project,
38+
- [Programming Reactive Systems](https://www.edx.org/course/programming-reactive-systems) (Roland Kuhn, Konrad
39+
Malawski, Julien Richard-Foy, Martin Odersky): teaches programming techniques for implementing scalable, resilient,
40+
and responsive systems.
41+
42+
In practice, we are able to deploy our grading infrastructure on both the [Open edX](https://open.edx.org/) and the
43+
[Coursera](https://www.coursera.org) platforms. The benefits are twofold: we can test and improve our next courses
44+
internally at EPFL on [an Open edX based platform](https://courseware.epfl.ch/) before making them public, and we
45+
believe that by having more freedom on where we eventually publish our courses ([edX](https://www.edx.org/) or
46+
[Coursera](https://www.coursera.org)) you will be more likely to get the best online learning experience.
47+
48+
The content of our courses is available for free. In addition, a paid version allows you to receive a grade for the whole
49+
course as well as a certificate of completion. Statistics revealed that this paid version is mostly used by companies
50+
to train their employees. The MOOCs revenues allow us to pay one engineer (myself) and a team of teaching assistants.
51+
52+
## What we plan to do
53+
54+
Our goal is to **ease the adoption of Scala** and, beyond the language, to turn new, **innovative**, programming
55+
techniques into **familiar** practices.
56+
57+
We will keep making our material accessible for free and we will continue selling certificates of completion to
58+
sustain our activity.
59+
60+
More concretely, the next steps in our roadmap are the following:
61+
- teach more advanced concepts (implicits, path-dependent types, etc.),
62+
- give ready-to-use recipes for common programming tasks (manipulate files, perform HTTP requests, etc.),
63+
- update the material to recent Scala versions and Dotty.
64+
65+
And you, what would be your expectations for our next MOOCs? Please share your thoughts on the
66+
following [discussion thread](https://users.scala-lang.org/t/what-s-up-with-the-scala-moocs-request-for-feedback/4557).

0 commit comments

Comments
 (0)