TY - JOUR
T1 - Examining novice programmers' software design strategies through verbal protocol analysis
AU - Yeh, Martin K.C.
N1 - Publisher Copyright:
© 2018 TEMPUS Publications.
PY - 2018
Y1 - 2018
N2 - This paper describes the change in software design strategies used by novice programmers over the course of one semester by using verbal protocol analysis. Our participants were nine first-year undergraduate students (novices), and two experts. Overall, we observed that two types of strategy were used by the novice programmers. The most common strategy observed in our participants, at the beginning of the semester, was a UI-based strategy that focused on system components from the user's perspective. This strategy is often overly simplified with little operational and technical details. Another type of strategy used by novices later in the study was a functional-centered strategy in which novices incorporated programming concepts into their design. Novices who used the latter strategy were able to provide more operational detail than when the UI-based strategy was used. We also found that, due to lack of experience, the designs were still very preliminary. In addition, the novices also exhibited opportunistic design behavior more often than systematic behavior (i.e., a top-down or bottom-up strategy) during the semester. We argue that teaching programming knowledge and skills alone will not develop students' software design knowledge effectively.
AB - This paper describes the change in software design strategies used by novice programmers over the course of one semester by using verbal protocol analysis. Our participants were nine first-year undergraduate students (novices), and two experts. Overall, we observed that two types of strategy were used by the novice programmers. The most common strategy observed in our participants, at the beginning of the semester, was a UI-based strategy that focused on system components from the user's perspective. This strategy is often overly simplified with little operational and technical details. Another type of strategy used by novices later in the study was a functional-centered strategy in which novices incorporated programming concepts into their design. Novices who used the latter strategy were able to provide more operational detail than when the UI-based strategy was used. We also found that, due to lack of experience, the designs were still very preliminary. In addition, the novices also exhibited opportunistic design behavior more often than systematic behavior (i.e., a top-down or bottom-up strategy) during the semester. We argue that teaching programming knowledge and skills alone will not develop students' software design knowledge effectively.
UR - http://www.scopus.com/inward/record.url?scp=85044429010&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85044429010&partnerID=8YFLogxK
M3 - Editorial
AN - SCOPUS:85044429010
SN - 0949-149X
VL - 34
SP - 458
EP - 470
JO - International Journal of Engineering Education
JF - International Journal of Engineering Education
IS - 2
ER -