Slide 1

Slide 1 text

Functional Scaling a MOOC for Students and Professionals Alike TFPIE’17, Canterbury, UK June 21st, 2017 Heather Miller Programming for All!

Slide 2

Slide 2 text

First of all, this wasn’t all done by me alone. Lukas Rytz Vojin Jovanovic Manohar Jonnalagedda Aleksandar Prokopec Jorge Vicente Cantero Martin Odersky Viktor Kuncak Erik Meijer Tao Lee Tobias Schlatter Philipp Haller Julien Richard-Foy Fengyun Liu Others who helped make our MOOC story possible:

Slide 3

Slide 3 text

Agenda the courses tools & infrastructure the data we collected our impressions (it’s open-source!)

Slide 4

Slide 4 text

Agenda the courses tools & infrastructure the data we collected our impressions (it’s open-source!) My goal in this talk: To give you as complete of an impression as I can about the full experience of running a popular MOOC on functional programming.

Slide 5

Slide 5 text

Our foray into MOOCs… Started in 2012: Functional Programming Principles in Scala ‐(in its infancy at the time) on: At a glance: To date, 6 MOOCs ~800,000 learners reached

Slide 6

Slide 6 text

Daphne Koller visited us at EPFL in July 2012:

Slide 7

Slide 7 text

• sdf By September 2012, our 1st MOOC was launched!

Slide 8

Slide 8 text

• sdf Introduction of fundamentals + functional programming concepts GOAL: E.g., recursion, persistent/immutable data structures, higher-order functions, pattern matching, etc.

Slide 9

Slide 9 text

Lecture videos. In-video quizzes. Auto-graded programming assignments. Preliminaries – each 6-8 minutes long – total 1.5-2 hours per week 7 weeks. – workload: 5-7 hours per week – verbatim 50% of EPFL’s on-campus Functional Programming course (2nd year bachelor level)

Slide 10

Slide 10 text

week 1: functions & evaluation, recursion Content: week 2: higher-order functions week 3: data and abstraction week 4: types and pattern matching week 5: functional lists week 6: list comprehensions + maps week 7: streams & lazy evaluation Taught by: Martin Odersky

Slide 11

Slide 11 text

week 1: functions & evaluation, recursion Content: week 2: higher-order functions week 3: data and abstraction week 4: types and pattern matching week 5: functional lists week 6: list comprehensions + maps week 7: streams & lazy evaluation Ok. How’d it go? Taught by: Martin Odersky

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Number Enrolled http://www.katyjordan.com/MOOCproject.html

Slide 14

Slide 14 text

http://www.katyjordan.com/MOOCproject.html Number Enrolled 50,000 students 19.2% completion rate 6.5% completion rate AVERAGE: across all MOOCs

Slide 15

Slide 15 text

http://www.katyjordan.com/MOOCproject.html Number Enrolled 50,000 students 19.2% completion rate Jordan, K. (2014) Initial trends in enrollment and completion of massive open online courses. The International Review of Research in Open and Distance Learning, 15(1), 133-160. 6.5% completion rate AVERAGE: across all MOOCs

Slide 16

Slide 16 text

Why such a high completion rate? our completion rate was 3x the norm.

Slide 17

Slide 17 text

We think it was the tooling & infrastructure. automated cloud-based graders interactive build tool decent choice of IDEs style checkers testing frameworks

Slide 18

Slide 18 text

Interactive development/ submission cycle. Scala’s interactive build tool, configured to submit student assignments to the automated cloud-based graders from the command line. Compile. Test. Submit.

Slide 19

Slide 19 text

Automated grading/feedback. Custom cloud-based auto-grader.

Slide 20

Slide 20 text

Automated grading/feedback. Custom cloud-based auto-grader. Provided two types of feedback: Massive suite of secret unit tests. Style-checker

Slide 21

Slide 21 text

Automated grading/feedback. Custom cloud-based auto-grader. Provided two types of feedback: Massive suite of secret unit tests. Style-checker discourages: – mutable variables – return statements – the null value – while loops – magic numbers – overly long lines of code – non-standard capitalization – + more

Slide 22

Slide 22 text

