Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
AsuraAn Environment for Assessment of Programming Challenges using Gamification
CLIS 2018 16th April 2018 Beijing, China
José Paulo Leal José Carlos Paiva
Outline
Motivation
Proposal
ArchitectureEnki
Game Builder
Game Viewer
Game Evaluator
Tournament Manager
Motivation
Why we choose to build this environment?
● Mastering programming requires practice.
● Time spent during lab classes is not enough.
● (1) Lack of practice → (2) Lack of understanding → (3) Loss of motivation → Goto (1)
● Need to break this loop.
Motivation
Why students should program in their free time?
● Free time is to enjoy! Programming can be a real headache for newbies. Nothing fun!
● It is also a monotonous activity.
● Playing games is the other side of the coin.
Proposal
01 Create game-based exercises instead of traditional
programming exercises
● Students code Software Agents (SAs) to play the game.
● Evaluation is based on the performance of SAs against
other SAs.
Proposal
Our example: a target shooting game
● Challenge: Shoot 5 times from an unknown initial
position (x, y) at a fixed distance from the target
and make the largest summed score
● Variables: shoot angles (vertical and horizontal)
Proposal
Bring graphical game-like feedback to Asura challenges
● Automatic judges typically output a message only
saying “Accepted” or “Wrong Answer”.
● Feedback of games is very attractive and informative to
players.
● Approach: display the behavior of the SA during the
game in a movie.
02
Proposal
● Back to our example, this would be the graphical
aspect:
510152025
50
Proposal
Define a goal for an Asura game
● Goals are crucial for games.
● Asura games are not an exception.
● Once the time to submit SAs ends, educators are
able to organize tournaments, similar to those
found on traditional games and sports.
● The ultimate goal is to beat up all the other SAs.
03
Proposal
● Back to our example, we can define a tournament
for this game
○ One knockout stage
○ Two players per match
○ Best score wins (5 shots)
Proposal
Facilitate the creation of Asura games
● Target difficulty of creating an ICPC-like problem,
and try to reach it.
04
Proposal
Architecture
Enki
● Web-based learning environment combining:
○ content presentation
○ automatic assessment
○ sequencing of educational resources
○ gamification features
● Avoids the need to install complex tools
● Prepares students to development tools such as IDEs
Game Builder
● Java framework for building Asura challenges
○ provides means to easily build the game movie
○ defines a game state interface
○ contains an abstract game manager that can be extended for specific games
● CLI tool allows to generate and package Asura challenges with a single command
Game Viewer - Tournament Mode
● Interactive viewer○ view the full path of any player
during the tournament
○ view a specific match
○ navigate through stages
○ see final rankings
Game Viewer - Movie Mode
● A movie is a set of frames
● Each frame has
○ items
○ messages
○ status of the SA
● An item contains
○ a reference to a sprite
○ spatial information of the
sprite
○ Transformations’ details
Game Evaluator
● Mooshak’s automated judge ○ classifies a submission according to a set of inputs and their
expected outputs○ analysis has two parts: static and dynamic○ each submission is evaluated in a black-box
● Game Evaluator extends Mooshak evaluation○ static analysis is kept○ dynamic analysis is leveraged by the game manager
■ multiple submissions running in the same environment
■ manager writes state updates to the submission’s standard input
■ manager reads player action from the submission’s standard output
Manager
Submission 1
Submission N
...out
out
in
in
Read Stream
Write Stream
Tournament Manager
● Embedded into Mooshak’s
Administration GUI
○ choose participants
○ define the structure
■ type of matches
■ number of stages
■ structure of stages
● Each stage will generate
○ a set of rounds
○ an inner ranking
● Each round contains
○ a set of matches