一句话:介绍 OCaml MOOC 的浏览器开发环境、评分组合子库与静态检查课程导入,并用数据评估其有效性。
本文介绍自2015年秋季开课的“使用 OCaml 的函数式编程导论”大规模开放在线课程中的关键创新。课程提供完全基于浏览器的开发环境与集成评分器,为学习者带来高水平反馈;作者设计函数式评分组合子库,简化编写测试套件的复杂任务,并对被测试用户代码提供静态类型安全保证;课程内容导入学习平台这一易错的手工流程也被替换为描述课程并静态检查内容的函数式程序。文章基于课程期间及之后收集的数据进行详细统计分析,评估这些创新的效果。
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 the error-prone manual process of importing the course content in the learning platform has been replaced by a functional program that describes the course and statically checks its contents. A detailed statistical analysis of the data collected during and after the course assesses the effectiveness of these innovations.
@article{CanouCH17,
title = {Scaling up functional programming education: under the hood of the OCaml MOOC},
author = {Benjamin Canou and Roberto Di Cosmo and Grégoire Henry},
journal = {Proceedings of the ACM on Programming Languages},
volume = {1},
number = {ICFP},
year = {2017},
doi = {10.1145/3110248}
}