Examining novice programmers' software design strategies through verbal protocol analysis

Research output: Contribution to journalEditorialpeer-review

1 Scopus citations


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.

Original languageEnglish (US)
Pages (from-to)458-470
Number of pages13
JournalInternational Journal of Engineering Education
Issue number2
StatePublished - Jan 1 2018

All Science Journal Classification (ASJC) codes

  • Education
  • Engineering(all)


Dive into the research topics of 'Examining novice programmers' software design strategies through verbal protocol analysis'. Together they form a unique fingerprint.

Cite this