![]() Rather than building new languages or programming tools, I address these difficulties through new types of instructional materials and opportunities for felicitous engagement with them. I have engaged in a cycle of learner-centered design to answer the high-level questions: What do users know what might they need to know how are they learning and how might we help users discover and learn what they need or want to know? In so doing, I uniquely frame end-user programming challenges as issues related to knowledge and understanding about computer science. This dissertation work investigates the challenges that end-user programmers face from a computer science education perspective. Thus, pedagogical solutions must also be explored. While current approaches to address the difficulties facing end-user programmers seek to change the nature of the programming task, I argue that these challenges often mirror those faced by all novice programmers. ![]() Instead, these users must piece together their understanding of programming through trial and error, examples found online, and help from peers and colleagues. Unfortunately, learning to program remains a challenging task, and the majority of end-user programmers lack any formal education in software development. Increasing support for software customization through scripting, the opening of application programmer interfaces on the Web, and a growing need for domain specific application support have all contributed to an increase in end-user programming. Software development is no longer a task limited to professionally trained computer programmers. 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. 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. It also contains a simple bitmap viewer for cases in which the development environment cannot display bitmaps or does not support SMCL. SMCL enables both pixel- and compositing-based Media Computation with RGBA-formatted (red, green, blue, aplha) bitmaps. 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. The first of the class libraries, SMCL (Scala Media Computation Library), enables the actual bitmap processing. The research prototype consists of two Scala-based class libraries and a bespoke version of the Eclipse-based Scala IDE. Moreover, it reviews software applications that have already been used, or would be suitable to be used, for 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. 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. The Thesis examines the foundation of contextualization and Media Computation in theories of motivation. 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. Media Computation is an approach for contextualizing computer science and programming education to make it appear more interesting and motivating for students. 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.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |