Affiliation:
1. McGill University, Canada
Abstract
Online programming platforms have immense potential to improve students' educational experience. They make programming more accessible, as no installation is required; and automatic grading facilities provide students with immediate feedback on their code, allowing them to to fix bugs and address errors in their understanding right away. However, these graders tend to focus heavily on the functional correctness of a solution, neglecting other aspects of students' code and thereby causing students to miss out on a significant amount of valuable feedback.
In this paper, we recount our experience in using the Learn-OCaml online programming platform to teach functional programming in a second-year university course on programming languages and paradigms. Moreover, we explore how to leverage Learn-OCaml's automated grading infrastructure to make it easy to write more expressive graders that give students feedback on properties of their code beyond simple input/output correctness, in order to effectively teach elements of functional programming style. In particular, we describe our extensions to the Learn-OCaml platform that evaluate students on test quality and code style.
By providing these tools and a suite of our own homework problems and associated graders, we aim to promote functional programming education, enhance students' educational experience, and make teaching and learning typed functional programming more accessible to instructors and students alike, in our community and beyond.
Funder
Natural Sciences and Engineering Research Council of Canada
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automated Grading and Feedback Tools for Programming Education: A Systematic Review;ACM Transactions on Computing Education;2023-12-13
2. A Taxonomy to Assist TAs in Providing Adaptive Feedback to Novice Programmers;2023 IEEE Frontiers in Education Conference (FIE);2023-10-18
3. Helping to provide adaptive feedback to novice programmers: a framework to assist the Teachers;2023 18th Iberian Conference on Information Systems and Technologies (CISTI);2023-06-20
4. Identifying Different Student Clusters in Functional Programming Assignments;Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1;2023-03-02
5. The Programming Exercise Markup Language;Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1;2023-03-02