Examining novice programmers' software design strategies through verbal protocol analysis

Research output: Contribution to journalEditorial

Abstract

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
Volume34
Issue number2
StatePublished - Jan 1 2018

Fingerprint

Software design
Network protocols
Students
Teaching
semester
programming
software
student
expert
lack

All Science Journal Classification (ASJC) codes

  • Education
  • Engineering(all)

Cite this

@article{a33482f59ccb4f2c964ff3b24a4e6015,
title = "Examining novice programmers' software design strategies through verbal protocol analysis",
abstract = "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.",
author = "Kuo-chuan Yeh",
year = "2018",
month = "1",
day = "1",
language = "English (US)",
volume = "34",
pages = "458--470",
journal = "International Journal of Engineering Education",
issn = "0949-149X",
publisher = "Tempus Publications",
number = "2",

}

Examining novice programmers' software design strategies through verbal protocol analysis. / Yeh, Kuo-chuan.

In: International Journal of Engineering Education, Vol. 34, No. 2, 01.01.2018, p. 458-470.

Research output: Contribution to journalEditorial

TY - JOUR

T1 - Examining novice programmers' software design strategies through verbal protocol analysis

AU - Yeh, Kuo-chuan

PY - 2018/1/1

Y1 - 2018/1/1

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

VL - 34

SP - 458

EP - 470

JO - International Journal of Engineering Education

JF - International Journal of Engineering Education

SN - 0949-149X

IS - 2

ER -