Overdag leer ik eerstejaarsstudenten Elektromechanica programmeren. Naast die job behaalde ik een master Software Engineering. Voor mijn thesis bouwde ik ArrayCamp, een gratis online leerspel met een ingebouwde AI-coach. Het helpt studenten met één van de lastigste onderwerpen uit hun eerste jaar. En zo blijkt maar weer dat ook wie zelf lesgeeft, blijft leren.

"Tine Vervloet met ArrayCamp, het leerspel dat ze voor haar thesis bouwde.
De kampeerwereld maakt arrays minder abstract."
Elk jaar zie ik het opnieuw gebeuren. De eerste weken van het vak Programmeren lopen vlot. Studenten leren variabelen gebruiken, rekenen en keuzes laten maken door de computer. Rond week zes loopt het vast, en telkens op hetzelfde onderwerp: arrays.
Een rij genummerde vakjes
Een array is eenvoudiger dan het klinkt. Denk aan een eierdoos met genummerde vakjes. In elk vakje bewaar je één waarde: een temperatuur, een score of het aantal blikjes cola in voorraad. De computer onthoudt zo een hele lijst gegevens onder één naam.
Wie een array gebruikt, moet wel precies weten welk vakje hij aanspreekt. Die vakjes laat je vaak automatisch vullen met een herhaling, in programmeertaal een 'lus'. Eén vakje te ver tellen, of één te vroeg stoppen, en het programma loopt vast of geeft een fout antwoord.
Voor mijn studenten is dat meer dan theorie. Zij programmeren later robots die onderdelen oppakken en kranen die lasten verplaatsen. Wie arrays niet begrijpt, heeft het in de rest van de opleiding moeilijk.
Waarom ik zelf weer ging studeren
Ik had al een bachelordiploma, maar ik wilde me dieper inwerken in bepaalde onderwerpen, ook op wiskundig vlak. Bovendien groeien software engineering en automatisering steeds meer naar elkaar toe. Ik wilde mee zijn met die evolutie, zodat ik mijn studenten kan voorbereiden op het werkveld van morgen.
Daarom trok ik opnieuw naar de universiteit, voor een master die ik combineerde met mijn voltijdse job als docent. De thesis bleek een mooie kans om beide werelden samen te brengen. Ik kon mijn nieuwe kennis meteen inzetten voor de studenten die ik elke week voor me heb.
Eerst luisteren, dan bouwen
Voor ik één lijn code schreef, zocht ik uit waar het precies misloopt. Ik analyseerde de toets- en examenresultaten van twee jaargangen. Daarin daalde het gemiddelde van 13 op 20 vóór de arrays naar ongeveer 9 op 20 op het examen.
Daarna organiseerde en analyseerde ik gesprekken met 31 studenten die het vak moesten herkansen. Meer dan 60 procent van hen gaf arrays de hoogste moeilijkheidsscore. Ook interviewde ik een collega met meer dan 35 jaar leservaring.
Uit die gegevens kwamen vier struikelblokken naar voren:
De studenten wisten ook goed wat ze nodig hadden. Ze wilden stap voor stap geholpen worden. Ze wilden zien wat er in dat rijtje vakjes gebeurt. Ze wilden oefenen in plaats van nog meer theorie. Meer dan 85 procent stond open voor een leerspel.
ArrayCamp: programmeren als kampeertrip
Zo ontstond ArrayCamp. Het is een website die in elke browser werkt, zonder installatie. De opdrachten zijn verpakt als een kampeeravontuur in vijf hoofdstukken: een checklist voor de reis, een kaartspel, een hittegolf, een sportwedstrijd en de camping zelf. Zo krijgt elke oefening een herkenbare context in plaats van abstracte getallen.
Elk hoofdstuk bestaat uit vijf stappen:
Zo groeit de student van begrijpen naar zelf maken, zonder in één keer in het diepe te worden gegooid.
Wie een opdracht oplost, verdient sterren en kroontjes, en het grijze landschap krijgt stilaan kleur. Wie vastloopt, krijgt een hint in de vorm van een vraag, geen kant-en-klaar antwoord.
In de laatste stap neemt een AI-coach het over. Die beoordeelt de zelfgeschreven code meteen en geeft concrete tips om ze te verbeteren. De coach is afgestemd op de afspraken die we in de les hanteren. Zo krijgt elke student direct feedback, ook 's avonds thuis, wanneer er geen docent in de buurt is.
Wat vonden de studenten?
In de week voor het examen testten 27 studenten ArrayCamp. Hun inschatting van hun eigen kennis steeg van 3 naar 4,2 op 5. Op een gestandaardiseerde test voor gebruiksvriendelijkheid scoorde de tool 86,5 op 100, wat als uitstekend geldt. Met 4,8 op 5 zouden ze de tool aanraden aan medestudenten. Dat deden ze ook: via mond-tot-mondreclame groeide het aantal gebruikers tot 33.
"Arrays zijn voor veel studenten een moeilijk onderwerp, maar het kampeerthema maakte het veel minder abstract", zei een student. Een andere vond de puzzelopdrachten het sterkst: je kan nadenken over de logica zonder te struikelen over typfouten.
Niet alles liep perfect. Slechts een kwart van de studenten werkte alle opdrachten af. Dat lag vooral aan de timing: de tool kwam pas enkele dagen voor het examen, en de studenten gaven voorrang aan de rest van de leerstof. De AI-coach was soms te streng en keurde op andere momenten net iets goed dat op het examen niet zou volstaan.
Wat ik zelf heb geleerd
Tegelijk docent en student zijn bleek erg waardevol. Door zelf opnieuw deadlines, examens en studieavonden te beleven, blijf ik dicht bij de leefwereld van mijn studenten. Wat ik in de master leerde, kon ik bovendien meteen toepassen in mijn eigen lessen.
Het was ook bijzonder boeiend om een thesis te maken die niet puur theoretisch is, maar een praktisch nut heeft voor mijn eigen studenten. ArrayCamp is daarmee niet af. De komende jaren wil ik de tool verder bijschaven, vroeger in het semester inzetten en uitbreiden met nieuwe hoofdstukken. Zo blijft niet alleen ArrayCamp groeien, maar ook de docent erachter.
ArrayCamp is gratis te gebruiken via arraycamp.be.
Abdelbaset Assaf, Mohammed Eshtay, and Lana Issa. Space geeks: A proposed serious
game to teach array concept for novice programming students. Proceedings of the 18th
International Conference on Web Information Systems and Technologies, page 431–438,
2022. doi: 10.5220/0011589200003318. 6, 9, 19, 20, 29, 33, 107
Anirudha Bhaskar. An interpretation and anatomization of angular: A google web framework.
2020. URL https://api.semanticscholar.org/CorpusID:235667605. 55
Yorah Bosse and Marco Aurélio Gerosa. Why is programming so difficult to learn? ACM
SIGSOFT Software EngineeringNotes, 41(6):1–6, Jan 2017. doi: 10.1145/3011286.3011301.
1, 6, 19, 20, 29, 108
Yorah Bosse, David Redmiles, and Marco A. Gerosa. Pedagogical content for professors
of introductory programming courses. Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, page 429–435, Jul 2019. doi:
10.1145/3304221.3319776. 5, 6, 20, 29, 107
John Brooke. SUS – a quick and dirty usability scale, pages 189–194. 01 1996. 17, 91, 92, 93
Kyung-Jin Cha and Yang Sok Kim. Critical success factors for mutual collaboration with
suppliers in it outsourcing industry: a case study of a top it outsourcing company in
korea. Enterprise Information Systems, 12(1):76–95, 2018. doi: 10.1080/17517575.2016.
1196734. 1, 5
Jack Chang, Long Dang, Jebediah Pavleas, Joseph Mccarthy, Kelvin Sung, and Jason Bay.
Experience with dream coders: developing a 2d rpg for teaching introductory programming
concepts. Journal of Computing Sciences in Colleges, 28:227–236, 10 2012. 9, 33
Jelica Cincovic, Sanja Delcev, and Drazen Draskovic. Architecture of web applications
based on angular framework: A case study. 2019. URL https://api.semanticscholar.
org/CorpusID:222459277. 55
Nicholas Clark, Matthew Dabkowski, Patrick J. Driscoll, Dereck Kennedy, Ian Kloo, and
Heidy Shi. Empirical decision rules for improving the uncertainty reporting of small sample
system usability scale scores. International Journal of Human–Computer Interaction,
37(13):1191–1206, 2021. doi: 10.1080/10447318.2020.1870831. 93
M. Crowne. Why software product startups fail and what to do about it. evolution of software
product development in startup companies. In IEEE International Engineering
Management Conference, volume 1, pages 338–343 vol.1, 2002. doi: 10.1109/IEMC.2002.
1038454. 1, 5
Wassila Debabi and Tahar Bensebaa. Using serious game to enhance algorithmic learning
and teaching. Je-LKS : Journal of e-Learning and Knowledge Society, 12:127–140, 01 2016.
doi: 10.20368/1971-8829/1125. 9, 33
Juan Carlos Rodríguez del Pino, Enrique Rubio Royo, and Zenón Hernández Figueroa. A
virtual programming lab for moodlewith automatic assessment and anti-plagiarism features,
2012. 8
Sebastian Deterding, Dan Dixon, Rilla Khaled, and Lennart Nacke. From game design elements
to gamefulness: defining "gamification". In Proceedings of the 15th International
Academic MindTrek Conference: Envisioning Future Media Environments, MindTrek ’11,
page 9–15, New York, NY, USA, 2011. Association for Computing Machinery. ISBN
9781450308168. doi: 10.1145/2181037.2181040. 6, 32, 40
YuemengDu, Andrew Luxton-Reilly, and PaulDenny. A review of research on parsons problems.
In Proceedings of the Twenty-Second Australasian Computing Education Conference,
ACE’20, page 195–202, New York, NY, USA, 2020. Association for Computing Machinery.
ISBN 9781450376860. doi: 10.1145/3373165.3373187. 8, 32, 40, 108
Michael Eagle and Tiffany Barnes. Wu’s castle: Teaching arrays and loops in a game. ACM
SIGCSE Bulletin, 40(3):245–249, Jun 2008. doi: 10.1145/1597849.1384337. 9, 33
Elvina Elvina, Oscar Karnalim, Mewati Ayub, and Maresha Caroline Wijanto. Combining
program visualization with programming workspace to assist students for completing
programming laboratory task. Journal of Technology and Science Education, 8(4):268–
280, 2018. ISSN 2013-6374. doi: 10.3926/jotse.420. URL https://www.jotse.org/
index.php/jotse/article/view/420. 9, 33
Diana Franklin, Merijke Coenraad, Jennifer Palmer, Donna Eatinger, Anna Zipp, Marco
Anaya, Max White, Hoang Pham, Ozan Gokdemir, and David Weintrop. An analysis of
use-modify-create pedagogical approach’s success in balancing structure and student
agency. ICER ’20, page 14–24, New York, NY, USA, 2020. Association for Computing Machinery.
ISBN 9781450370929. doi: 10.1145/3372782.3406256. 32, 37, 109
David Galles. Queue (array implementation), 2011. URL https://www.cs.usfca.edu/
~galles/visualization/QueueArray.html. 9, 33
G. Geetha, Monisha Mittal, K. Mohana Prasad, and J. Godwin Ponsam. Interpretation and
analysis of angular framework. In 2022 International Conference on Power, Energy, Control
and Transmission Systems (ICPECTS), pages 1–6, 2022. 55
Elena L.Glassman, Tianyi Zhang, BjörnHartmann, andMiryung Kim. Visualizing api usage
examples at scale. In Proceedings of the 2018 CHI Conference on Human Factors in Computing
Systems, CHI ’18, page 1–12, New York, NY, USA, 2018. Association for Computing
Machinery. ISBN 9781450356206. doi: 10.1145/3173574.3174154. 8
Google. Productivity meets scalability: The framework for building scalable web apps with
confidence, 2026. URL https://angular.dev/. 55
Philip J. Guo. Online python tutor: embeddable web-based program visualization for cs
education. In Proceeding of the 44th ACM Technical Symposium on Computer Science
Education, SIGCSE ’13, page 579–584, New York, NY, USA, 2013. Association for ComputingMachinery.
ISBN 9781450318686. doi: 10.1145/2445196.2445368. 8
Alan Hevner. A three cycle view of design science research. Scandinavian Journal of Information
Systems, 19, 01 2007. vii, 2, 13, 15
Waleed Ibrahim Osman andMudawi M. Elmusharaf. Effectiveness of combining algorithm
and program animation: A case study with data structure course. Issues in Informing
Science and Information Technology, 11:155–168, 2014. doi: 10.28945/1986. 9, 33, 40, 107
Noman Islam, Ghazala Shafi Sheikh, Ridah Fatima, and Farrukh Alvi. A study of difficulties
of students in learning programming. Journal of Education and Social Sciences, 7(2):
38–46, Oct 2019. doi: 10.20547/jess0721907203. 52
Ashwin Jagadeesha, Pranathi Rayavaram, Justin Marwad, Sashank Narain, and Claire Seungeun
Lee. Integrating data structures and algorithms in k-12 education using blockbased
programming. In 2023 IEEE Global Engineering Education Conference (EDUCON),
pages 1–10, 2023. doi: 10.1109/EDUCON54358.2023.10125165. 9, 33
Tony Jenkins. On the difficulty of learning to program. In Proceedings of the 3rd Annual
Conference of the LTSN Centre for Information and Computer Sciences, volume 4, pages
53–58. Citeseer, 2002. 1, 7, 32, 40, 107
Rozita Kadar, Syarifah AdilahMohamed Yusoff, SaifulNizamWarris, andMohd Saifulnizam
Abu Bakar. Students’ assessments in learning programming based on bloom’s taxonomy.
Journal of Computing Research and Innovation, 6(3):13–21, Sep 2021. doi: 10.24191/
jcrinn.v6i3.223. 5, 6, 7, 20, 29
Omar Karram. The role of computer games in teaching object-oriented programming in
high schools - code combat as a game approach. WSEAS TRANSACTIONSONADVANCES
in ENGINEERING EDUCATION, 18:37–46, Apr 2021. doi: 10.37394/232010.2021.18.4. 9,
33
David R. Krathwohl. A revision of bloom’s taxonomy: An overview. Theory Into Practice, 41
(4):212–218, 2002. doi: 10.1207/s15430421tip4104\_2. 7, 32
James R. Lewis. Measuring perceived usability: The csuq, sus, and umux. International
Journal of Human–Computer Interaction, 34(12):1148–1156, 2018. doi: 10.1080/
10447318.2017.1418805. 93
Rensis Likert. A technique for the measurement of attitudes. Archives of Psychology, 140:
1–55, 1932. 93
Tanya Linden and Reeva Lederman. Creating visualizations from multimedia building
blocks: A simple approach to teaching programming concepts. SSRN Electronic Journal,
2011. doi: 10.2139/ssrn.2559026. 9, 33, 40
Yu-Jen Lo, Chiung-Chen Lin, Lily Hou, Jane-DongWu, Yu-Chi Feng, Te-Chin Chu, and Greg
Lee. Reducing novice programmers’ cognitive load and improving learning efficiency by
using gap-filled programming practice system. In Jarmo Viteli andMarianna Leikomaa,
editors, Proceedings of EdMedia + Innovate Learning 2014, pages 2221–2226, Tampere,
Finland, June 2014. Association for the Advancement of Computing in Education (AACE).
1, 8, 32, 40, 108
Rafael Mellado and Claudio Cubillos. Gamification improves learning: Experience in a
training activity of computer programming in higher education. Journal of Computer
Assisted Learning, 40(4):1959–1973,May 2024. doi: 10.1111/jcal.13000. 1, 5, 6, 32, 40, 107
Jeroen J. G. vanMerrienboer. Training Complex Cognitive Skills: A four-component instructional design model for technical training. Educational Technology Publications, 1997.
7
Mahmoud Mhashi and Ali Alakeel. Difficulties facing students in learning computer programming skills at. In Recent Advances inModern Educational Technologies, 2013. 5
Rodrigo Mourato and André L. Santos. Educational Program Visualizations Using Synthetized Execution Information. In André L. Santos and Maria Pinto-Albuquerque, editors, 5th International Computer Programming Education Conference (ICPEC 2024), volume 122 of Open Access Series in Informatics (OASIcs), pages 10:1–10:8, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrumfür Informatik. ISBN 978-3-95977-347-
8. doi: 10.4230/OASIcs.ICPEC.2024.10. 9, 33
Thomas L. Naps, Guido Rößling, Vicki Almstrum, Wanda Dann, Rudolf Fleischer, Chris
Hundhausen, Ari Korhonen, Lauri Malmi, Myles McNally, Susan Rodger, and J. Ángel
Velázquez-Iturbide. Exploring the role of visualization and engagement in computer
science education. In Working Group Reports from ITiCSE on Innovation and
Technology in Computer Science Education, ITiCSE-WGR ’02, page 131–152, New York,
NY, USA, 2002. Association for Computing Machinery. ISBN 9781450374491. doi:
10.1145/960568.782998. 10
Arnold Pears, Stephen Seidman, Lauri Malmi, Linda Mannila, Elizabeth Adams, Jens
Bennedsen, Marie Devlin, and James Paterson. A survey of literature on the teaching
of introductory programming. In Working Group Reports on ITiCSE on Innovation
and Technology in Computer Science Education, ITiCSE-WGR ’07, page 204–223, New
York, NY, USA, 2007. Association for Computing Machinery. ISBN 9781450378420. doi:
10.1145/1345443.1345441. 2, 7, 10
Liam Rigby, Paul Denny, and Andrew Luxton-Reilly. A miss is as good as a mile: Off-by-one
errors and arrays in an introductory programming course. In Proceedings of the Twenty-
Second Australasian Computing Education Conference, ACE’20, page 31–38, New York,
NY, USA, 2020. Association for Computing Machinery. ISBN 9781450376860. doi: 10.
1145/3373165.3373169. 6, 19, 20, 29, 108
Siti Rosminah, Ahmad Zamzuri Mohamad Ali, and Mohamad Ali. Difficulties in learning
programming: Views of students. In 1st International Conference on Current Issues in
Education, 09 2012. doi: 10.13140/2.1.1055.7441. 1, 5, 6, 7, 19, 20, 29, 32, 40, 107, 108
R. M. Ryan and E. L. Deci. Self-determination theory and the facilitation of intrinsic motivation, social development, and well-being. American Psychologist, 55:68–78, 1 2000.
doi: 10.1037/0003-066X.55.1.68. 6, 17, 92, 109
Sue Sentance and JaneWaite. Primm: Exploring pedagogical approaches for teaching textbased programming in school. In Proceedings of the 12th Workshop on Primary and
Secondary Computing Education, WiPSCE ’17, page 113–114, New York, NY, USA, 2017.
Association for Computing Machinery. ISBN 9781450354288. doi: 10.1145/3137065.
3137084. 8, 32, 37, 40, 107, 108, 109
Sue Sentance, Jane Waite, and Maria Kallia and. Teaching computer programming with
primm: a sociocultural perspective. Computer Science Education, 29(2-3):136–176, 2019.
doi: 10.1080/08993408.2019.1608781. 8, 32, 37, 40, 107, 109
Sónia Rolland Sobral. Is pair programing in higher education a good strategy? International
Journal of Information and Education Technology, 10:911–916, 12 2020. doi: 10.18178/
ijiet.2020.10.12.1478. 8, 32
Adilson Vahldick, Antonio José Mendes, and Maria José Marcelino. A review of games designed to improve introductory computer programming competencies. In 2014 IEEE
Frontiers in Education Conference (FIE) Proceedings, pages 1–7, 2014. doi: 10.1109/FIE.
2014.7044114. 8
Marten van den Berg, Bastiaan Heeren, and Ebrahim Rahimi. Parsons problems for equivalence proofs in logic. In Proceedings of the 24th Koli Calling International Conference on Computing Education Research, Koli Calling ’24, New York, NY, USA, 2024. Association
for Computing Machinery. ISBN 9798400710384. doi: 10.1145/3699538.3699551. 7, 8,
16, 32
Akhila Sri Venigalla, Chaitanya S. Lakkundi, and Sridhar Chimalakonda. Pointerviz - towards
visualizing pointers for novice programmers. Proceedings of the Annual Hawaii
International Conference on System Sciences, 2020. doi: 10.24251/hicss.2020.015. 8
Jane Waite and Sue Sentance. Teaching programming in schools: A review of approaches
and strategies. Raspberry Pi Foundation, 2021. 8, 32
Sujin Yoo, Changbae Mun, Minjong Cheon, Ook Lee, Yoonki Rhee, and Hyodong Ha. A
study on the factors affecting academic achievement in the non-face-to-face class environment due to covid-19: Focusing on computer liberal arts education class. Sustainability,
14(11):6547,May 2022. doi: 10.3390/su14116547. 1, 5