As I continue my research with Microsoft XNA gaming, I came across this publication and it struck my interest.
My research so far indicates that gaming is a good way to introduce programming concepts to beginning students, but the next question is:
WHAT MAKES A “GOOD” GAME PROGRAMMING ASSIGNMENT?
Daniel C. Cliburn
Department of Computer Science
The University of the Pacific
Susan M. Miller
Educational Foundations and Special Services
Kent State University
http://www1.pacific.edu/~dcliburn/ccsc-cp08.pdf
Based on my findings in my last posing, research has shown that when students are given a choice they prefer game to non-game assignments.
What key elements are necessary to create a “good” game assignment?
These assignments would be appealing and motivating to all students, in addition to helping them learn the material a project is intended to teach.
The authors believe it is important to understand specific characteristics of game assignments that students do select to determine why students choose these projects.
The first research question was whether students prefer structured or unstructured game assignments.
In this study, students had the option to create projects that were unstructured using Alice. The other option was to create projects in a structured environment using Java. Unstructured assignments were those that allowed students a great deal of latitude in writing a game or adventure story of their own choice. Structured assignments explicitly directed the students what to write (create the game tic-tac-toe or code the solution to a specific problem from the text book).
A student noted, “With the non-structure we did not know where to start.” This student went on to say that structure makes the project easier and makes students more motivated to get the project completed because they know exactly what to do.
The student who chose the unstructured assignments stated that he liked open-ended projects. He stated that this type of assignment provided the most opportunity to try to learn new things. This student was one of the most motivated in the course, producing excellent assignments and scoring high on exams.
Responses suggest that students were unable to judge whether they could complete an unstructured assignment given their current level of knowledge.
The question remains: Why did some students choose non-game assignments over games?
The research revealed that students did not avoid game assignments because of a dislike for designing or programming games. Instead, students chose non-game assignments because of their need for structure, a perception that it would take less time, and limitations in creating the game option.
Authors' Conclusions
Open-ended assignments may be best suited for an upper division game programming course.
The authors suggested the following recommendations to guide the creation of future game assignments for CS1:
1) Provide as much structure as possible.
2) Well-known games should be assigned when possible.
3) When possible, give the games a graphical element.
My Thoughts
I agree with the conclusions that the authors suggested. When I do assign games, I try to use games that most everyone is familiar with: guessing game, hangman, etc. I found students tend to enjoy programming these types of games much more than games the student has never played.
I once assigned a poker game to my C++ class. Those who understood all the variations of a hand (full house, royal flush, etc.) were much more involved with the game than those who didn’t understand all the different permutations.
The same data held true for my class that was assigned to design a Craps game. Those who understood the combinations of the dice really programmed fascinating projects. Those who did not still programmed nice games, but without all the “extras”. I assuming these students needed to take time to learn the game before they could begin to program it!
As I begin to redesign my introduction to programming class, the three suggestions from these authors will be paramount to the games I assign.
If you’ve ever assigned a game to a class, let me know your results. Did the students get into the game or did the game concepts kill the fun?
References:
Cliburn, D., Miller, S. (2008), "What Makes a Good Gaming Assignment?", ASEE/IEEE Frontiers in Education Conference. Web Site: http://www1.pacific.edu/~dcliburn/ccsc-cp08.pdf
Wednesday, April 8, 2009
Subscribe to:
Post Comments (Atom)
Debbie,
ReplyDeleteGreat post! The structured versus open-ended game assignment has several layers to it. While most individuals (I hesitate to say "all") enjoy playing games of some sort, there are those who would balance the level of work in creating the games. There are some students that shy away from the labor of programming more than they are drawn to the "fun" of a game. Those students would take the structured game assignment. And if the motivation si really lacking, they would likely take a straightforward programming assignment.
One of the things about the open-ended assignment is that it doesn't just involve developing code, but it involves, to some degree, inventing a game and considering elements of play in addition to developing code. That's an extra layer of work.
My experience with students is skewed in this regard, as I've assigned programming assignments invovling games in a game design program. So the students were self-selected as having a desire to make games. My programming assignments have always been open-ended but with some guidelines. Typically I would have the student determine the genre of game, look at asset lists, estimate time to design the play experience, etc. At most, the students ask for help to address particular program design issues they are having, but they never ask for a fully defined game project to program.
Do you find a relationship between the student's overall academic performace and his or her desire to embellish games with extras? Or is that pretty much related to a student's knowledge of the game?
This is just a fun conversation :) I'm glad we're all in the same blog posting group together!
- Hap Aziz
Hi Debbie,
ReplyDeleteI thought your post was especially interesting -- the problem of structured vs. unstructured assignments runs throughout our ITE program.
First -- to answer your question about my experiences with games. I assign the students a simple guessing game in my Logic course and I think the students like the assignment. They definitely all do it! I'm not sure if it's because it's fun to write a program that you can "play" instead of simply "run" or if it's because this is the first assignment with any real "meat" (it's right after we finish covering all 3 programming structures).
Second -- re: Hap's question about who tries to streamline code and make it most elegant -- it's my experience that these are always the students who get the best grades. These are the ones who add error checking before it's called for and add extra features just to pretty things up. I used to do that too -- once I got a program up and running, I was so happy because I could then concentrate on making it better (faster, sleeker, or just prettier) without the stress of worrying about whether it would work or not. We may just be a certain personality type, as Hap said.
Finally, though, re: structured vs unstructured -- I really have found that most students need and want structure, at least for most of a course like programming. The same is true for web authoring. The end of the semester seems, to me, to be the time to ask for creativity -- after the student has mastered the tools he needs to be creative.
That's it. Now I have to post to my own blog so you guys have something to respond to!
Liz