Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 39 reacties

Programmeur Alex Gerdes heeft voor zijn promotieonderzoek aan de Open Universiteit een programmeerleeromgeving ontwikkeld. De software moet studenten automatisch feedback geven tijdens het maken van opdrachten en het eenvoudiger maken om te leren programmeren.

Bij de ontwikkeling van de programmeerleeromgeving voor de functionele programmeertaal Haskell, Ask-Elle geheten, werkte Gerdes samen met studenten van de Universiteit Utrecht. Ask-Elle zou in staat zijn om een student die met een programmeeropdracht bezig is feedback te geven of hij een juiste stap heeft gezet met zijn geschreven Haskell-code. Ook moet Ask-Elle, dat is gericht op eerstejaars studenten, hints geven als een student vastloopt.

De feedback die Ask-Elle geeft, wordt automatisch gegenereerd op basis van modeloplossingen voor een bepaalde programmeeropgave. Bij modeloplossingen is de code geschreven alsof een expert deze geproduceerd heeft en bevat de code methoden die een student zichzelf moet aanleren.

Volgens Gerdes is Ask-Elle ook nuttig voor docenten, omdat studenten zelfstandiger aan opdrachten kunnen werken. Bovendien is het voor docenten mogelijk om zelf modeloplossingen toe te voegen aan de programmeerleeromgeving waarbij tevens de geboden feedback veranderd kan worden. Gerdes zal op 23 november aan de Open Universiteit in Heerlen promoveren op basis van zijn proefschrift 'Ask-Elle: a Haskell Tutor'.

Reacties (39)

Reactiefilter:-139037+118+22+30
Moderatie-faq Wijzig weergave
Ziet er mooi uit, het begin van het aanleren van een programmeertaal is zeker niet makkelijk. Ik denk dat dit een stap in de goeie richting is om beginners minder snel vast te laten lopen. Iedereen weet hoe frustrerend/afremmend een dom foutje kan zijn...
Mooi! Haskell is toch vrij lastig om in te stappen, ik had dit zeker behulpzaam gevonden om te kunnen gebruiken in mijn eerste dagen.
is dit niet net zoiets als http://www.codecademy.com/ ?
is dan wel voor python, javascript en nog een paar, maar lijkt hetzelfde principe.
erg leuk om zo python te leren :)
Ja allemaal leuk en aardig, maar dan moet zo'n tool ook wel goed werken. En dat was helaas niet het geval toen ik hem uitprobeerde op de UU. Wat toen het geval was, was dat er een of twee correcte oplossingen in zaten, maar dat hij een hele zooi andere correcte oplossingen niet herkende en daar dus over bleef zeuren.
Dat is nog altijd zo, zo te merken. Je moet echt precies een van de plannen volgen die de tool voor je heeft - je mag niet eens een stap overslaan. Die tool werkt dus voor geen meter, maar het idee is leuk.
Jammer dat hij dit niet online zet, zodat ook niet studenten ermee kunnen lummelen.

Over pogrameerleeromgeving gesproken, bij codecademy.com dan worden je tags (bv <a href>) automatisch afgesloten ( </a>, dat zou vaker gebruikt moeten worden in editors. Maarja bij codecademy.com kun je weer niet exporteren, maarja dat is iets heel anders.

Hmmm dit is online Leuk :P

[Reactie gewijzigd door eddyjohn op 19 november 2012 19:51]

Ik lees net je reactie en ik zag codecademy.com. Ik zat zo die website te verkennen en ik ben helemaal verkocht. Geweldig om zo javascript te leren.

Is dit er ook voor java of c++?
In een leeromgeving zou een <a> tag juist niet afgesloten moeten worden. Wat heeft dat met leren te maken? Dat is geen feedback, maar hulp :)

Daartegenover staat dat de meeste IDE's en serieuze editors dat wel gewoon doen, maar hun doel is dan ook niet om een leeromgeving te zijn. Overigens geven veel IDE's wel aan of er sommige dingen aan je code beter kunnen.
Ook vrij voor de hand liggend om mee te beginnen: http://tryhaskell.org/

Ik heb nog nooit een vacature voorbij zien komen voor een Haskell programmeur, maar goed ik kijk ook niet bij de wetenschapsafdeling in de vacaturekrant ;) TU's staan ook niet bekend om het opleiden van praktijkgerichte programmeurs, daarvoor zit je beter bij een HBO.

Het lijkt me wel een grappig taaltje, heeft veel weg van functioneel proggen in javascript en ook delegates etc. in C# etc. Maar dan nog wat lastiger.

Ik heb wel medelijden met de persoon die de eerste review moet doen van java of c# code geschreven door iemand die bedreven is in Haskell.. lijkt nu niet bepaald gericht op het produceren van overdraag- en vooral leesbare code ..
Haskel, Scala en Erlang zijn functionele talen en dat heeft verder weinig te maken met leesbare code. Het is maar wat je gewend bent om te lezen. Verder is het geen kunst om brakke code in welke taal dan ook te schrijven,

Functionele talen benaderen problemen op een andere manier waardoor ze sommige problemen veel efficienter kunnen afhandelen.
Bijvoorbeeld de chat applicatie binnen Facebook draait op een kern van Erlang.
Bijvoorbeeld met Erlang is het geen probleem om een miljoen processen te spawnen terwijl je dat met C niet hoeft te proberen.
Erlang kan een draaiend systeem gewoon van een nieuwe versie voorzien zonder het systeem down te halen. Met Haskell kan je eenvoudig je code parallel laaten werken over meerderdere cores of nodes.
Allemaal specifieke voordelen die een aantal specifieke problemen effectief kunnen oplossen die je met Java of C een stuk lastiger kunt oplossen.
Je hebt helemaal gelijk als je schrijft dat Functioneel programeren een andere manier van denken vergt.

Echter, ik vind Haskell code in veel gevallen makkelijker te lezen dan imperatieve code, met name omdat je veel minder tekst hoeft te lezen. Als je Haskell bijvoorbeeld met Java vergelijkt, dan valt het op dat Java zeker een factor 5 meer regels vergt en die moet je allemaal lezen. Daar moet ik wel de kanttekening bij plaatsten dat het lezen van sommige stukken Haskell code flinke hersenkrakers kunnen zijn. Maar dit hangt ook in sterke mate van je ervaring en de codingstyle af.
Duidelijke taal! ik had gelijk wat vragen bedacht om te stellen maar je beantwoord ze al :)
Ik moest gelijk aan dit artikel over "Learnable Programming" van Brett Victor denken. Leren te programmeren door direct feedback te geven en uit te nodigen om te experimenteren. Anders blijft leren programmeren toch vaak heel abstract.
Ja, want van al die mensen die niet zo goed zijn in abstact denken, daar willen we natuurlijk graag programmeurs van maken !

Op dit item kan niet meer gereageerd worden.



Microsoft Windows 10 Home NL Apple iPhone 6s Star Wars: Battlefront (2015) Samsung Galaxy S6 edge Apple Watch Project CARS Nest Learning Thermostat Ibood hunt

© 1998 - 2015 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True