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) ExperienceNumber of classes identified Complete novice n= Some Experience n=
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) Total classes647 Total designs180 Total Non-Referenced Class faults388 Designs exhibiting this fault97% Total References to Non-Existent Classes65 Designs exhibiting this fault28% Total Single Attribute Misrepresentation faults208 Designs exhibiting this fault73% Total Multiple Attribute Misrepresentation faults18 Designs exhibiting this fault9% Total Multiple Object Misrepresentation faults2
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 Phase:123 Total classes Total designs Total Non-Referenced Class faults Designs exhibiting this fault97%86%83% Total References to Non-Existent Classes Designs exhibiting this fault28%36%30% Total Single Attribute Misrepresentation faults Designs exhibiting this fault73%41%36% Total Multiple Attribute Misrepres. faults1812 Designs exhibiting this fault9%19%17% Total Multiple Object Misrepresentation faults200
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