Affiliation:
1. University of Minho, Portugal / INESC TEC, Portugal
Abstract
Our department has long been an advocate of the functional-first school of programming and has been teaching Haskell as a first language in introductory programming course units for 20 years. Although the functional style is largely beneficial, it needs to be taught in an enthusiastic and captivating way to fight the unusually high computer science drop-out rates and appeal to a heterogeneous population of students.
This paper reports our experience of restructuring, over the last 5 years, an introductory laboratory course unit that trains hands-on functional programming concepts and good software development practices. We have been using
game programming
to keep students motivated, and following a methodology that hinges on
test-driven development
and
continuous bidirectional feedback
.
We summarise successes and missteps, and how we have learned from our experience to arrive at a model for comprehensive and interactive functional
game programming assignments
and a general functionally-powered
automated assessment platform
, that together provide a more engaging learning experience for students. In our experience, we have been able to teach increasingly more advanced functional programming concepts while improving student engagement.
Funder
Fundação para a Ciência e a Tecnologia
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automated Grading and Feedback Tools for Programming Education: A Systematic Review;ACM Transactions on Computing Education;2023-12-13
2. What Exactly is a Laboratory in Computer Science?;2023 IEEE Global Engineering Education Conference (EDUCON);2023-05-01
3. Exploration of Online-offline Blended Teaching and Assessing in University Programming Courses;2023 5th International Conference on Computer Science and Technologies in Education (CSTE);2023-04
4. Efficient Embedding of Strategic Attribute Grammars via Memoization;Proceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation;2023-01-15
5. Engaging, Large-Scale Functional Programming Education in Physical and Virtual Space;Electronic Proceedings in Theoretical Computer Science;2022-07-26