DIGITAL LIBRARY
A GAME DEVELOPMENT COURSE FOR NON-CS MAJORS
Iona College (UNITED STATES)
About this paper:
Appears in: EDULEARN17 Proceedings
Publication year: 2017
Pages: 8665-8673
ISBN: 978-84-697-3777-4
ISSN: 2340-1117
doi: 10.21125/edulearn.2017.0621
Conference name: 9th International Conference on Education and New Learning Technologies
Dates: 3-5 July, 2017
Location: Barcelona, Spain
Abstract:
This paper describes our experience in creating, teaching, and assessing an undergraduate game development course for non-CS majors. The primary motivation was to generate broad student interest in Computer Science (CS) and improve the quality of students’ education. We hoped that the course would motivate some students to pursue a CS degree.

To measure the success of the course, we adopted a number of student learning outcomes. We expect that, by the end of the semester, students will be able to:
• Write a simple game plot
• Use game engines, graphics and audio tools to create game components
• Do basic programming
• Work in a team to create a 3D game
• Present their work
• Discuss the social, ethical and psychological aspects of game development and their impact on people and society.

An additional measure of success for the CS Department is the number of students who decide to pursue a CS degree after taking the course.

The main tool used in our new course is the Unity game engine, which is particularly well suited for beginners. Since the Game Development course is intended for non-CS majors, it has no prerequisites. The course is offered in a lab environment. The lectures are hands-on, with students experimenting in real-time with the material covered in class.

The course begins with a top-level introduction to game design, focusing on game genres, story/script writing, game psychology, socio-economic, age, and gender issues in gaming. The next few lectures introduce students to Unity. Hands-on exercises, like creating simple shapes and texturing them, help students learn some of the associated terminology. Next, we cover the Unity terrain editor, “prefabs”, lighting, and the fundamentals of the physics system. With the introduction of game physics, the need for programming becomes evident. We opted to use Javascript as the simpler alternative for non-CS majors. Once students become accustomed to Javascript programming, new visual and coding elements are introduced: particle systems, fire and water effects, script-driven scene fades, basic enemy AI, all of which makes the game experience more immersive and challenging. Students write scripts to maintain the player’s statistics (health, score), displaying them using the Unity UI system. Students also learn to use Unity animation, based on finite state machine. Finally, the course covers topics such as performance tuning, porting to different platforms, marketing, and maintenance.

In the course of the semester students are required to complete one large and several smaller projects. Working in teams of two, students are expected to implement an original, first person action/adventure 3D game, with multiple levels, different environments, multiple challenges/enemies, and a well-defined success/failure outcome. The student projects are presented publicly at the end of the semester.
Student evaluations of the course have been very positive. On average, 24% of the enrolled students elected to pursue CS as a major.

This clearly demonstrates the potential of game development to engage and inspire students to pursue a Computer Science degree. The course has also attracted significant interest among incoming students. Based on the success of the initial offering of the course and the continued high enrollment, we believe that the course will be an exciting option for students to satisfy their College Core STEM requirement, and will attract many new students to the CS department.
Keywords:
Game development, non-majors, undergraduate, Unity, STEM, 3D games, Computer Science.