Please use this identifier to cite or link to this item:
http://hdl.handle.net/11375/31494
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.advisor | Anand, Christopher Kumar | - |
dc.contributor.advisor | Smith, Spencer | - |
dc.contributor.author | Schankula, Christopher William | - |
dc.date.accessioned | 2025-04-15T15:34:08Z | - |
dc.date.available | 2025-04-15T15:34:08Z | - |
dc.date.issued | 2025 | - |
dc.identifier.uri | http://hdl.handle.net/11375/31494 | - |
dc.description.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. | en_US |
dc.language.iso | en | en_US |
dc.subject | Event-Driven Programming | en_US |
dc.subject | Functional Programming | en_US |
dc.subject | Concurrent Programming | en_US |
dc.subject | Software Design | en_US |
dc.subject | Human-Centred Design | en_US |
dc.subject | Design Thinking | en_US |
dc.subject | Pedagogy | en_US |
dc.title | A Functional Event-Driven Framework for Simplified Concurrent Applications: Technical and Pedagogical Considerations | en_US |
dc.title.alternative | A Functional Event-Driven Framework | en_US |
dc.type | Thesis | en_US |
dc.contributor.department | Computing and Software | en_US |
dc.description.degreetype | Thesis | en_US |
dc.description.degree | Master of Science (MSc) | en_US |
dc.description.layabstract | Modern software products require graduates experienced with creating interactive programs. To provide this experience, low-floor, high-ceiling activities are needed, ensuring all students can succeed and stay engaged. This thesis investigates creating an Event-Driven Programming (EDP) framework, called TEASync, that allows programmers to create multi-user applications. This thesis describes how the resulting TEASync framework was implemented, and details a study wherein first-year computer science students were given the option of using the framework to create multiplayer games as part of a semester-long design project. Surveys, focus groups, and code compilation data showed that students were able to use the framework to make complex multiplayer games. The data show that the multiplayer option provided experienced students a high-ceiling learning opportunity, while the single-player EDP option maintained a low floor for less experienced students. Those who used the framework reported a lower difficulty level than anticipated and had a measurable increase in engagement in the course. | en_US |
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.