Tietotekniikan opiskelijoiden oppimismenetelmät ohjelmoinnin oppimiseen
Vaaja, Iida (2024)
Kandidaatintyö
Vaaja, Iida
2024
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2024072662671
https://urn.fi/URN:NBN:fi-fe2024072662671
Tiivistelmä
Kandidaatin työn tarkoituksena oli ottaa selville, millä oppimismenetelmillä ohjelmointia opiskelevat kokevat oppivansa ja onko opiskelumetodeissa eroja työkokemuksen, yliopistoa edeltäneen ohjelmointikokemuksen tai tutkinnon tason johdosta. On tutkittu paljon ohjelmoinnin haasteita ja oppimistyylejä, mutta oppimismetodeja on tutkittu vähemmän, vaikka yhä sähköistyvä maailma tarjoaa monia mahdollisuuksia oppimiselle. Tutkimus tehtiin kyselytutkimuksena kysyen opiskelijoilta heidän käyttämiään oppimismetodeja uuden kielen opiskelussa ja ongelmatilanteiden ratkaisussa. Lisäksi selvitettiin ohjelmointia opiskelevien opiskelijoiden haasteita sekä heidän oppimistyylejään. Tuloksissa selvisi, että eri vastaajaryhmillä on eroja oppimismenetelmissä. Kandi- ja maisteriopiskelijoilla eroja löytyi debuggerin käytöstä ja muiden kuin luentovideoiden käytöstä. Ennen yliopistoa ja yliopistossa ohjelmoinnin aloittaneiden välillä erot olivat siinä, miten uutta koodia tutkittiin. Suurimman eron aiheutti se, oliko opiskelijalla alan työkokemusta vai ei. Erot olivat kurssitehtävillä harjoittelu, kurssimateriaalin lukeminen, dokumentaation käyttö, oman koodin vertailu sekä samanlaisten virheiden etsintä. Kolme haastavinta ongelmaa vastaajille oli osoittimet, dynaaminen muistinvaraus ja algoritmit, samoin itseluottamuksen puute aiheutti haasteita. Yleisimmät oppimismenetelmät olivat kurssitehtävillä harjoittelu ja kurssin sekä muiden nettisivujen esimerkkikoodien hyödyntäminen. Ongelmatilanteissa menetelminä käytettiin samanlaisten virheiden etsintää, kurssin ohjelman vertailua sekä taukoja. Aim of this thesis was to find out what learning methods do software engineering students use and are there any differences in having work experience, prior knowledge of programming before university or the level of degree. Programming challenges and programmers’ learning styles has been researched. In this world that uses more and more devices, learning methods of programming has been researched quite little. This research was a questionnaire that asked, learning methods both in learning a new programming language and when problems arise. In addition, this questionnaire asked about the student’s programming challenges and learning styles. The result was that there are differences in learning methods between the groups. Between bachelor and master students, the differences were in the use of debugger and videos given in course other than lecture videos. Comparing students with prior knowledge of programming before university to those that started programming at the university the only difference was how a new code was researched. Most differences between groups were with those that had work experience and those that did not. The differences were in practising with course tasks, reading course materials, using documentation, comparing the code and searching similar errors online. The three most challenging problems for all participants were pointers, dynamic memory allocation and algorithms. There was also a lack of confidence that challenged the participants. Most used learning methods were learning with course tasks and utilizing example code from course materials and from external websites. When having problems, methods used were finding similar errors, comparing code to the course examples and taking breaks.
