1 / 24

Identifying Novice Difficulties in Object Oriented Design

Identifying Novice Difficulties in Object Oriented Design. Benjy Thomasson Mark Ratcliffe Lynda Thomas Aberystwyth University, Wales, UK. How are our students doing?. McCracken – complete software development task Lister – tracing code How about design?

lave
Download Presentation

Identifying Novice Difficulties in Object Oriented Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Identifying Novice Difficulties in Object Oriented Design Benjy Thomasson Mark Ratcliffe Lynda Thomas Aberystwyth University, Wales, UK

  2. How are our students doing? • McCracken – complete software development task • Lister – tracing code • How about design? • Garner et al. second most frequent problem was ‘stuck on program design’ • Eckerdal et al. only 9% of graduating seniors produced a ‘reasonable’ design Thomasson, Ratcliffe, Thomas Aberystwyth University

  3. Previous Work • Spohrer and Soloway – putting the pieces together is the hardest • Or-Bach and Lavy – third year students miss necessary classes, place irrelevant attributes within classes • Holland et al. misconceptions lead to errors, for example: • object/variable conflation • object/class conflation • identity/attribute conflation Thomasson, Ratcliffe, Thomas Aberystwyth University

  4. This experiment • Collected beginning students’ designs as simple UML class diagrams • Initially analysed paper designs • Later used designs that were input to Vortex Teaching IDE (more later) • Here we will concentrate on the designs used to perform the categorisation Thomasson, Ratcliffe, Thomas Aberystwyth University

  5. The Problem Model classes for a paperround system identifying the classes required, their attributes (and their methods). An individual paperround consists of a paperboy/papergirl delivering orders to various customers. round = route Thomasson, Ratcliffe, Thomas Aberystwyth University

  6. Basic Possible Model Answer Customer -String name -Address address -Order order -Round round Classes: • Paper • Address • Order • Round • Customer • PaperCarrier Person Thomasson, Ratcliffe, Thomas Aberystwyth University

  7. What kind of students? • 180 students (115 novices, 65 some with experience) working alone • Later studies included some group work and different problems Thomasson, Ratcliffe, Thomas Aberystwyth University

  8. Results (numeric) Thomasson, Ratcliffe, Thomas Aberystwyth University

  9. Results (faults) • Non referenced class faults • Classes that were not used anywhere Thomasson, Ratcliffe, Thomas Aberystwyth University

  10. Results (faults) • References to non-existent classes • Classes used but not defined • These were ‘sanity checked’ for spellings, renamings etc. Thomasson, Ratcliffe, Thomas Aberystwyth University

  11. Results (faults) • Single Attribute Misrepresentations • Class includes single attribute that would be better elsewhere, or • Resorting to String for an attribute Order -paper: String -price: int -date: String -address: String Thomasson, Ratcliffe, Thomas Aberystwyth University

  12. Customer from Design 16 Customer - name : String - houseNum : int - street : String - town : String - postCode : String - newspaper : Order Results (faults) • Multiple Attribute Misrepresentations • Two or more attributes should be bundled Thomasson, Ratcliffe, Thomas Aberystwyth University

  13. Results (faults) • Multiple Object Misrepresentations • Invalid ideas about collections Thomasson, Ratcliffe, Thomas Aberystwyth University

  14. Results (fault statistics) Thomasson, Ratcliffe, Thomas Aberystwyth University

  15. In fact, many faults per design Thomasson, Ratcliffe, Thomas Aberystwyth University

  16. Thomasson, Ratcliffe, Thomas Aberystwyth University

  17. In Later Versions of the Study …… Thomasson, Ratcliffe, Thomas Aberystwyth University

  18. Results were Verified Thomasson, Ratcliffe, Thomas Aberystwyth University

  19. Groups Worked Better Thomasson, Ratcliffe, Thomas Aberystwyth University

  20. Conclusions • Biggest problem is non-referenced classes • Students know they need a class but can’t figure out how to integrate it into design • Next biggest problem – Misrepresentations • Failure to achieve high cohesion • Not exhibited: • Problems identified by Holland: object/variable conflation, object/class conflation, identity/attribute conflation • Collection problems Thomasson, Ratcliffe, Thomas Aberystwyth University

  21. Next Piece of Work • Interactive Case-Based tutoring tool to catch these faults and warn students about them • Next Page Vortex Thomasson, Ratcliffe, Thomas Aberystwyth University

  22. Thomasson, Ratcliffe, Thomas Aberystwyth University

  23. Thomasson, Ratcliffe, Thomas Aberystwyth University

  24. Thomasson, Ratcliffe, Thomas Aberystwyth University

More Related