Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/31494
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorAnand, Christopher Kumar-
dc.contributor.advisorSmith, Spencer-
dc.contributor.authorSchankula, Christopher William-
dc.date.accessioned2025-04-15T15:34:08Z-
dc.date.available2025-04-15T15:34:08Z-
dc.date.issued2025-
dc.identifier.urihttp://hdl.handle.net/11375/31494-
dc.description.abstractModern 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.isoenen_US
dc.subjectEvent-Driven Programmingen_US
dc.subjectFunctional Programmingen_US
dc.subjectConcurrent Programmingen_US
dc.subjectSoftware Designen_US
dc.subjectHuman-Centred Designen_US
dc.subjectDesign Thinkingen_US
dc.subjectPedagogyen_US
dc.titleA Functional Event-Driven Framework for Simplified Concurrent Applications: Technical and Pedagogical Considerationsen_US
dc.title.alternativeA Functional Event-Driven Frameworken_US
dc.typeThesisen_US
dc.contributor.departmentComputing and Softwareen_US
dc.description.degreetypeThesisen_US
dc.description.degreeMaster of Science (MSc)en_US
dc.description.layabstractModern 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 SizeFormat 
Schankula_Christopher_W_finalsubmission2025March_MSc.pdf
Open Access
8.81 MBAdobe PDFView/Open
Show simple item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue