exploring the impact of planning and design in the development of programming practice
DESCRIPTION
Emphasizing planning and design in small-scale, individual programming has been the subject of processes as the Personal Software Process (PSP), mostly targeted to education in process-orientation. However, there is a lack of evidence about the impact these practices have in the quality of the final product in concrete educational settings. This paper reports on data gathered in the context of a data structure course lab, contrasting the outcomes of students that followed the PSP and those that did not. The results point out that attention to some process activities rather than going straight to programming correlate with better outcomes.TRANSCRIPT
Exploring the impact of planning and design in the development of
programming practiceprogramming practice
Jesús Cáceres Tello
MCCE’08
Programing assignments CS1 courses
E l b d • Theorical part• Early abandonment• Evaluation tracks
• Theorical part• Lab worksEvaluation tracks
– Greater dedication to understand
– Analyzing problemsTreating problems– Treating problems
Lack of a proper, disciplined approach to programming
SolutionsSolutions•• …
• MethodologiesMethodologies• …
• Appreciate and use (design, i d di )review and coding)
• Analysis of daily datay y• Practice disciplined in form of
proccesses (SE courses)proccesses (SE courses)
Methodologygy
P l S ft PPersonal Software Process
• “…guide to a disciplined and structured h t d l i ft ” (SEI)approach to developing software.” (SEI)
• Used in educational contexts (Wohlin y Wesslen, 1998)
• Planing, quality, productivity and cost estimatedestimated
• Scripts -> self-learning and self-assessment
Case StudyCase Study• 60 students of Data Structures course60 students of Data Structures course
– 30 PSP Group– 30 PSP Group– 30 Control Group
• Profile: no introduced to SE processesAssignment ID Objectives Weight Start week End week
ASN1 Definition and management of stacks 30% 1 4
ASN2 Definition and management priority queue 30% 5 9
ASN3 Definition and management of binary trees 40% 10 14
ScriptScript
•Planning•Desing•Coding•Compilation•Testing
Data gathered for each of the assignments.
Data gatheredData gathered
Assignment ID Planning Design Coding Compilation Testing
ASN1 4.5(3.3)
11.5 (5.5)
135.0 (35.9)
44.4 (11.7)
14.2 (8.6)
ASN2 10.1 (3.8)
22.6 (6.8)
105 (37.3)
34.3 (11.0)
18.8 (8.4)
ASN3 15.4 (2.0)
34.2 (6.8)
87.7 (28.8)
27.1 (9.3)
18.3 (4.68)
Time means and standard deviation of each phase. p
Standard deviation 3th assignmentStandard deviation 3th assignment
140160
d at
100120140
mpl
oyed
age
406080
of ti
me
emea
ch s
t
02040
Uni
ts o
00 1 2 3 4 5 6
Stages in the development of Practice
Times spent in each phasesTimes spent in each phases
140
160
100
120140
Planif icación
Diseño
6080
100 Diseño
Codif icación
Compilacion
2040
60 Compilacion
Testeo
0ASN1 ASN2 ASN3
QualificationsQualifications 10
6 388
9
10s 6,385,37
4,38 4,65
6
7
ficat
ions
PSP G4,2 4,3
2
3
4
Qua
lif PSP GroupControl Group
0
1
First Second Third
Pratices
Qualifications obtained by the two study groupsQualifications obtained by the two study groups
Pearson’s correlation coefficientsPearson s correlation coefficients
Assignment ID Planning Design Coding Compilation Testing
ASN1 0.47 0.60 -0.73 -0.47 0.15
ASN2 0.44 0.40 -0.64 -0.43 -0.01
ASN3 0.13 0.30 -0.27 -0.01 -0.22
Coefficients between time spent in each phase and the marks p pobtained by each student
ConclusionsConclusions
• Benefits as a preparation for SE courses• Grades connect time spent in design andGrades connect time spent in design and
planning phases
• Methodologies use not coding quality
• Quality criteria with source code metrics• Quality criteria with source code metrics• Increase the reliability conclusions
Thank youThank you
Jesús Cáceres TelloJesús Cáceres Tello
Dpto. Ciencias de la ComputaciónUniversidad de Alcalá