uml-test application for automated validation of students’ uml class diagram

9

Click here to load reader

Upload: premek-brada

Post on 16-Apr-2017

179 views

Category:

Education


1 download

TRANSCRIPT

Page 1: UML-test Application for Automated Validation of Students’ UML Class Diagram

Pavel Herout and Premek Brada

CSEE&T 2016, Dallas

UML-test Application for Automated Validation of Students’ UML Class Diagrams Department of Computer Science and Engineering

University of West Bohemia Pilsen, Czech Republic

Page 2: UML-test Application for Automated Validation of Students’ UML Class Diagram

1st year undergraduates ~90 novice students, 1 experienced teacher parallel Intro to programming (Java)

Prepare for routine programming fluency in core O-O programming notions hands-on knowledge of design patterns, collections

Get acquainted with associated practices UML as ex-post code documentation passive experience with automated testing

All needed downstream – algorithms, systems, technologies

Context and teaching goals

UML-test for Automated Validation of Student's Diagrams 2

Page 3: UML-test Application for Automated Validation of Students’ UML Class Diagram

Factors student numbers (90:1) => need for efficiency

limited initial skills => need for feedback and learning

Key parts of the approach 2hr lecture, detailed materials (books, slides, examples)

simple tools – BlueJ, UMLet

homework: 11 tasks, evolving complexity

combination of automated and manual assessment

small group learning and 1:1 only for those that need help

Automate the assessment more than usual

Teaching approach

UML-test for Automated Validation of Student's Diagrams 3

Page 4: UML-test Application for Automated Validation of Students’ UML Class Diagram

Part of a larger scheme. Goals: filter out noise and common mistakes still provide enough learning feedback make assessment more objective and repeatable

UML diagram checking class diagram only (basic code documentation) presence/absence of important diagram elements relation types, cardinality NOT diagram layout and aesthetic

Process:

Automated UML Checking in KIV/OOP

UML-test for Automated Validation of Student's Diagrams 4

Create master diagram

Generate tests, build tool

Check student diagrams

Page 5: UML-test Application for Automated Validation of Students’ UML Class Diagram

Master diagram UMLet

Testing tool Eclipse + Maven project

in-house framework for UXF -> JUnit code generation

build => uml-test-NN.jar + batch variant

Available tweaks levels of testing (configuration), hide tests from students

stop-on-first / check all

UML checking: Preparatory phase

UML-test for Automated Validation of Student's Diagrams 5

Page 6: UML-test Application for Automated Validation of Students’ UML Class Diagram

Students hand in University portal

Validator runs testing .jar (set up by teacher first)

on each hand-in

displays feedback incl. errors

Results linked with detailed error description list

Teacher grades using .jar or batch.jar (no hidden tests)

UML checking: Testing tool use

UML-test for Automated Validation of Student's Diagrams 6

Page 7: UML-test Application for Automated Validation of Students’ UML Class Diagram

First year of full deployment

Teacher observations system lets us analyse if/how students improve unique error codes => statistics scales to small dozens of elements

Data hint at student learning curve ratio errors:tests number of attempts before success

Students: „Even though a programming novice, I do not regret signing up for the course in my first semester. Do not give up at the beginning.“

Experience

UML-test for Automated Validation of Student's Diagrams 7

Page 8: UML-test Application for Automated Validation of Students’ UML Class Diagram

Inspiration and motivation efficiency, ICPC, geeky nature ;-)

Benefits efficiency while maintaining baseline quality and feedback

data to analyse (potentially time series)

Costs and weak aspects effort to develop and maintain supporting tools

not for everyone (adoption levels across the department)

student attitude „program to pass unit tests“

tool feedback does not (most cases) tell how to improve

Discussion

UML-test for Automated Validation of Student's Diagrams 8

Page 9: UML-test Application for Automated Validation of Students’ UML Class Diagram

Automated UML class diagram verification is possible students learn correct code documentation

teacher(s) assess efficiently

Scope needs to be managed introductory year, large student populations, few teachers => assignment count and complexity

simple tools (UMLet + JUnit + test generation framework)

Positive experiences

Work needed on tool & data analysis improvements

Conclusions

UML-test for Automated Validation of Student's Diagrams 9