Download presentation
Presentation is loading. Please wait.
Published byAnnette Ryman Modified over 10 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) ExperienceNumber of classes identified 1234567 Complete novice n=115 11445391321 Some Experience n=65 01024191030
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) 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
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 Phase:123 Total classes647295254 Total designs1805953 Total Non-Referenced Class faults388129112 Designs exhibiting this fault97%86%83% Total References to Non-Existent Classes653417 Designs exhibiting this fault28%36%30% Total Single Attribute Misrepresentation faults2083534 Designs exhibiting this fault73%41%36% Total Multiple Attribute Misrepres. faults1812 Designs exhibiting this fault9%19%17% Total Multiple Object Misrepresentation faults200
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
© 2024 SlidePlayer.com. Inc.
All rights reserved.