GitHub Classroomin käyttö ohjelmoinnin opettamisessa
Jaakkola, Jooa (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024060119661
https://urn.fi/URN:NBN:fi:amk-2024060119661
Tiivistelmä
Ohjelmoinnin opettamisen haaste on käytännöllisten tehtävien luominen, kun opiskelijat eivät vielä tunne ohjelmointisyntaksia. Tällöin ei voi antaa pelkästään projektityötä tehtävänannoksi, mutta yksittäiset syntaksitehtävät eivät myöskään auta oppimaan kovin hyvin. Ohjelmointia oppii parhaiten tekemällä, ja GitHub Classroom mahdollistaa tavan, jolla voidaan luoda tehtäviä arvioitavaksi alan standardityökaluilla. Tämä opinnäytetyö tutki tätä työkalua ja vertaili muita vaihtoehtoisia tapoja opettaa ohjelmointia.
Aluksi tutkittiin GitHub Classroom -työkalua ja vaihtoehtoja sille. Tämän ohella käytiin myös tiiviisti läpi näiden historiaa. Projektityönä toimi esimerkkinä tehty luokkahuone, jolla tarkasteltiin sen toimivuutta ohjelmoinnin opetuksessa. Ensimmäiseksi käytiin läpi luokkahuoneen sekä tehtävien luominen, ja sen jälkeen opiskelijana tehtävien tekeminen. Opiskelijan käyttökokemusta testattiin kahdella eri käyttäjällä. Lopuksi toistettiin sama prosessi toisella työkalulla, jonka toimintaperiaate oli samankaltainen.
Ohjelmoinnin opettamiselle on olemassa useita eritasoisia oppimisen hallintajärjestelmiä. GitHub Classroom toimi tämän opinnäytetyön perusteella parhaiten, sillä vaihtoehdoissa ei onnistuttu saamaan tehtäviä yhtä helpolla ja tehokkaasti luotua. A challenge of teaching programming is to create practical tasks when programming syntax is not yet grasped by the students. Project work can therefore not be given to students, and individual syntax tasks are generally not very efficient for teaching programming. The best method for learning programming is by doing, and GitHub Classroom provides a method for creating tasks to be assessed using industry standard tools. This thesis aims to explore the potential of this tool by comparing it to other alternative tools for teaching programming.
To achieve the objective of this thesis, a closer look was taken into the GitHub Classroom tool and alternatives to it, including a brief look into their backgrounds for a bit of context. The main focus was on creating a mock classroom setup that would resemble a real programming class. This involved setting up a digital classroom and designing assignments to go with it. After that, the user experience was tested from a student’s perspective using various accounts to get a well-rounded view. This process was then repeated with a different educational tool, which functions in a similar way to GitHub Classroom to compare how effective each one is in teaching programming.
There are several levels of learning management systems for teaching programming, but GitHub Classroom worked best according to this thesis. All the alternatives failed to get the tasks and environments created as easily and efficiently.
Aluksi tutkittiin GitHub Classroom -työkalua ja vaihtoehtoja sille. Tämän ohella käytiin myös tiiviisti läpi näiden historiaa. Projektityönä toimi esimerkkinä tehty luokkahuone, jolla tarkasteltiin sen toimivuutta ohjelmoinnin opetuksessa. Ensimmäiseksi käytiin läpi luokkahuoneen sekä tehtävien luominen, ja sen jälkeen opiskelijana tehtävien tekeminen. Opiskelijan käyttökokemusta testattiin kahdella eri käyttäjällä. Lopuksi toistettiin sama prosessi toisella työkalulla, jonka toimintaperiaate oli samankaltainen.
Ohjelmoinnin opettamiselle on olemassa useita eritasoisia oppimisen hallintajärjestelmiä. GitHub Classroom toimi tämän opinnäytetyön perusteella parhaiten, sillä vaihtoehdoissa ei onnistuttu saamaan tehtäviä yhtä helpolla ja tehokkaasti luotua.
To achieve the objective of this thesis, a closer look was taken into the GitHub Classroom tool and alternatives to it, including a brief look into their backgrounds for a bit of context. The main focus was on creating a mock classroom setup that would resemble a real programming class. This involved setting up a digital classroom and designing assignments to go with it. After that, the user experience was tested from a student’s perspective using various accounts to get a well-rounded view. This process was then repeated with a different educational tool, which functions in a similar way to GitHub Classroom to compare how effective each one is in teaching programming.
There are several levels of learning management systems for teaching programming, but GitHub Classroom worked best according to this thesis. All the alternatives failed to get the tasks and environments created as easily and efficiently.