autograder presentation

24
Auto-Grading Parallel Programs Building plugins for WebCAT Team Lead: Max Grossman Team Member: Maha Aziz, Anant Tibrewal, Anna Chi

Upload: chi-heng

Post on 13-Apr-2017

273 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Autograder presentation

Auto-Grading Parallel ProgramsBuilding plugins for WebCAT

Team Lead: Max GrossmanTeam Member: Maha Aziz, Anant Tibrewal, Anna Chi

Page 2: Autograder presentation

● Background & Motivation

● Related Work

● What is WebCAT?

● Workflow

● Feature table

● Our Progress

● Future Plans

Overview

Page 3: Autograder presentation

● Current grading method & Shorts

● A tool for testing and analyzing parallel programs automatically

○ Transparency of the grading process

○ Speed up and simplify the grading process

○ Focus on application performance

○ Possibility of parallel programming MOOC to be created

Background & Motivation

Page 4: Autograder presentation

● Mooshak○ Intended for hosting coding competitions online○ Simple configuration, minimal requirements (apache, linux,

tcl)○ Not very pretty UI

● Marmoset○ Not very extensive Java support

Related Work

Page 5: Autograder presentation

What is WebCAT?

Page 6: Autograder presentation

What is WebCAT?

Page 7: Autograder presentation

from May.11th till now

● Research about multiple autograding systems

Related Work

● Target on WebCat

WebCAT

● Install and set up

● Hackathon plug-in structure

● Feature table

Workflow

Page 8: Autograder presentation

Description Priority (1-5, 1 being the highest)

Viability (1-5, 1 being the highest)

Workload (1-5, 1 being the highest)

Assignee

Code styling/checkstyle grading 2 1 2 Anant

Local grading of HJ-lib programs running in a single thread for correctness

1 1 1 Anant

Remote grading of HJ-lib programs running on multiple cores in a compute cluster

2 3 1 Anna

needs to commit student file to svn before/after running the autograder

1 1 5 Anna

Feature Table

Page 9: Autograder presentation

Description Priority (1-5, 1 being the highest)

Viability (1-5, 1 being the highest)

Workload (1-5, 1 being the highest)

Assignee

give a way for student provided tests to be graded with feedback

3/4 once we have instructor-provided, this is a 2

3

instructor provided tests with limited feedback

1 1 1

Ranking of student submissions based on performance, make it visible to students to turn every homework into a competition (with names anonymized?)

4 4 2 Maha

Statistics on how many students are passing a given test, to give feedback on the relative difficulty of different tests (maybe part of the leaderboard?)

3 4 2

Feature Table

Page 10: Autograder presentation

Description Priority (1-5, 1 being the highest)

Viability (1-5, 1 being the highest)

Workload (1-5, 1 being the highest)

Assignee

Student peer reviews 5 5 1

Different types of static code analysis tools

2 once we have checkstyle, this should be easier (3)

2

NetID authentication 1 3 ? Maha

Feature Table

Page 11: Autograder presentation

Architecture Students

WebCAT

STIC Leaderboard

HomeworkSubmission

Performance Test Results

Student View of Leaderboard

POST Request for New Submissions

SVN

Page 12: Autograder presentation

● Anant

● Maha

● Anna

Our Progress

Page 13: Autograder presentation

Architecture Students

WebCAT

STIC Leaderboard

HomeworkSubmission

Performance Test Results

Student View of Leaderboard

POST Request for New Submissions

SVN

Page 14: Autograder presentation

● Anant

○ Local grading of HJ-lib programs running in a single thread for

correctness

○ Built HJ program with JUnit tests to test WebCAT

■ correctness, performance tests

○ Incorporated the FindBugs static analysis tool to WebCAT

■ tool to detect bugs in code

Our Progress

Page 15: Autograder presentation

Architecture Students

WebCAT

STIC Leaderboard

HomeworkSubmission

Performance Test Results

Student View of Leaderboard

POST Request for New Submissions

SVN

Page 16: Autograder presentation

● Maha

○ “Leaderboard”

○ created a database which contains all student submissions from

the svn

■ includes test names, execution times, core count, etc.

○ database is displayed to webpage for students to see a ranking

of how well their classmates are doing

■ all information on webpage is anonymous

Our Progress

Page 17: Autograder presentation

Leaderboard

Page 18: Autograder presentation

Architecture Students

WebCAT

STIC Leaderboard

HomeworkSubmission

Performance Test Results

Student View of Leaderboard

POST Request for New Submissions

SVN

Page 19: Autograder presentation

student-runs

Handled backup of students files using SVN

student ID

before grading

num of submission

after grading

student ‘s code

Results

Page 20: Autograder presentation

Remote grading on multiple cores in cluster

WebCAT STIC(cluster)

Build folder structure

Run tests

Student code & Performance test

Send performance results back

Page 21: Autograder presentation

Through admin interface

Slurm personal configuration

Page 22: Autograder presentation

DEMO

Page 23: Autograder presentation

● Feature table

● Provide documentations for students and instructors

● EduHPC

Future Plans

Page 24: Autograder presentation

● Current inconvenient grading process

● Research about autograders

● Good points and properties of WebCAT

● Feature Table

● Our progress

● Next steps

Summary