compiler integration into computer science learning games
DESCRIPTION
Compiler Integration into Computer Science Learning Games. Amanda Chaffin [email protected] Advisor: Dr. Tiffany Barnes [email protected]. What is Game2Learn?. Games Senior Projects & Master’s Thesis Challenging, creative, innovative RPGs and puzzle games. Students Undergraduates - PowerPoint PPT PresentationTRANSCRIPT
Compiler Integration into Computer Science Learning Games
Amanda [email protected]
Advisor: Dr. Tiffany [email protected]
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
2Chaffin - G2L platform April 20, 2023
HypothesisStudents who play a learning game where
They can write and compile code inside the game
Will effectively learn computing conceptsStudents who make a learning game
where other students write code will Learn the coding concepts better Be able to teach the concepts
3Chaffin - G2L platform April 20, 2023
Game Concept
re·cur·sion (rĭ-kûr'zhən)
–noun Mathematics, Computers
See recursion
4Chaffin - G2L platform April 20, 2023
EleMental: The Recurrence
5Chaffin - G2L platform April 20, 2023
Video
6Chaffin - G2L platform April 20, 2023
Video
(Thanks to YouTube for hosting)
Code Interface – Close Up
7Chaffin - G2L platform April 20, 2023
Chaffin - G2L platform April 20, 2023
8
Pilot Study DesignPilot 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
9
Study Demographics16 participants1 non computing major1 freshman, 1 sophomore, 10 juniors, 3
seniors, and 1 post Baccalaureate 13 men, 3 women5 casual gamers, 4 hardcore, 7 neither
Chaffin - G2L platform April 20, 2023
Pre & Post Test
MAIN
getProduct()
getProduct()
getProduct()
1) getProduct(3)
2) getProduct()
3) getProduct()
4) result =
5) result = 2
6) result =
public int getProduct(int num) {
int result;if (num == 1) { result = 1;
} else
{ result = num * getProduct(num - 1); }
return result;}
1.What is the value passed to getProduct() in step 2? Answer = 2
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?
Chaffin - G2L platform April 20, 2023
10
11
Pre to Posttest Learning Gains
0
1
2
3
4
5
6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Pretest
Posttest
Chaffin - G2L platform April 20, 2023
Favorite Aspects of EleMental?
In Game Coding18%
Visualization39%
Education24%
Hints12%
Game Play7%
In Game Coding
Visualization
Education
Hints
Game Play
12Chaffin - G2L platform April 20, 2023
Traditional Vs. Game Assignments
Neutral5%
Game73%
Traditional20%
13Chaffin - G2L platform
April 20, 2023
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.”
14Chaffin - G2L platform
April 20, 2023
15
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 April 20, 2023
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
16Chaffin - G2L platform April 20, 2023
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
17Chaffin - G2L platform April 20, 2023
Thank You!
Amanda Chaffin & Dr. Tiffany Barnes
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.
Engine Components
Chaffin - G2L platform October 29, 2008
20
CompilerControls Architecture
Challenge Objects Flow
Event System Architecture
Chaffin - G2L platform October 29, 2008
22
Events : XML SettingsEach Event has
TypeID Parameters Triggers
HUD Flow
Chaffin - G2L platform October 29, 2008
24
Heads Up Display Object Library
Human
Stack Event
Engine
Game Event Handler
Dialogue Event
HUD Map Event
Screen Object
TextDisplay : ScreenObjectValueDisplay : ScreenObjectImageDisplay : ScreenObject
List<TextDisplay>List<ValueDisplay> List<ImageDisplay>
- Initialize- Update- AddDisplay- Draw
DrawInitialize &Update
Manages scriptedHUD Events
Creates and UpdatesHuman Specific Objects