“Why is this course pushing functional programming?” - educating well-rounded web developers with functional JavaScript
Nurminen, Mikko; Niemelä, Pia; Järvinen, Hannu-Matti (2021)
URI
https://www.sefi.be/conference/2021-berlin-isbn-978-2-87352-023-6/https://www.sefi.be/wp-content/uploads/2021/12/SEFI49th-Proceedings-final.pdf
Nurminen, Mikko
Niemelä, Pia
Järvinen, Hannu-Matti
Teoksen toimittaja(t)
Heiß, Hans-Ulrich
Järvinen, Hannu-Matti
Mayer, Annette
Schulz, Alexandra
Wipper, Anja
SEFI European Society for Engineering Education
2021
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202203032290
https://urn.fi/URN:NBN:fi:tuni-202203032290
Kuvaus
Peer reviewed
Tiivistelmä
Imperative, object-oriented, and multi-paradigm programming languages are dominant in higher education. However, the use of functional languages is emerging. In parallel, features supporting functional paradigm (FP) have been added to languages traditionally categorized to other paradigms. Students benefit from fluency with several paradigms. In the studied primary Web Development course, JavaScript was used to familiarize students with selected features of the FP. The grading of the FP exercises was automatic. The automatic graders guaranteed the uniformity of feedback, treating each student’s submissions equally. Exercise graders accepted multiple submissions, and their feedback suggested code improvements to students. After each of the ten exercise modules, students (N=257) estimated the topic difficulty and gave feedback. The post-module questionnaires emphasized FP topics in particular. The results show that students are aware of programming paradigms, but more support should be offered when learning new ones, for instance, having more concrete instructions and hands-on videos. The need for more instructions was apparent as, after the course’s FP introduction, some students were still easily confused about such abstract FP concepts as ‘functions as first-class citizens’. However, exercise results showed that students learned to use the taught FP features. They found them difficult, but for example, the JavaScript concurrency model was found to be more difficult.
Kokoelmat
- TUNICRIS-julkaisut [18885]