Automated grading/feedback. Custom cloud-based auto-grader.

Slide 23

Slide 23 text

Automated grading/feedback. Custom cloud-based auto-grader.

Slide 24

Slide 24 text

Automated grading/feedback. Custom cloud-based auto-grader.

Slide 25

Slide 25 text

Automated grading/feedback. Custom cloud-based auto-grader. Provided two types of feedback: Massive suite of secret unit tests. Style-checker Importantly: Resubmissions welcome. Feedback arrives fast. seconds – 15 minutes

Slide 26

Slide 26 text

IDEs Popular IDEs come with worksheets for easy experimenting:

Slide 27

Slide 27 text

IDEs Popular IDEs come with worksheets for easy experimenting: Use sbt right from Eclipse/IntelliJ. code, compile, test, submit, all from the IDE.

Slide 28

Slide 28 text

So, what does it mean?

Slide 29

Slide 29 text

So, what does it mean? Students had a very tight feedback loop.

Slide 30

Slide 30 text

If you scored >0, it was most likely that you got 100% (80/80) in the course.

Slide 31

Slide 31 text

Most people got a perfect score within 4 submission attempts. 5 10 15 20 # Submissions 0.0% 5.0% 10.0% 15.0% 20.0% 25.0% 30.0% 35.0% 40.0% 45.0% Percentage of Students Fall 2012 Spring 2013 (The number of submissions required to achieve a perfect score.)

Slide 32

Slide 32 text

also, this wasn’t just students professionals too! but,

Slide 33

Slide 33 text

A vast majority of participants already had graduated from university – 87%. Participants’ highest degrees

Slide 34

Slide 34 text

A vast majority of participants come from computer science or computer/software engineering – 71%. Participants’ fields of study

Slide 35

Slide 35 text

A large portion of participants plan on applying what they’ve learned in the course at work – 40%. Where do you plan to apply what you’ve learned in the course?

Slide 36

Slide 36 text

And yet ~70% of professional respondents felt the course was well-worth their time. Do you feel the course was worth it? All respondents vs those who use Scala at work 1 (Disagree) 2 3 4 5 (Agree) 0 20 40 60 80 100 Percentage of Students 1 2 7 22 68 1 1 6 21 71 Fall 2012 1 (Disagree) 2 3 4 5 (Agree) 0 20 40 60 80 100 1 2 8 24 66 1 1 6 22 70 Spring 2013 All Respondents Respondents Using Scala at Work For Fall 2012, 71% amounts to 2,148/3,203 professional respondents.

Slide 37

Slide 37 text

A vast majority of which received perfect scores, and felt that the course was well worth their time. we can conclude that there were indeed a significant number of professionals participating in the course. SO,

Slide 38

Slide 38 text

How’d it fare on campus? Alongside of 50,000 MOOC learners, 150 EPFL students took MOOC for credit.

Slide 39

Slide 39 text

How’d it fare on campus? Alongside of 50,000 MOOC learners, 150 EPFL students took MOOC for credit. MOOC Traditional offline course EPFL Semester: week 0 week 14 week 7 written midterm exam written final exam

Slide 40

Slide 40 text

How did it differ for EPFL students? MOOC participants EPFL students 5-7 videos each week, 8-12min LECTURES weekly programming exercises ASSIGNMENTS work in groups, with TAs on HW EXERCISE SESSIONS midterm & final WRITTEN EXAMS offline traditional 2nd half of course SAME AS MOOC +

Slide 41

Slide 41 text

What’d the EPFL students think? In the future, I'd prefer a course like this be... 69% 17.8% 7% 6% Online, 14 weeks Online 7wks, On-campus 7wks On- campus 14wks No opinion

Slide 42

Slide 42 text

Hang on, where did this data come from?

Slide 43

Slide 43 text

The data Two iterations of Functional Programming Principles in Scala. Fall 2012 Spring 2013

Slide 44

Slide 44 text

The data Two iterations of Functional Programming Principles in Scala. Fall 2012 Spring 2013 Three sources per iteration: – Scores & submission data from Coursera – Survey data – EPFL specialized course survey

Slide 45

