Download presentation
Presentation is loading. Please wait.
Published byRobyn Patrick Modified over 8 years ago
1
Identifying Novice Difficulties in Object Oriented Design Benjy Thomasson Mark Ratcliffe Lynda Thomas Aberystwyth University, Wales, UK
2
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
3
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
4
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
5
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
6
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
7
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
8
Thomasson, Ratcliffe, Thomas Aberystwyth University8 Results (numeric) 03101924100Some Experience n=65 12133945141Complete novice n=115 7654321 Number of classes identifiedExperience
9
Thomasson, Ratcliffe, Thomas Aberystwyth University9 Results (faults) Non referenced class faults –Classes that were not used anywhere
10
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.
11
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
12
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
13
Thomasson, Ratcliffe, Thomas Aberystwyth University13 Results (faults) Multiple Object Misrepresentations –Invalid ideas about collections
14
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
15
Thomasson, Ratcliffe, Thomas Aberystwyth University15 In fact, many faults per design
16
Thomasson, Ratcliffe, Thomas Aberystwyth University16
17
Thomasson, Ratcliffe, Thomas Aberystwyth University17 In Later Versions of the Study ……
18
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 3435208Total Single Attribute Misrepresentation faults 30%36%28% Designs exhibiting this fault 173465Total References to Non-Existent Classes 83%86%97% Designs exhibiting this fault 112129388Total Non-Referenced Class faults 5359180Total designs 254295647Total classes 321Phase:
19
Thomasson, Ratcliffe, Thomas Aberystwyth University19 Groups Worked Better
20
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
21
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
22
Thomasson, Ratcliffe, Thomas Aberystwyth University22
23
Thomasson, Ratcliffe, Thomas Aberystwyth University23
24
Thomasson, Ratcliffe, Thomas Aberystwyth University24
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.