Identifying Novice Difficulties in Object Oriented Design Benjy Thomasson Mark Ratcliffe Lynda Thomas Aberystwyth University, Wales, UK
Thomasson, Ratcliffe, Thomas Aberystwyth University2 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 University3 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 University4 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 University5 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 University6 Basic Possible Model Answer Classes: Paper Address Order Round Customer PaperCarrier Person Customer -String name -Address address -Order order -Round round
Thomasson, Ratcliffe, Thomas Aberystwyth University7 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 University8 Results (numeric) Some Experience n= Complete novice n= Number of classes identifiedExperience
Thomasson, Ratcliffe, Thomas Aberystwyth University9 Results (faults) Non referenced class faults –Classes that were not used anywhere
Thomasson, Ratcliffe, Thomas Aberystwyth University10 Results (faults) References to non-existent classes –Classes used but not defined –These were ‘sanity checked’ for spellings, renamings etc.
Thomasson, Ratcliffe, Thomas Aberystwyth University11 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 University12 Results (faults) Multiple Attribute Misrepresentations –Two or more attributes should be bundled - name : String - houseNum : int - street : String - town : String - postCode : String - newspaper : Order Customer Customer from Design 16
Thomasson, Ratcliffe, Thomas Aberystwyth University13 Results (faults) Multiple Object Misrepresentations –Invalid ideas about collections
Thomasson, Ratcliffe, Thomas Aberystwyth University14 Results (fault statistics) 2Total Multiple Object Misrepresentation faults 9% Designs exhibiting this fault 18Total Multiple Attribute Misrepresentation faults 73% Designs exhibiting this fault 208Total Single Attribute Misrepresentation faults 28% Designs exhibiting this fault 65Total References to Non-Existent Classes 97% Designs exhibiting this fault 388Total Non-Referenced Class faults 180Total designs 647Total classes
Thomasson, Ratcliffe, Thomas Aberystwyth University15 In fact, many faults per design
Thomasson, Ratcliffe, Thomas Aberystwyth University16
Thomasson, Ratcliffe, Thomas Aberystwyth University17 In Later Versions of the Study ……
Thomasson, Ratcliffe, Thomas Aberystwyth University18 Results were Verified 002Total Multiple Object Misrepresentation faults 17%19%9% Designs exhibiting this fault 12 18Total Multiple Attribute Misrepres. faults 36%41%73% Designs exhibiting this fault Total Single Attribute Misrepresentation faults 30%36%28% Designs exhibiting this fault Total References to Non-Existent Classes 83%86%97% Designs exhibiting this fault Total Non-Referenced Class faults Total designs Total classes 321Phase:
Thomasson, Ratcliffe, Thomas Aberystwyth University19 Groups Worked Better
Thomasson, Ratcliffe, Thomas Aberystwyth University20 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 University21 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 University22
Thomasson, Ratcliffe, Thomas Aberystwyth University23
Thomasson, Ratcliffe, Thomas Aberystwyth University24