Slide 45 text

Survey data Post-course survey: For the Fall 2012 course, 7,492 respondents out of ~50,000 For the Spring 2013 course, 4,595 respondents out of ~37,000 Total: 12,087 respondents

Slide 46

Slide 46 text

Survey data Post-course survey: For the Fall 2012 course, 7,492 respondents out of ~50,000 For the Spring 2013 course, 4,595 respondents out of ~37,000 Total: 12,087 respondents Example questions: If applicable, what field of study was your highest degree in? What's your highest degree? How many years have you been programming? How difficult did you find the course overall? Where do you plan to apply what you've learned in this course? What experience do you have with other programming languages or paradigms?

Slide 47

Slide 47 text

by the way, the data is open source + tools to generate visualizations of the data

Slide 48

Slide 48 text

EPFL student data Post-course survey: Given to EPFL students who took both the MOOC as well as the regular on-campus in-person course.

Slide 49

Slide 49 text

6 - Excellent/Strongly Agree 5 4 3 2 1 - Poor/Strongly Disagree No Opinion ine part of the course is: 38.37% 15.11% 4% would like to get more online courses: 23.26% 23.26% 9.6% 3%2%5% for the course is…: 28.57% 28.57% 8.3% 2%11.9% exercise sessions for the course is…: 15.11% 5.8%1% 48.83% prefer a course like this be... 17.8% 7% 6% On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks Legend 6 - Exce 5 4 3 2 1 - Poor No Opin Overall, the online part of the course is: 41.86% 38.37% 15.11% 4% (a) In the future, I would like to get more online courses: 33.72% 23.26% 23.26% 9.6% 3%2%5% (b) The online help for the course is…: 20.24% 28.57% 28.57% 8.3% 2%11.9% (c) The help in the exercise sessions for the course is…: 4.6%24.41% 15.11% 5.8%1% 48.83% (d) In the future, I'd prefer a course like this be... 69% 17.8% 7% 6% Online 14 weeks On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks (e) EPFL student data

Slide 50

Slide 50 text

6 - Excellent/Strongly Agree 5 4 3 2 1 - Poor/Strongly Disagree No Opinion ine part of the course is: 38.37% 15.11% 4% would like to get more online courses: 23.26% 23.26% 9.6% 3%2%5% for the course is…: 28.57% 28.57% 8.3% 2%11.9% exercise sessions for the course is…: 15.11% 5.8%1% 48.83% prefer a course like this be... 17.8% 7% 6% On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks Legend 6 - Exce 5 4 3 2 1 - Poor No Opin Overall, the online part of the course is: 41.86% 38.37% 15.11% 4% (a) In the future, I would like to get more online courses: 33.72% 23.26% 23.26% 9.6% 3%2%5% (b) The online help for the course is…: 20.24% 28.57% 28.57% 8.3% 2%11.9% (c) The help in the exercise sessions for the course is…: 4.6%24.41% 15.11% 5.8%1% 48.83% (d) In the future, I'd prefer a course like this be... 69% 17.8% 7% 6% Online 14 weeks On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks (e) ~80% of students think the course was very good or excellent EPFL student data

Slide 51

Slide 51 text

EPFL student data 6 - Excellent/Strongly Agree 5 4 3 2 1 - Poor/Strongly Disagree No Opinion ine part of the course is: 38.37% 15.11% 4% would like to get more online courses: 23.26% 23.26% 9.6% 3%2%5% for the course is…: 28.57% 28.57% 8.3% 2%11.9% exercise sessions for the course is…: 15.11% 5.8%1% 48.83% prefer a course like this be... 17.8% 7% 6% On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks Legend 6 - Exce 5 4 3 2 1 - Poor No Opin Overall, the online part of the course is: 41.86% 38.37% 15.11% 4% (a) In the future, I would like to get more online courses: 33.72% 23.26% 23.26% 9.6% 3%2%5% (b) The online help for the course is…: 20.24% 28.57% 28.57% 8.3% 2%11.9% (c) The help in the exercise sessions for the course is…: 4.6%24.41% 15.11% 5.8%1% 48.83% (d) In the future, I'd prefer a course like this be... 69% 17.8% 7% 6% Online 14 weeks On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks (e) ~58% of students would like more online courses in the future

