eAssignment A Case for EMF - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

eAssignment A Case for EMF

Description:

A Case for EMF. Marcel Bruch. Christoph Bockisch. Thorsten Sch fer. Mira Mezini. Talk in a Nutshell. Focus on features and usage of eAssignment. Problem statement ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 17
Provided by: christoph286
Category:
Tags: emf | bruch | case | eassignment

less

Transcript and Presenter's Notes

Title: eAssignment A Case for EMF


1
eAssignment A Case for EMF
  • Marcel Bruch
  • Christoph Bockisch
  • Thorsten Schäfer
  • Mira Mezini

2
Talk in a Nutshell
  • Focus on features and usage of eAssignment
  • Problem statement
  • Computer science courses have programming
    exercises
  • Cant concentrate on primary tasks
  • Different workbenches (IDE, web browser, email,
    spreadsheet)
  • Few secondary tasks automated
  • eAssignment integrated, automated handling of
    assignments
  • Easy to configure / extend (see paper for
    details)
  • Suggestions how to improve Eclipse

3
Example Workflow for an Assignment
  • Goal learn the use of certain API
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment

4
Example Workflow for an Assignment
  • Multiple tools

Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment



5
Example Workflow for an Assignment
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment



6
Example Workflow for an Assignment
2 projects
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student

Teachers maintaintwo projectsper assignment.
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment



7
Example Workflow for an Assignment
2 projects
Different possibleexchange formats.
format
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment



8
Example Workflow for an Assignment
2 projects
repetition
format
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment

Repetitive andautomatable tasks.


9
2 projects
repetition
format
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student

Poor integration,little automation.Can we do
better?- Yes, with eAssignment.
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment



10
eAssignment
2 projects
repetition
format
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment
  • Server based exchange
  • Upload from context menu
  • Download from repository view



11
eAssignment
2 projects
repetition
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment
  • Resources have roles (sample solution, private
    test, student read-only, student read/write)
  • Different publishing modes (assignment, sample
    solution, )



12
eAssignment
repetition
Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment
  • Automatically run checks (JUnit, CheckStyle,
    Implementation Restriction Checker, )



13
eAssignment
  • Manage
  • Courses
  • Students
  • Assignments

Teacher
  • Create same setup as student
  • Run tests
  • Review code
  • Document feedback
  • Rate solution
  • Manage the result
  • Send feedback to student
  • Teacher
  • Download libraries
  • Setup class path and environment variables
  • Implement test drivers and stubs
  • Implement sample solution
  • Publish assignment



14
eAssignment Future Work
  • Reporting
  • Generate detailed reports from automatic checks
  • Increase awareness of mistakes
  • Cross-reviews
  • Let students review student solutions
  • They learn necessity for clean code
  • They see and try to understand other solutions
  • They get more reviews to their solutions
  • Extend distribution facility

15
Evaluation of Eclipse
  • Why Eclipse?
  • General notion of project
  • Many tools already integrated
  • Large community
  • Shortcomings of Eclipse
  • Generic data formats
  • Loose type-safety
  • Data unstructured
  • Examples preference store, extension registry
  • JFace FieldEditors only for preference store
  • Suggestion
  • Use EMF for generically handling typed,
    structured data
  • Implemented in eAssignment

16
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com