Supporting Media Computation in Programming Education: A Class Library for Bitmap Processing Using Scala

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2016-06-13
Department
Major/Subject
Ohjelmistotekniikka
Mcode
T3001
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
106 + 3
Series
Abstract
The objective of the Thesis was to identify opportunities for applying Media Computation in four courses that teach introductory computer science and programming with the Scala programming language and are aimed at computer science majors at Aalto. Media Computation is an approach for contextualizing computer science and programming education to make it appear more interesting and motivating for students. The main components of this thesis are (1) a classification of the currently available teaching contextualization methods for programming and computer science, with a focus on Media Computation; and (2) a research prototype which supports students by offering cognitive scaffolding and improves the presentation of bitmap-based media on the interactive Scala shell of Scala IDE. The Thesis examines the foundation of contextualization and Media Computation in theories of motivation. This thesis formulates a classification that provides a coarse-grained overall picture of tool-based contextualization methods and a more fine-grained description of ways to integrate media inside integrated development environments, a form of Media Computation. In addition, on the basis of several textbooks that apply Media Computation, the Thesis presents a classification of current genres of Media Computation. Moreover, it reviews software applications that have already been used, or would be suitable to be used, for Media Computation. The research prototype consists of two Scala-based class libraries and a bespoke version of the Eclipse-based Scala IDE. The first of the class libraries, SMCL (Scala Media Computation Library), enables the actual bitmap processing. The latter one, in turn, offers an interface for the interactive Scala shell both to query SMCL for and to display metadata, such as bitmaps, that is related to the execution results of code fragments. SMCL enables both pixel- and compositing-based Media Computation with RGBA-formatted (red, green, blue, aplha) bitmaps. It also contains a simple bitmap viewer for cases in which the development environment cannot display bitmaps or does not support SMCL. The requirements set for the prototype were almost fully realized, and a small-scale pilot testing proved the functionality offered by the prototype to be useful. With further development of the prototype it is most likely possible to produce a tool, with which programming education can be improved to be more diverse, interesting, and motivating.

Tämän diplomityön tavoitteena oli tutkia mahdollisuuksia medialaskennan soveltamiseen neljällä Aalto-yliopiston Tietotekniikan laitoksen pääaineopiskelijoille suunnatulla kurssilla, jotka opettavat tietojenkäsittelytieteen ja ohjelmoinnin alkeita Scala-ohjelmointikielellä. Medialaskenta on näiden aiheiden opetukseen suunnattu viitekehyksellistämismenetelmä, joka tähtää opetuksen muokkaamiseen opiskelijoiden näkökulmasta mielenkiintoisemmaksi ja motivoivammaksi. Työn tärkeimmät osat ovat (1) tietojenkäsittelytieteen ja ohjelmoinnin opetukseen suunnattuja viitekehyksellistämismenetelmiä käsittelevä ja medialaskentaan painottuva luokittelu sekä (2) tutkimusprototyyppi, joka tarjoaa opiskelijoille kognitiivista tukea sekä parantaa bittikarttapohjaisen median esittämistä Scala IDE -kehitysympäristön Scala-komentorivillä. Työssä haetaan perusteita sekä viitekehyksellistämisen että medialaskennan toimivuudelle motivaatioteorioista. Kokonaiskuvan työkalupohjaisista viitekehyksellistämismenetelmistä saa työn tarjoamasta karkeasta luokittelusta; medialaskennan osalta tämä luokittelu tarkentuu tapoihin esittää mediaa integroiduissa kehitysympäristöihissä. Lisäksi työ esittelee medialaskentaa soveltaviin oppikirjoihin pohjautuvan luokittelun medialaskennan suuntauksista sekä tutustuttaa joihinkin medialaskennassa jo käytettyihin tai siihen soveltuviin ohjelmistoihin. Tutkimusprototyyppi koostuu kahdesta Scala-kielisestä luokkakirjastosta sekä Eclipse-pohjaisen Scala IDE -kehitysympäristön mukautetusta versiosta. Luokkakirjastoista ensimmäinen, SMCL (Scala Media Computation Library), mahdollistaa varsinaisen bittikarttojen käsittelyn, kun taas jälkimmäinen tarjoaa rajapinnan Scala-komentorivillä suoritettujen ohjelmakoodikokonaisuuksien suoritustuloksia koskevan metatiedon, kuten bittikarttojen, siirtämiseen SMCL:ltä Scala-komentorivillä esitettäväksi. SMCL mahdollistaa medialaskennan rgba-muotoisilla (red, green, blue, alpha) bittikartoilla sekä kuvapistepohjaisesti että bittikartoista kokonaisuuksia koostaen. SMCL sisältää myös yksinkertaisen ohjelman bittikarttojen tarkastelemiseksi tapauksissa, joissa kehitysympäristö joko ei kykene esittämään bittikarttoja tai ei tue SMCL:ää. Prototyypille asetetut vaatimukset toteutuivat lähes kokonaan ja pienimuotoinen pilottitestaus osoitti prototyypin tarjoaman toiminnallisuuden hyödylliseksi. Prototyyppiä jatkokehittämällä voidaan todennäköisesti tuottaa työkalu, jonka avulla ohjelmointiopetusta voidaan kehittää entistä monipuolisemmaksi, mielenkiintoisemmaksi ja motivoivammaksi.
Description
Supervisor
Malmi, Lauri
Thesis advisor
Sorva, Juha
Seppälä, Otto
Keywords
scala, media computation, contextualized teaching, motivation, bitmap, graphics
Other note
Citation