Please use this identifier to cite or link to this item:
http://hdl.handle.net/11375/31494
Title: | A Functional Event-Driven Framework for Simplified Concurrent Applications: Technical and Pedagogical Considerations |
Other Titles: | A Functional Event-Driven Framework |
Authors: | Schankula, Christopher William |
Advisor: | Anand, Christopher Kumar Smith, Spencer |
Department: | Computing and Software |
Keywords: | Event-Driven Programming;Functional Programming;Concurrent Programming;Software Design;Human-Centred Design;Design Thinking;Pedagogy |
Publication Date: | 2025 |
Abstract: | Modern software products require graduates experienced with creating interactive programs. To properly learn how to build interactive programs, students need projects that present a low barrier to entry (low floor) while retaining a high ceiling to ensure high engagement of more experienced students. In this thesis, we turn to multiplayer game programming using the Event-Driven Programming (EDP) paradigm to fulfill this need. EDP is a type of programming where concurrency is based around the processing of events, which are processed atomically in a central event loop. EDP has been shown to produce more reliable software, precluding many of the common mistakes programmers make with lower-level concurrent programming. We use Elm, which implements EDP in a purely functional setting, processing events as immutable data structure values called messages. This thesis describes the design of a multi-user extension to Elm's Model-View-Update (MVU) paradigm, called Local-Global Model-View-Update (LG-MVU). We implemented the LG-MVU paradigm in Elm as the TEASync framework. We show how the purely functional language helps to ensure concurrency properties are maintained. We then describe and report on the use of the framework in a first-year computer science course, where students were given the option to use it to implement a video game in a semester-long group project. Surveys, focus groups, and code compilation data were used to ascertain the difficulties and experiences students had using the framework. The data showed that students were able to use the framework to make complex multiplayer games. Those who used it tended to have more programming experience prior to university, confirming its effectiveness as a high-ceiling activity, while retaining the low-floor option of tool-supported single-player games. Students using TEASync reported a lower difficulty level than initially anticipated, appreciated its simplicity, and had higher levels of engagement in, and enjoyment of, the project and course. |
URI: | http://hdl.handle.net/11375/31494 |
Appears in Collections: | Open Access Dissertations and Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Schankula_Christopher_W_finalsubmission2025March_MSc.pdf | 8.81 MB | Adobe PDF | View/Open |
Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.