20
Asura An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China José Paulo Leal José Carlos Paiva

Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

AsuraAn Environment for Assessment of Programming Challenges using Gamification

CLIS 2018 16th April 2018 Beijing, China

José Paulo Leal José Carlos Paiva

Page 2: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

Outline

Motivation

Proposal

ArchitectureEnki

Game Builder

Game Viewer

Game Evaluator

Tournament Manager

Page 3: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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.

Page 4: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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.

Page 5: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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.

Page 6: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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)

Page 7: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 8: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

Proposal

● Back to our example, this would be the graphical

aspect:

510152025

50

Page 9: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 10: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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)

Page 11: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

Proposal

Facilitate the creation of Asura games

● Target difficulty of creating an ICPC-like problem,

and try to reach it.

04

Page 12: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

Proposal

Page 13: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

Architecture

Page 14: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 15: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 16: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 17: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 18: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 19: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

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

Page 20: Asura Gamification Programming Challenges using An ...€¦ · An Environment for Assessment of Programming Challenges using Gamification CLIS 2018 16th April 2018 Beijing, China

Thank you!

José Paulo [email protected]

José Carlos [email protected]