240 likes | 411 Views
Compiler Integration into Computer Science Learning Games. Amanda Chaffin katla@wulfkub.com Advisor: Dr. Tiffany Barnes tbarnes2@uncc.edu. What is Game2Learn?. Games Senior Projects & Master’s Thesis Challenging, creative, innovative RPGs and puzzle games. Students Undergraduates
E N D
Compiler Integration into Computer Science Learning Games Amanda Chaffin katla@wulfkub.com Advisor: Dr. Tiffany Barnes tbarnes2@uncc.edu
What is Game2Learn? Games • Senior Projects & Master’s Thesis • Challenging, creative, innovative • RPGs and puzzle games Students • Undergraduates • Veteran Mentors (Ph. D. & Masters) Learning • Computing & programming concepts • Learning tools Chaffin - G2L platform October 23, 2014
Hypothesis • Students who play a learning game where • They can write and compile code inside the game • Will effectively learn computing concepts • Students who make a learning game where other students write code will • Learn the coding concepts better • Be able to teach the concepts Chaffin - G2L platform October 23, 2014
Game Concept re·cur·sion (rĭ-kûr'zhən) –noun Mathematics,Computers See recursion Chaffin - G2L platform October 23, 2014
EleMental: The Recurrence Chaffin - G2L platform October 23, 2014
Video Video (Thanks to YouTube for hosting) Chaffin - G2L platform October 23, 2014
Code Interface – Close Up Chaffin - G2L platform October 23, 2014
Pilot Study Design • Pilot Study • Current CS 2214 and 2215 students recruited via the professor • Study consists of – • Demographic survey & pre-test • Play game • Post test & survey • Data logged by game and automatically (non secure) FTPed Chaffin - G2L platform October 23, 2014
16 participants 1 non computing major 1 freshman, 1 sophomore, 10 juniors, 3 seniors, and 1 post Baccalaureate 13 men, 3 women 5 casual gamers, 4 hardcore, 7 neither Study Demographics Chaffin - G2L platform October 23, 2014
Pre & Post Test public int getProduct(int num) { int result; if (num == 1) { result = 1; } else { result = num * getProduct(num - 1); } return result; } • What is the value passed to getProduct() in step 2? Answer = 2 • What is the value of 'result' at step 6?Answer = 6 • What is the value passed to getProduct() in step 2? • What is the value of 'result' at step 6? MAIN 6) result = getProduct() 1) getProduct(3) 5) result = 2 4) result = getProduct() 2) getProduct() getProduct() 3) getProduct() Chaffin - G2L platform October 23, 2014 10
Pre to Posttest Learning Gains Chaffin - G2L platform October 23, 2014
Favorite Aspects of EleMental? Chaffin - G2L platform October 23, 2014
Traditional Vs. Game Assignments Chaffin - G2L platform October 23, 2014
Study Quotes “The fact that I write my own code to make the game work.” “Gaming assignments are better because a lot of people enter computer science wanting to do things like gaming, and are disappointed because all they get to do in the first few assignments is write code to calculate tax on different stuff.” “I liked the whole experience of walking through the paths and then typing the code and then doing it again for repetition.” “Finding C# is very similar to Java.” Chaffin - G2L platform October 23, 2014
What the Developers Learned • Code concepts – abstraction, recursion, Forms, polymorphism, CodeDom, Compilers • Agile development – rapid iterations through software cycle • Good code no substitute for proper design! • Parsing is HARD! Chaffin - G2L platform October 23, 2014
Future Study • Hypothesis – students who play EleMental: The Recurrence with access to the in game compiler will show significantly higher learning gains than a comparison group that plays without the compiler. • Crossover study – • Half play the game with compiler • Half play without • Swap Chaffin - G2L platform October 23, 2014
Future Engine Work • Level Creation currently at 5 hours for 2 people • Database • Address Engine Concerns • Direction Indicators • Reconnect XP to HUD • Bug Fixes • Expansions into other data structures • Heaps • Lists • Stacks Chaffin - G2L platform October 23, 2014
Thank You! Amanda Chaffin & Dr. Tiffany Barnes katla@wulfkub.com unc Charlotte This work was partially supported by the National Science Foundation GrantsNo. CNS-0552631 and CNS-0540523, IIS-0757521, and the UNC Charlotte Diversity in Information Technology Institute.
CompilerControls Architecture Chaffin - G2L platform October 29, 2008
Event System Architecture Chaffin - G2L platform October 29, 2008
Each Event has TypeID Parameters Triggers Events : XML Settings
HUD Flow Chaffin - G2L platform October 29, 2008