INTEGRATING VIDEOGAME DEVELOPMENT AND SOFTWARE ENGINEERING IN A COLLEGE SENIOR ELECTIVE COURSE
1 Software Engineer, Meta (UNITED STATES)
2 University of Washington, Bothell (UNITED STATES)
About this paper:
Conference name: 14th International Conference on Education and New Learning Technologies
Dates: 4-6 July, 2022
Location: Palma, Spain
Abstract:
Many young students pursue a major in Computer Science (CS) or software development because of their fascination with the popular videogames that they grow up playing. These students are highly motivated and eager to learn about topics that are related to their favorite videogames, e.g., computer graphics, linear algebra, classical mechanics. Governing professional organizations, such as the Association for Computing Machinery (ACM) in the United States (US) responded with the definitions of new degree programs and course curricula. Many academic institutions responded with newly established videogames related degree programs and a significant subset of existing CS degree programs now offers some form of videogames development related elective classes.
While the need from the videogames industry is strong, it is significantly outweighed by the overwhelming demands from the rest of the technology industries. As a direct result, vast majority of the students who have taken videogames related elective classes from traditional CS degree programs landed in careers that are independent from videogames. These observations present an interesting dilemma and opportunity when designing an undergraduate senior level videogames development elective course: is it possible to both align with the videogames development interests of students and convey knowledge and concepts that can be more widely applicable in the rest of their potential careers.
One approach would be to generalize “videogames” as “interactive applications” and “development” as “software development process”. In this way, a course in “videogames development” can be designed based on the learning outcomes from an “interactive applications software development process”. Such a course should cover the fundamentals of videogames including: real-time systems, user interactions, object interactions, and, autonomous behaviors; while leading students through an elaborate software process including: ideation, proposal, design, prototype, and multiple rounds end-user testing and releases. The end results are potentially fun and engaging interactive graphical applications that are well-polished, and well-tested.
This paper presents the design, refinement over the years, and results from such a class implemented at the University of Washington Bothell. The paper articulates the course design parameters and specifications, details the learning outcomes and the associated assessments, and, critically examines the results from over the years. While a course that is focused neither on videogames nor software engineering, students do enjoy and engage in building their favorite software system and in the process demonstrate relevant outcomes. This class has consistently been one of the most highly subscribed senior electives in the department.Keywords:
Higher education, computer science, elective classes, videogames development, software engineering.