haku: @supervisor Malmi, Lauri / yhteensä: 86
viite: 2 / 86
Tekijä:Lipiäinen, Anastasia
Työn nimi:A Web-Based System for Executing Interactive Scala Programming Exercises in Browser
Web-pohjainen järjestelmä interaktiivisten Scala-ohjelmointitehtävien suoritukseen selaimessa
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2016
Sivut:vii + 113 s. + liitt. 7      Kieli:   eng
Koulu/Laitos/Osasto:Perustieteiden korkeakoulu
Oppiaine:Information Networks   (SCI3047)
Valvoja:Malmi, Lauri
Ohjaaja:Seppälä, Otto ; Sorva, Juha
Elektroninen julkaisu: http://urn.fi/URN:NBN:fi:aalto-201612226223
Sijainti:P1 Ark Aalto  5839   | Arkisto
Avainsanat:distributed homework submission system
novice programmers
computer science education
Scala
hajautettu palautusjärjestelmä
ohjelmoinnin aloittelijat
tietotekniikan opetus
Tiivistelmä (fin):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.
Tiivistelmä (eng):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.
ED:2017-01-08
INSSI tietueen numero: 55262
+ lisää koriin
INSSI