compiler integration into computer science learning games

24
Compiler Integration into Computer Science Learning Games Amanda Chaffin [email protected] Advisor: Dr. Tiffany Barnes [email protected]

Upload: gage

Post on 05-Jan-2016

34 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Compiler Integration into Computer Science Learning Games

Compiler Integration into Computer Science Learning Games

Amanda [email protected]

Advisor: Dr. Tiffany [email protected]

Page 2: Compiler Integration into Computer Science Learning Games

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

Page 3: Compiler Integration into Computer Science Learning Games

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

Page 4: Compiler Integration into Computer Science Learning Games

Game Concept

re·cur·sion (rĭ-kûr'zhən)

–noun Mathematics, Computers

See recursion

4Chaffin - G2L platform April 20, 2023

Page 5: Compiler Integration into Computer Science Learning Games

EleMental: The Recurrence

5Chaffin - G2L platform April 20, 2023

Page 6: Compiler Integration into Computer Science Learning Games

Video

6Chaffin - G2L platform April 20, 2023

Video

(Thanks to YouTube for hosting)

Page 7: Compiler Integration into Computer Science Learning Games

Code Interface – Close Up

7Chaffin - G2L platform April 20, 2023

Page 8: Compiler Integration into Computer Science Learning Games

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

Page 9: Compiler Integration into Computer Science Learning Games

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

Page 10: Compiler Integration into Computer Science Learning Games

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

Page 11: Compiler Integration into Computer Science Learning Games

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

Page 12: Compiler Integration into Computer Science Learning Games

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

Page 13: Compiler Integration into Computer Science Learning Games

Traditional Vs. Game Assignments

Neutral5%

Game73%

Traditional20%

13Chaffin - G2L platform

April 20, 2023

Page 14: Compiler Integration into Computer Science Learning Games

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

Page 15: Compiler Integration into Computer Science Learning Games

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

Page 16: Compiler Integration into Computer Science Learning Games

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

Page 17: Compiler Integration into Computer Science Learning Games

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

Page 18: Compiler Integration into Computer Science Learning Games

Thank You!

Amanda Chaffin & Dr. Tiffany Barnes

[email protected]

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.

Page 19: Compiler Integration into Computer Science Learning Games

Engine Components

Page 20: Compiler Integration into Computer Science Learning Games

Chaffin - G2L platform October 29, 2008

20

CompilerControls Architecture

Page 21: Compiler Integration into Computer Science Learning Games

Challenge Objects Flow

Page 22: Compiler Integration into Computer Science Learning Games

Event System Architecture

Chaffin - G2L platform October 29, 2008

22

Page 23: Compiler Integration into Computer Science Learning Games

Events : XML SettingsEach Event has

TypeID Parameters Triggers

Page 24: Compiler Integration into Computer Science Learning Games

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