Ohjelmointitehtävien ratkaisu ChatGPT:llä ja sen vaikutukset ohjelmoinnin opetukseen - Rytilahti, Juuso (My University, 2024)
Laajojen kielimallien yleistyminen ja niiden suorituskyvyn nousu muuttaa myös ohjelmoinnin opetusta. Tässä tutkielmassa perehdytään ChatGPT:n kyvykkyyteen suomenkielisissä ohjelmoinnin perusteiden tehtävissä ja siihen, miten se voi vaikuttaa ohjelmoinnin perusteiden opetukseen. Tämä tutkielma esittää ChatGPT:n kyvykkyyden ratkaista sanallisia ohjelmoinnin tehtäviä suomeksi Pythonilla. Tutkielmassa käsitellään myös sitä kuinka kuinka ChatGPT vaikuttaa ohjelmoinnin perusteiden opetukseen. Tutkimus tehtiin keväällä 2023. Tutkimuksessa simuloitiin ChatGPT:tä käyttävää oppilasta. Siinä käsiteltiin kahta erilaista lähestymistapaa, kumpaakin testattiin GPT-3.5:llä ja GPT-4:llä. Ensimmäisessä lähestymistavassa simuloitiin oppilasta, joka omaa hieman perustietoja ohjelmoinnista. Toinen lähestymistapa simuloi täysin ohjelmoinnista tietämätöntä opiskelijaa. Tutkimuksessa saatu lopputulos vaihteli hieman valitun työkalun ja lähestymistavan mukaan, oppilaan saavuttaessa kurssin loppupisteistä 63.5%-86.2% riippuen valitusta lähestymistavasta. Työkalua hyödyntävä opiskelija olisi myös voinut läpäistä kaikki kolme kurssilla käytössä ollutta loppukoetta. On myös huomattava, että mikäli vain kurssin ohjelmointitehtävät otettiin huomioon, ChatGPT:llä avustettu oppilas olisi voinut vastata 107 (75.9%) tai jopa 139 (98.6%) kurssin 141 ohjelmointitehtävästä. Tutkielmassa tarkastellaan myös ChatGPT:n tekemiä yleisiä virheitä konkreettisten esimerkkien kautta. Tämä tutkielma sisältää myös pohdintaa siitä, kuinka laajan kielimallin käyttöä huijaamiseen voitaisiin vaikeuttaa muokkaamalla ohjelmoinnin tehtäviä, ja kuinka haasteellista se on. Havainnollistavana esimerkkinä käytetään tehtävää, jonka ratkaisu ei vaadi suoraan ohjelmointia. Lisäksi tutkielmassa reflektoidaan laajojen kielimallien vaikutusta ohjelmoinnin opetukseen nyt ja tulevaisuudessa.

The emergence of large language models and their raised capabilities also affects the teaching of programming. This thesis shows ChatGPT’s performance and ability to solve verbal programming exercises written in Finnish with the programming language Python. More broadly, it is also explored how ChatGPT affects to the teaching of fundamentals of programming. The study was conducted during the Spring of 2023. The research was conducted by simulating a student utilizing ChatGPT. We opted for two different approaches, which were tested with GPT-3.5 and GPT-4 models. The first approach simulated an amateur programmer with some prior programming knowledge. The second approach simulated a student without even a basic knowledge or understanding of programming. The performance varied, simulated student gaining between 63.5% and 86.2% of the course’s total score. The tool-assisted students were also able to pass 3 different versions of the course’s exam. Notably, if focused only on programming exercises, the simulated student could answer correctly 107 (75.9%) to 139 (98.6%) of the course’s 141 programming exercises. The study also highlights the most common mistakes made by the models with concrete examples. This thesis also includes a reflection on how one could try to make cheating with a large language model more difficult by modifying the assignments and how hard this is to achieve. An exercise, which solving does not require programming directly is used as an illustrative example. Additionally, the discussion section contains some general reflection on the impact of large language models on the teaching of programming now and in the future.
Keywords: ChatGPT, ohjelmointi, ohjelmoinnin opetus, laaja kielimalli