A Web-Based System for Executing Interactive Scala Programming Exercises in Browser

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Seppälä, Otto
dc.contributor.advisor Sorva, Juha
dc.contributor.author Lipiäinen, Anastasia
dc.date.accessioned 2016-12-22T11:09:28Z
dc.date.available 2016-12-22T11:09:28Z
dc.date.issued 2016-12-22
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/23930
dc.description.abstract When first introduced to programming, students are often assigned to write mere code snippets that only produce a numerical output with the help of a simple control structure. The students are left unimpressed as they fail to see the real utility that learning to program holds. By assigning students real-world programming problems, such as games and media computation exercises, we showcase real applications for programming. At the beginning of their first programming course, students are already used to working with modern, interactive, and visually impressive interfaces. However, they cannot be expected to produce the graphical user interfaces required to take the full advantage of media content. Previously, we have distributed interfaces implemented with Swing as program code for local execution; the practise does not allow the easy updating of assignment related code and achieving a usable interface is tiresome with the use of Swing. To address the issues of the current process, we developed a web-based system that allows the execution of interactive Scala programs in a browser. The system combines student’s code together with the instructor prepared code and compiles it to JavaScript code. The design of the system is a novel one and takes the use of modern web technologies. The system was trialled with a media programming course in 2015 with encouraging results. Despite the technical difficulties, the system helped addressing the challenges encountered in implementing and distributing modern graphical user interfaces. en
dc.description.abstract Usein ohjelmointiopintojen alussa opiskelijoille annetaan tehtäväksi vain lyhyitä koodin pätkiä, jotka tuottavat kontrollirakenteen avulla numeerisen tulosteen. Tällaiset tehtävät eivät vakuuta opiskelijoita ohjelmoinnin opettelun hyödyllisyydestä. Antamalla opiskelijoille tehtäväksi todellisia ohjelmointiongelmia, kuten pelejä tai mediaohjelmointitehtäviä, on mahdollista esittää ohjelmoinnin todellisia sovelluskohteita. Jo ennen ensimmäistä ohjelmointikurssinsa alkua opiskelijat ovat tottuneita interaktiivisten ja visuaalisesti näyttävien käyttöliittymien käyttäjiä. Heidän ei kuitenkaan voida odottaa itse tuottavan käyttöliittymiä, jotka hyödyntävät mediasisältöjä. Aikaisemmin olemme tarjonneet käyttöliittymät Swing-kirjaston avulla toteutettuna ohjelmakoodina, joita opiskelijat ovat suorittaneet omalla tietokoneillaan. Tämä ei kuitenkaan mahdollista helppoa tapaa päivittää tehtävänantoon liittyvää koodia, minkä lisäksi onnistuneiden käyttöliittymien aikaansaaminen Swing-kirjaston avulla on työlästä. Ratkaisuksi näihin ongelmiin diplomityössä kehitettiin web-pohjainen järjestelmä, joka mahdollistaa interaktiivisten Scala-ohjelmien suorituksen selaimessa. Järjestelmä yhdistää opiskelijan tuottaman koodin opettajan valmisteleman koodiin ja kääntää nämä yhdessä JavaScript-ohjelmaksi. Järjestelmän toimintatapa on uudenlainen ja sen toteutuksessa on käytetty moderneja web-teknologioita. Järjestelmän koekäytössä mediaohjelmoinnin kurssilla vuonna 2015 saatiin lupaavia tuloksia. Teknisistä vaikeuksista huolimatta järjestelmä auttoi kohtaamaan modernien käyttöliittymien toteutukseen ja jakeluun liittyviä haasteita. fi
dc.format.extent 120+7
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.title A Web-Based System for Executing Interactive Scala Programming Exercises in Browser en
dc.title Web-pohjainen järjestelmä interaktiivisten Scala-ohjelmointitehtävien suoritukseen selaimessa fi
dc.type G2 Pro gradu, diplomityö fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword distributed homework submission system en
dc.subject.keyword novice programmers en
dc.subject.keyword computer science education en
dc.subject.keyword Scala en
dc.identifier.urn URN:NBN:fi:aalto-201612226223
dc.programme.major Information Networks fi
dc.programme.mcode SCI3047 fi
dc.type.ontasot Master's thesis en
dc.type.ontasot Diplomityö fi
dc.contributor.supervisor Malmi, Lauri
dc.programme Master’s Programme in Information Networks fi


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

My Account