TY - GEN
T1 - A Metric for Estimating the Difficulty of Programming Problems by Ranking the Constructs in their Solutions
AU - Kalemba, Elsa
AU - Ade-Ibijola, Abejide
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/11
Y1 - 2019/11
N2 - Several studies have been conducted on the complexity of computer programs. Metrics of quantifying computer programs based on programming language, lines of code, or number of modules have been studied. One open problem is: how to measure the complexity of computer programming problems, based on the constructs in their solutions. In this paper, we present a tool called NOPCE (The NOvice Program Complexity Estimator) that measures the complexity of programming problems based on the constructs they contain. NOPCE takes any given novice program written in C# and computes an aggregated weight based on a look-up table of predefined weights for programming constructs. We have presented an evaluation that compares the human perception of problem complexity with that of NOPCE. Results show that, humans agreed with NOPCE on problem ranking, most of the time. This tool may find applications in computer education, where difficulty balancing of programming problems is paramount.
AB - Several studies have been conducted on the complexity of computer programs. Metrics of quantifying computer programs based on programming language, lines of code, or number of modules have been studied. One open problem is: how to measure the complexity of computer programming problems, based on the constructs in their solutions. In this paper, we present a tool called NOPCE (The NOvice Program Complexity Estimator) that measures the complexity of programming problems based on the constructs they contain. NOPCE takes any given novice program written in C# and computes an aggregated weight based on a look-up table of predefined weights for programming constructs. We have presented an evaluation that compares the human perception of problem complexity with that of NOPCE. Results show that, humans agreed with NOPCE on problem ranking, most of the time. This tool may find applications in computer education, where difficulty balancing of programming problems is paramount.
KW - Complexity of Programming Problems
KW - Introductory Programming
KW - Program Construct
KW - Software Metrics
UR - http://www.scopus.com/inward/record.url?scp=85081959679&partnerID=8YFLogxK
U2 - 10.1109/IMITEC45504.2019.9015843
DO - 10.1109/IMITEC45504.2019.9015843
M3 - Conference contribution
AN - SCOPUS:85081959679
T3 - Proceedings - 2019 International Multidisciplinary Information Technology and Engineering Conference, IMITEC 2019
BT - Proceedings - 2019 International Multidisciplinary Information Technology and Engineering Conference, IMITEC 2019
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2019 International Multidisciplinary Information Technology and Engineering Conference, IMITEC 2019
Y2 - 21 November 2019 through 22 November 2019
ER -