Slide 52

Slide 52 text

EPFL student data 6 - Excellent/Strongly Agree 5 4 3 2 1 - Poor/Strongly Disagree No Opinion ine part of the course is: 38.37% 15.11% 4% would like to get more online courses: 23.26% 23.26% 9.6% 3%2%5% for the course is…: 28.57% 28.57% 8.3% 2%11.9% exercise sessions for the course is…: 15.11% 5.8%1% 48.83% prefer a course like this be... 17.8% 7% 6% On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks Legend 6 - Exce 5 4 3 2 1 - Poor No Opin Overall, the online part of the course is: 41.86% 38.37% 15.11% 4% (a) In the future, I would like to get more online courses: 33.72% 23.26% 23.26% 9.6% 3%2%5% (b) The online help for the course is…: 20.24% 28.57% 28.57% 8.3% 2%11.9% (c) The help in the exercise sessions for the course is…: 4.6%24.41% 15.11% 5.8%1% 48.83% (d) In the future, I'd prefer a course like this be... 69% 17.8% 7% 6% Online 14 weeks On- campus 14 weeks No Opinon Online 7wks/ On-campus 7wks (e) ~69% of students would like their entire course to be online, with no on-campus component

Slide 53

Slide 53 text

students seemed to overwhelmingly prefer the MOOC version of the course. In fact, students even preferred the MOOC forums to the exercise sessions. SO, Test performance remained the same, course ratings remained high.

Slide 54

Slide 54 text

The result? Happier EPFL Students Uptaken and depended-on by professionals in industry Good performance, high course ratings

Slide 55

Slide 55 text

Conclusions Positive experience for all Highest rate of retention for a course our size Both professionals and students alike had positive learning experiences. between 2012-2013

Slide 56

Slide 56 text

2013: New MOOC, Our foray into MOOCs continued… Principles of Reactive Programming ~67,000 registrants in first run

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

2013: New MOOC, Our foray into MOOCs continued… 2016/2017: 2 new MOOCs + capstone project bundled into a Scala mini-degree on Coursera Principles of Reactive Programming ~67,000 registrants in first run Parallel Programming Big Data Analysis with Scala & Spark 400,000 registrants in first year for courses in mini-degree

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

Financials?

Slide 62

Slide 62 text

Financials? Well, it works* *mini-degrees, that is.

Slide 63

Slide 63 text

Financials? ~2 million USD brought in in first fiscal year. Granted, how the money is actually split is a whole different issue. Well, it works* *mini-degrees, that is.

Slide 64

Slide 64 text

Take aways…

Slide 65

Slide 65 text

Take aways… Autograding + a tight feedback loop is key to retention. Recent results [1] at LAK’17 arrive at the same conclusion. [1] Follow the Successful Crowd: Raising MOOC Completion Rates through Social Comparison at Scale, LAK’17

Slide 66

Slide 66 text

Would I do it again in 2017? Take aways… Autograding + a tight feedback loop is key to retention. Recent results [1] at LAK’17 arrive at the same conclusion. [1] Follow the Successful Crowd: Raising MOOC Completion Rates through Social Comparison at Scale, LAK’17

Slide 67

Slide 67 text

Would I do it again in 2017? Take aways… Autograding + a tight feedback loop is key to retention. Recent results [1] at LAK’17 arrive at the same conclusion. Not sure. Did you notice I didn’t have data to show after 2013? [1] Follow the Successful Crowd: Raising MOOC Completion Rates through Social Comparison at Scale, LAK’17

Slide 68

Slide 68 text

The MOOC-provider landscape has drastically changed Would I do it again in 2017? Take aways… Autograding + a tight feedback loop is key to retention. Recent results [1] at LAK’17 arrive at the same conclusion. Not sure. Did you notice I didn’t have data to show after 2013? [1] Follow the Successful Crowd: Raising MOOC Completion Rates through Social Comparison at Scale, LAK’17

Slide 69

Slide 69 text

Thank you! Questions?