Opiskelijoiden suurimmat haasteet Haskell-ohjelmointikielen tyyppijärjestelmän kanssa

Haskell-ohjelmointikielellä opetettavalla funktio-ohjelmoinnin johdatuskurssilla oppilaat kohtaavat useita haasteita. Näistä yleisimmät liittyvät usein kielen syntaksiin tai tyyppijärjestelmään. Tämä tutkielma keskittyy oppilaiden haasteisiin Haskellin tyyppijärjestelmän kanssa laajentaen aiempaa tu...

Full description

Bibliographic Details
Main Author: Keveri, Matias
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, University of Jyväskylä, Jyväskylän yliopisto
Format: Master's thesis
Language:fin
Published: 2018
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/57767
Description
Summary:Haskell-ohjelmointikielellä opetettavalla funktio-ohjelmoinnin johdatuskurssilla oppilaat kohtaavat useita haasteita. Näistä yleisimmät liittyvät usein kielen syntaksiin tai tyyppijärjestelmään. Tämä tutkielma keskittyy oppilaiden haasteisiin Haskellin tyyppijärjestelmän kanssa laajentaen aiempaa tutkimusta tyyppeihin liittyvistä haasteista. Tavoitteena on tunnistaa oppilaiden yleisimmät virheet, haasteet ja väärinkäsitykset tyyppeihin liittyen analysoimalla automaattitehtävistä kerättyä aineistoa. Analyysi keskittyy tyyppien ymmärrystä testaaviin tehtäviin, joista saatavien havaintojen pohjalta opetusta voidaan keskittää haasteellisimpiin tyyppijärjestelmän osa-alueisiin. Students face many challenges when attending an introductory functional programming course taught in Haskell. Common challenges are often related to syntax of the language or the type system. This paper focuses on the difficulties of students in understanding Haskell’s type system extending the current research on type related difficulties. Our goal is to identify common mistakes, difficulties and misconceptions students have with types by analyzing exercise submissions and automated assignment logs. The analysis will be focused on assignments testing the students knowledge on types. After identifying the main difficulties, the courses teaching can be more focused on the problematic parts.