Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä satunnaistettu vertailukoe

Ohjelmointikielten eri ominaisuuksia on historiallisesti tutkittu vähän ihmislähtöisestä ja myös opetuksellisesta näkökulmasta. Työssä verrattiin lambda-lausekkeita silmukoihin C#-kielessä tietorakenteiden käsittelyssä. Tutkimus toteutettiin jakamalla yliopiston ensimmäisen ohjelmointikurssin opiske...

Full description

Bibliographic Details
Main Author: Pasanen, Rami
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/74399
_version_ 1826225753226739712
author Pasanen, Rami
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Pasanen, Rami Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Pasanen, Rami Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Pasanen, Rami
datasource_str_mv jyx
description Ohjelmointikielten eri ominaisuuksia on historiallisesti tutkittu vähän ihmislähtöisestä ja myös opetuksellisesta näkökulmasta. Työssä verrattiin lambda-lausekkeita silmukoihin C#-kielessä tietorakenteiden käsittelyssä. Tutkimus toteutettiin jakamalla yliopiston ensimmäisen ohjelmointikurssin opiskelijat (n = 187) arpomalla kahteen ryhmään. Yksi ryhmä suoritti tutkimusta varten laaditut tehtävät lambda-lausekkeilla, ja toinen ryhmä suoritti tehtävät silmukoilla. Lambda-lausekkeita hyödynnettiin C#-kielen listan metodien kanssa. Tehtäviä oli yhteensä neljä. Osallistujien tehtävistä antamat aika-arviot ja vaikeustasoarviot sekä osallistujien tehtävistä saamat pistemäärät ja tehtävien yrityskerrat eivät sisältäneet tilastollisesti merkitseviä eroja. Poikkeuksena oli viimeinen tehtävä, johon lambda-lausekkeita käyttäneet opiskelijat tarvitsivat enemmän yrityskertoja. Laadullisessa analyysissa lambda-lausekkeet saivat opiskelijoilta kehuja, mikä yhdistettynä tilastollisen analyysin tuloksiin voi antaa perusteita lambda-lausekkeiden opettamiseen alkutason ohjelmointikursseilla sekä niiden hyödyntämiseen koodia kirjoitettaessa. Features of programming language have historically been researched poorly from a human factors and pedagogical perspective. In the study, lambda expressions were compared to loops within the context of handling data structures in C#. The study was performed by dividing CS1 students (n = 187) into two groups by random assignment. One group performed tasks created for the study by using lambda expressions, while the other group performed the tasks by using loops. Lambda expressions were used with methods of the C# list. There were four tasks in total. The participants' given assessments of task times and difficulty as well as their points and task attempts had no statistically significant differences, aside from the final task, which took more attempts to complete for students in the lambda group. In the qualitative analysis, lambda expressions received praise from students. Combined with the results of the statistical analysis, the positive response could make using lambda expressions in code and teaching them on early programming courses a justifiable choice.
first_indexed 2024-09-11T08:49:52Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Lakanen, Antti-Jussi", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.advisor", "value": "Itkonen, Jonne", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Pasanen, Rami", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2021-02-25T11:54:13Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2021-02-25T11:54:13Z", "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/74399", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Ohjelmointikielten eri ominaisuuksia on historiallisesti tutkittu v\u00e4h\u00e4n ihmisl\u00e4ht\u00f6isest\u00e4 ja my\u00f6s opetuksellisesta n\u00e4k\u00f6kulmasta. Ty\u00f6ss\u00e4 verrattiin lambda-lausekkeita silmukoihin C#-kieless\u00e4 tietorakenteiden k\u00e4sittelyss\u00e4. Tutkimus toteutettiin jakamalla yliopiston ensimm\u00e4isen ohjelmointikurssin opiskelijat (n = 187) arpomalla kahteen ryhm\u00e4\u00e4n. Yksi ryhm\u00e4 suoritti tutkimusta varten laaditut teht\u00e4v\u00e4t lambda-lausekkeilla, ja toinen ryhm\u00e4 suoritti teht\u00e4v\u00e4t silmukoilla. Lambda-lausekkeita hy\u00f6dynnettiin C#-kielen listan metodien kanssa. Teht\u00e4vi\u00e4 oli yhteens\u00e4 nelj\u00e4. Osallistujien teht\u00e4vist\u00e4 antamat aika-arviot ja vaikeustasoarviot sek\u00e4 osallistujien teht\u00e4vist\u00e4 saamat pistem\u00e4\u00e4r\u00e4t ja teht\u00e4vien yrityskerrat eiv\u00e4t sis\u00e4lt\u00e4neet tilastollisesti merkitsevi\u00e4 eroja. Poikkeuksena oli viimeinen teht\u00e4v\u00e4, johon lambda-lausekkeita k\u00e4ytt\u00e4neet opiskelijat tarvitsivat enemm\u00e4n yrityskertoja. Laadullisessa analyysissa lambda-lausekkeet saivat opiskelijoilta kehuja, mik\u00e4 yhdistettyn\u00e4 tilastollisen analyysin tuloksiin voi antaa perusteita lambda-lausekkeiden opettamiseen alkutason ohjelmointikursseilla sek\u00e4 niiden hy\u00f6dynt\u00e4miseen koodia kirjoitettaessa.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Features of programming language have historically been researched poorly from a human factors and pedagogical perspective. In the study, lambda expressions were compared to loops within the context of handling data structures in C#. The study was performed by dividing CS1 students (n = 187) into two groups by random assignment. One group performed tasks created for the study by using lambda expressions, while the other group performed the tasks by using loops. Lambda expressions were used with methods of the C# list. There were four tasks in total. The participants' given assessments of task times and difficulty as well as their points and task attempts had no statistically significant differences, aside from the final task, which took more attempts to complete for students in the lambda group. In the qualitative analysis, lambda expressions received praise from students. Combined with the results of the statistical analysis, the positive response could make using lambda expressions in code and teaching them on early programming courses a justifiable choice.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2021-02-25T11:54:13Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2021-02-25T11:54:13Z (GMT). No. of bitstreams: 0\n Previous issue date: 2021", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "77", "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": "funktionaalinen ohjelmointi", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "iteraatio", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "lambda-lauseke", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ohjelmointikielten suunnittelu", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ohjelmointikielten tutkimus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "satunnaiskoe", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Lambda-lausekkeet tietorakenteiden k\u00e4sittelyss\u00e4 C#-kieless\u00e4 : satunnaistettu vertailukoe", "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-202102251778", "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": "opetus", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "opiskelijat", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "ohjelmointikielet", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "ohjelmointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "Silmukka", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "tietorakenteet", "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_74399
language fin
last_indexed 2025-02-18T10:56:22Z
main_date 2021-01-01T00:00:00Z
main_date_str 2021
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/51bfd29b-5684-4eaa-81c3-1ab8ba97bdf4\/download","text":"URN:NBN:fi:jyu-202102251778.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2021
record_format qdc
source_str_mv jyx
spellingShingle Pasanen, Rami Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe funktionaalinen ohjelmointi iteraatio lambda-lauseke ohjelmointikielten suunnittelu ohjelmointikielten tutkimus satunnaiskoe Tietotekniikka Mathematical Information Technology 602 opetus opiskelijat ohjelmointikielet ohjelmointi Silmukka tietorakenteet
title Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe
title_full Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe
title_fullStr Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe
title_full_unstemmed Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe
title_short Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä
title_sort lambda lausekkeet tietorakenteiden käsittelyssä c kielessä satunnaistettu vertailukoe
title_sub satunnaistettu vertailukoe
title_txtP Lambda-lausekkeet tietorakenteiden käsittelyssä C#-kielessä : satunnaistettu vertailukoe
topic funktionaalinen ohjelmointi iteraatio lambda-lauseke ohjelmointikielten suunnittelu ohjelmointikielten tutkimus satunnaiskoe Tietotekniikka Mathematical Information Technology 602 opetus opiskelijat ohjelmointikielet ohjelmointi Silmukka tietorakenteet
topic_facet 602 Mathematical Information Technology Silmukka Tietotekniikka funktionaalinen ohjelmointi iteraatio lambda-lauseke ohjelmointi ohjelmointikielet ohjelmointikielten suunnittelu ohjelmointikielten tutkimus opetus opiskelijat satunnaiskoe tietorakenteet
url https://jyx.jyu.fi/handle/123456789/74399 http://www.urn.fi/URN:NBN:fi:jyu-202102251778
work_keys_str_mv AT pasanenrami lambdalausekkeettietorakenteidenkäsittelyssäckielessäsatunnaistettuvertailukoe