{"id":614,"date":"2013-02-04T13:44:12","date_gmt":"2013-02-04T13:44:12","guid":{"rendered":"http:\/\/rosarioconsulting.net\/inspiredtoeducate\/?p=614"},"modified":"2013-02-04T13:47:40","modified_gmt":"2013-02-04T13:47:40","slug":"using-game-segments-to-engage-students-in-computer-science-education","status":"publish","type":"post","link":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/using-game-segments-to-engage-students-in-computer-science-education\/","title":{"rendered":"Using Game Segments to Engage Students in Computer Science Education"},"content":{"rendered":"\n<!-- Facebook Like Button v1.9.6 BEGIN [http:\/\/blog.bottomlessinc.com] -->\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Finspiredtoeducate.net%2Finspiredtoeducate%2Fusing-game-segments-to-engage-students-in-computer-science-education%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height: 30px; align: left; margin: 2px 0px 2px 0px\"><\/iframe>\n<!-- Facebook Like Button END -->\n<p><a href=\"http:\/\/rosarioconsulting.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/02\/matrix.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-615\" title=\"matrix\" src=\"http:\/\/rosarioconsulting.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/02\/matrix.jpg\" alt=\"The Matrix\" width=\"500\" height=\"372\" srcset=\"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/02\/matrix.jpg 500w, https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-content\/uploads\/2013\/02\/matrix-300x223.jpg 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Teachers of computer science, like many STEM teachers, desire to find ways to engage students in the craft.\u00a0\u00a0 How do we make learning computer programming fun?\u00a0\u00a0 How do we empower students to be creative?<\/p>\n<p>As a computer science graduate myself, I have to confess that we cover some pretty dry material at times.\u00a0\u00a0 I can always say that I found internal motivation to fight through difficult classes by seeing how those concepts related to creating video games and 3D simulations.\u00a0\u00a0 This was a small mental trick that worked for me.\u00a0\u00a0 Can it work for others?<\/p>\n<p>Over the weekend, I discovered a pretty cool paper entitled \u201cUsing XNA-GSE game segments to Engage Students in Advanced Computer Science Education.\u201d\u00a0\u00a0 The author, G. Michael Youngblood a professor at University of North Carolina, shares his experiences of engaging students in the study of artificial intelligence using a technique he calls \u201cgame segments.\u201d\u00a0\u00a0\u00a0 This work was shared by Microsoft Research at \u201cMicrosoft Academic Days on Gaming 2007.\u201d\u00a0 \u00a0\u201cGame segments\u201d is a project based learning technique where students practice the implementation of various algorithms in AI in the context of a realistic video game scenario.\u00a0\u00a0\u00a0 You might think of a game segment as a \u201cfill in the blank\u201d computer science programming activity.\u00a0\u00a0 The segment has most of the game mechanics implemented.\u00a0\u00a0 The student can focus on implementing the \u201cbrains\u201d of the software and applying a specific model of artificial intelligence.\u00a0\u00a0\u00a0\u00a0 In other words, most of the game context is coded and completed.\u00a0\u00a0\u00a0 The student is tasked with understanding, designing, and coding the \u201ccomputer intelligence\u201d components.<\/p>\n<p>The full paper from Microsoft Research can be found here:\u00a0 <a href=\"ftp:\/\/ftp.research.microsoft.com\/pub\/carlat\/N14_Using%20XNA-GSE%20game%20segments%20to%20Engage%20Students.pdf\" target=\"_blank\">ftp:\/\/ftp.research.microsoft.com\/pub\/carlat\/N14_Using%20XNA-GSE%20game%20segments%20to%20Engage%20Students.pdf<\/a><\/p>\n<p>The author felt that students became engaged in the activity because they had creative freedom to customize their game creations.\u00a0\u00a0 They were empowered to change the artwork of the game and experiment with various aspects and behaviors in the games.\u00a0\u00a0\u00a0 Since all the game segments were designed with Microsoft XNA game studio, students could also enjoy playing their game creations on their Xbox if they desired. \u00a0\u00a0I thought it was cool that students would often hold informal competitions among themselves.<\/p>\n<p><strong>Some of the scenarios covered in his class include the following:<\/strong><\/p>\n<ul>\n<li><strong>Chat bot:<\/strong> Students practice techniques for creating their own \u201cSiri\u201d like agent that can have a conversation with a player.\u00a0 In this context, the player needs to discover a secret known by a agent in the game. \u00a0\u00a0\u00a0The students got to play with <a href=\"http:\/\/www.alicebot.org\/documentation\/\" target=\"_blank\">AIML <\/a>and related algorithms.<\/li>\n<li><strong>Motion planning:<\/strong> In this scenario, a student needs to implement algorithms so that a character can navigate through an environment, cross a bridge, and capture a prize.<\/li>\n<li><strong>Adversarial search:<\/strong>\u00a0 This game segment enables students to learn how to implement the search and attack algorithms that you might find in a game like Minecraft.\u00a0\u00a0 In Minecraft, zombies and spiders come out at night and try to attack players.\u00a0\u00a0 Students need to learn to use sensors, search and planning algorithms, and get the agent to move intelligently avoiding road blocks.<\/li>\n<\/ul>\n<p>In the context of his class, the students worked with five game segments.\u00a0\u00a0 Mr. Youngblood shared some guiding principles he used in constructing the activity.<\/p>\n<ul>\n<li>\u201c<strong>Design Principle 1:<\/strong> The areas where students are to modify, incorporate their code, or examine for debugging should be very clear in the game segment. \u201c<\/li>\n<li>\u201c<strong>Design Principle 2:<\/strong> Allow the student to easily change the cosmetics and\/or behavior of the game so they can customize it and take ownership\u201d<\/li>\n<li>\u201c<strong>Design Principle 3:<\/strong> Always leave an element of the base code that the students would like to change but is not required to be changed.\u201d<\/li>\n<li>\u201c<strong>Design Principle 4:<\/strong> Document all of the game segment source code well. It serves as an example student will refer to for additional learning.\u201d<\/li>\n<li>\u201c<strong>Design Principle 5:<\/strong> Keep the game segment simple by testing only one major application of a learned technique at a time with the addition of at most one minor applied technique.\u201d<\/li>\n<li>\u201c<strong>Design Principle 6:<\/strong> The game segment should encourage the desired proper coding style and paradigm (e.g., object-oriented).\u201d<\/li>\n<li>\u201c<strong>Design Principle 7:<\/strong> Design for competitions or diversity to help show off the student\u2019s work in class incorporating it back into the lessons.\u201d<\/li>\n<\/ul>\n<p>Related Links:<\/p>\n<ul>\n<li><strong>XNA GAME STUDIO:<\/strong> <a href=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=23714\" target=\"_blank\">http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=23714<\/a><\/li>\n<li><strong>Coding for fun:<\/strong>\u00a0<a href=\"http:\/\/channel9.msdn.com\/coding4fun\" target=\"_blank\">http:\/\/channel9.msdn.com\/coding4fun<\/a><\/li>\n<li><strong>Program#<\/strong> \u00a0&#8211; AIML for C#:\u00a0<a href=\"http:\/\/aimlbot.sourceforge.net\/\" target=\"_blank\">http:\/\/aimlbot.sourceforge.net\/<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Photo taken from:\u00a0http:\/\/www.flickr.com\/photos\/trinity-of-one\/20562069\/sizes\/m\/in\/photostream\/<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<!-- Facebook Like Button v1.9.6 BEGIN [http:\/\/blog.bottomlessinc.com] -->\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Finspiredtoeducate.net%2Finspiredtoeducate%2Fusing-game-segments-to-engage-students-in-computer-science-education%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height: 30px; align: left; margin: 2px 0px 2px 0px\"><\/iframe>\n<!-- Facebook Like Button END -->\n","protected":false},"excerpt":{"rendered":"<p>Teachers of computer science, like many STEM teachers, desire to find ways to engage students in the craft.\u00a0\u00a0 How do we make learning computer programming fun?\u00a0\u00a0 How do we empower students to be creative? As a computer science graduate myself, I have to confess that we cover some pretty dry [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,7,11,3,8],"tags":[],"_links":{"self":[{"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/614"}],"collection":[{"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/comments?post=614"}],"version-history":[{"count":3,"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/614\/revisions"}],"predecessor-version":[{"id":617,"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/posts\/614\/revisions\/617"}],"wp:attachment":[{"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/media?parent=614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/categories?post=614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inspiredtoeducate.net\/inspiredtoeducate\/wp-json\/wp\/v2\/tags?post=614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}