Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa

Tämän pro gradu -tutkielman tavoitteena oli kehittää toimiva konsepti MOOC-ohjelmointikurssien automaattiselle arvioinnille. Tutkielman ajurina toimi tutkimuskysymys: ''Millaisella konseptilla voidaan toteuttaa C++-lähdekoodin automaattinen arviointi?''. Tutkimusmenetelmänä toimi...

Full description

Bibliographic Details
Main Author: Rajaniemi, Jussi
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:fin
Published: 2021
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/76225
_version_ 1826225724030189568
author Rajaniemi, Jussi
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Rajaniemi, Jussi Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Rajaniemi, Jussi Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Rajaniemi, Jussi
datasource_str_mv jyx
description Tämän pro gradu -tutkielman tavoitteena oli kehittää toimiva konsepti MOOC-ohjelmointikurssien automaattiselle arvioinnille. Tutkielman ajurina toimi tutkimuskysymys: ''Millaisella konseptilla voidaan toteuttaa C++-lähdekoodin automaattinen arviointi?''. Tutkimusmenetelmänä toimi kehittämistutkimuksen ja ketterän Scrum-mallin yhdistelmä, jolla pyrittiin varmistamaan tutkimuksellinen ote ja ketterä sovelluskehitysmalli. Tutkimuksen ensimmäisessä vaiheessa kartoitettiin ongelma-analyysin avulla MOOC-kurssien ja automaattisen arvioinnin vahvuuksia sekä haasteita. Toisessa vaiheessa aloitettiin kehitystyö, joka päättyi käyttäjätestaukseen. Tulosten perusteella konsepti täytti sille asetetut vaatimukset, ja onnistuttiin ratkaisemaan testitapausten laadintaan ja on/off-tyyppisen arvioinnin haasteet menettämättä automaattisen arvioinnin vahvuuksia. The purpose of this master thesis was develop a workable concept for automated assessment for MOOC programming courses. Thesis research work is driven by the question: ''What kind of concept can be used to implement automated assessment in C++ source code?''. The research method was a combination of design research and Scrum development model, with the aim of ensuring a research approach and agile application development model. In the first phase of study, the strengths and challenges of MOOC courses and automatic assessment were survey using problem analysis. In the second phase, development started and it ended with user testing. The results showed that the concept met requirement specifications and we were able to solve challenges of making test cases and on/off-type assessment without losing the strength of automated assessment.
first_indexed 2024-09-11T08:53:15Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Myllym\u00e4ki, Mikko", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Rajaniemi, Jussi", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2021-06-04T07:24:28Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2021-06-04T07:24:28Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2021", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/76225", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "T\u00e4m\u00e4n pro gradu -tutkielman tavoitteena oli kehitt\u00e4\u00e4 toimiva konsepti MOOC-ohjelmointikurssien automaattiselle arvioinnille. Tutkielman ajurina toimi tutkimuskysymys: ''Millaisella konseptilla voidaan toteuttaa C++-l\u00e4hdekoodin automaattinen arviointi?''. Tutkimusmenetelm\u00e4n\u00e4 toimi kehitt\u00e4mistutkimuksen ja ketter\u00e4n Scrum-mallin yhdistelm\u00e4, jolla pyrittiin varmistamaan tutkimuksellinen ote ja ketter\u00e4 sovelluskehitysmalli. Tutkimuksen ensimm\u00e4isess\u00e4 vaiheessa kartoitettiin ongelma-analyysin avulla MOOC-kurssien ja automaattisen arvioinnin vahvuuksia sek\u00e4 haasteita. Toisessa vaiheessa aloitettiin kehitysty\u00f6, joka p\u00e4\u00e4ttyi k\u00e4ytt\u00e4j\u00e4testaukseen. Tulosten perusteella konsepti t\u00e4ytti sille asetetut vaatimukset, ja onnistuttiin ratkaisemaan testitapausten laadintaan ja on/off-tyyppisen arvioinnin haasteet menett\u00e4m\u00e4tt\u00e4 automaattisen arvioinnin vahvuuksia.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "The purpose of this master thesis was develop a workable concept for automated assessment for MOOC programming courses. Thesis research work is driven by the question: ''What kind of concept can be used to implement automated assessment in C++ source code?''. The research method was a combination of design research and Scrum development model, with the aim of ensuring a research approach and agile application development model. In the first phase of study, the strengths and challenges of MOOC courses and automatic assessment were survey using problem analysis. In the second phase, development started and it ended with user testing. The results showed that the \nconcept met requirement specifications and we were able to solve challenges of making test cases and on/off-type assessment without losing the strength of automated assessment.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2021-06-04T07:24:28Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2021-06-04T07:24:28Z (GMT). No. of bitstreams: 0\n Previous issue date: 2021", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "61", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "C++", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "automaattinen arviointi", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "staattinen analyysi", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202106043452", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "avoimet verkkokurssit", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "arviointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "ohjelmointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_76225
language fin
last_indexed 2025-02-18T10:56:56Z
main_date 2021-01-01T00:00:00Z
main_date_str 2021
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/c1e9eefb-0fb8-4e07-940f-8def765bf8fc\/download","text":"URN:NBN:fi:jyu-202106043452.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2021
record_format qdc
source_str_mv jyx
spellingShingle Rajaniemi, Jussi Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa C++ automaattinen arviointi staattinen analyysi Tietotekniikka Mathematical Information Technology 602 avoimet verkkokurssit arviointi ohjelmointi
title Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa
title_full Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa
title_fullStr Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa
title_full_unstemmed Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa
title_short Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa
title_sort staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa
title_txtP Staattinen analyysi ohjelmakoodin automaattisessa arvioinnissa
topic C++ automaattinen arviointi staattinen analyysi Tietotekniikka Mathematical Information Technology 602 avoimet verkkokurssit arviointi ohjelmointi
topic_facet 602 C++ Mathematical Information Technology Tietotekniikka arviointi automaattinen arviointi avoimet verkkokurssit ohjelmointi staattinen analyysi
url https://jyx.jyu.fi/handle/123456789/76225 http://www.urn.fi/URN:NBN:fi:jyu-202106043452
work_keys_str_mv AT rajaniemijussi staattinenanalyysiohjelmakoodinautomaattisessaarvioinnissa