2017
DOI: 10.1145/3110248
|View full text |Cite
|
Sign up to set email alerts
|

Scaling up functional programming education: under the hood of the OCaml MOOC

Abstract: This article describes the key innovations used in the massive open online course łIntroduction to Functional Programming using OCamlž that has run since the fall semester of 2015. A fully in-browser development environment with an integrated grader provides an exceptional level of feedback to the learners. A functional library of grading combinators greatly simplifies the notoriously complex task of writing test suites for the exercises, and provides static type-safety guarantees on the tested user code. Even… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 11 publications
(6 citation statements)
references
References 23 publications
0
6
0
Order By: Relevance
“…In particular, tracking changes in a language can be useful in education [14,33,34]. Languages often develop quite quickly, new libraries and frameworks appear [20,41], and at the same time, new courses emerge for learning new technologies [37].…”
Section: Use Casesmentioning
confidence: 99%
“…In particular, tracking changes in a language can be useful in education [14,33,34]. Languages often develop quite quickly, new libraries and frameworks appear [20,41], and at the same time, new courses emerge for learning new technologies [37].…”
Section: Use Casesmentioning
confidence: 99%
“…This object is the continuation frame for f. We then immediately return and allow f's caller to do the same. (5) At the top of f, we add a block of code to check if the program is in restore mode, which indicates that a continuation is being applied. If so, we use the reified stack frame to restore local variables and the label saved on the stack.…”
Section: Our Approachmentioning
confidence: 99%
“…Web Workers Web Workers [79] are essentially isolated processes for JavaScript and a Web IDE can use them to terminate a user's program [5]. However, unlike Stopify, Workers do not provide richer execution control (e.g., pausing or breakpointing) or deep stacks.…”
Section: Related Workmentioning
confidence: 99%
“…In addition to the grade, we propose to consider additional factors such as the number of static errors and total time spent on solving programming assignments to identify student clusters. Using this methodology, we analyze the assignment submission data collected in a functional programming course taught at McGill university which uses the Learn-OCaml online programming platform [5,6,17]. This allows us to identify four student clusters: "Quick-learning", "Hardworking", "Satisficing", and "Struggling".…”
Section: Introductionmentioning
confidence: 99%