Microsoft Research announced the six recipients of the Gaming in Computer Science, totaling $480,000 (USD) in funding. This year’s Gaming in Computer Science Awards sought proposals which addressed the creation and assessment of laboratory exercises using a game theme suitable for use in introductory computer science courses that teach fundamental programming concepts and techniques. The exercises had to include a plan to assess the impact of those lab exercises upon the attraction and retention of students, particularly students with no previous programming experience.
To simulate the ideal learning environment we are creating assignments based on the Microsoft XNA framework. This environment facilitates computer game design, development, and management by freeing game designers from writing "repetitive boilerplate code" and bringing all aspects of game production into a single system. Students can develop programs based on Microsoft Visual C# and in Microsoft Visual Studio. With this toolset programmers can create standalone applications that run on any platform supported by Microsoft including their favorite entertainment console. Our course modules are prepackaged and completely self-contained. This enables faculty members to easily adopt them, blend them into existing lesson plans, and redesign them over time. Our teaching beginning computer classes with and without gaming assignments is our assessment for gauging the success of our project.
Rather than using traditional programming assignments to teach key computer science concepts, we are using the immersive, virtual environment of Flight Simulator X (FSX). We are establishing a lab to provide the infrastructure for extending FSX to modified control devices used to simulate human powered flight. The game interface features exercise bikes which places the rider in a seated or supine position to enhance the game-play experience. Undergraduate researchers will alter the bikes and FSX so that the game supplies feedback closely linked to the movement of the body. For example, when players pedal fast, their aircrafts speed will increase or the seat will tilt as the user turns the aircraft. The second step is to develop an educational program for first year students. Using the results of our modified interface research, grad students working in the lab are developing the programming course modules. They also act as teaching assistants and test/critique the modules as they are developed. The modules focus on team learning and integrating individual knowledge as an asset from which the entire group benefits. Because we are exploring the impact of game development as a programming paradigm for introductory computer science courses, each module has a multi-dimensional evaluation component. The component looks specifically at how well the learning goals surrounding that module were met. The educational materials are available in the public domain through a project website and a software tool that facilitates mass collaborative authoring. We are informing the community of our research by demonstrating modified exercise bikes in local schools. In this way, middle and high school students can be exposed to the educational aspects of gaming and can become aware of exciting career opportunities in computer science.
Game-based assignments are being added into the core programming course sequences in both IT and Computer Science. Our framework is built on using C# with the Microsoft XNA framework through the Reality and Programming Together (RAPT) materials and the Multi-User Programming Pedagogy for Enhancing Traditional Study (MUPPETS). We are collecting data on the transfer of knowledge, on an instructional technique where the teacher models the desired task then gradually shifts responsibility to the students, on student learning performance, and on the perception of the field through the introductory programming sequence. These assessments enable us to see a more cohesive picture of where games can help across the breadth of introductory programming courses. Tracking students in advanced courses such as Software Engineering I and Operating Systems contributes to seeing how earlier game-based assignments may have assisted the students in advancing to the next level.
We are adding computer game projects and technology into computer science courses. The first course modification adds a computer game programming project and computer game technology examples to the existing CS1 course (CS 12A) using the Rochester Institute of Technology MUPPETS framework. The goal of the CS1 intervention is to make the course more interesting and compelling for students, and to improve retention of students majoring in Computer Science. The second course modification adds an optional game programming project (also using MUPPETS) to a large general education course on game design, CS 80K, Foundations of Interactive Game Design. This course is intended to act as a gateway to computer science, attracting students with material focused first on game design, and secondarily on programming. The goal is to attract those students who are motivated to learn game programming (ones that self-selected the game project) into computer science. We are performing assessments to compare student attitudes before and after the courses. We are also tracking the number of students that switch to computer science.
Our project will leverages Microsoft Flight Simulator X (FSX) as a platform, with the power of immersive viewing and interaction, to develop computer science lab equipment and exercises that are compelling, enjoyable, and effective in teaching programming. We intend to make this the beginning of a multi-university, interdisciplinary FSX-based ecosystem in which student projects persist, interact, and compete. We intend make this ecosystem so that it can be extended to fields outside of computer science. The assignments we are creating enable students to play ''algorithm God'' in an earth simulator by writing code to drive Microsoft Flight Simulator X (FSX), and then experience their work in a highly immersive 3-D display as part of a physical classroom lab. Ideally, this will combine the strengths of the traditional lab environment, with the lure of game development and the power of immersion to make the computer science lab the class students rave about.
In traditional CS programs first term students gain little exposure to object oriented programming. However, under my rigorous program, student accomplished significant MFC technology demonstrations before the Winter break. Visual C++/MFC (now .NET) has proven to be an important component in this process because it has aided in the continuous development of students’ basic programming skills as they work to develop a gaming product suitable for deployment in the entertainment industry. With this in mind, the DWC approach has moved well beyond the attraction of using a gaming motif for learning basic concepts. DWC is using games for learning basic programming skills by having students create complex games in the freshman year. These games are first created in C++ code, and later through emerging or advanced gaming engines such as Torque Game Builder, Microsoft XNA framework, and Flight Simulator X (FSX).