Towards an analysis of program complexity from a cognitive perspective

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Standard

Towards an analysis of program complexity from a cognitive perspective. / Duran, Rodrigo; Sorva, Juha; Leite, Sofia.

ICER '18 : Proceedings of the 2018 ACM Conference on International Computing Education Research . ACM DL, 2018. p. 21-30.

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Harvard

Duran, R, Sorva, J & Leite, S 2018, Towards an analysis of program complexity from a cognitive perspective. in ICER '18 : Proceedings of the 2018 ACM Conference on International Computing Education Research . ACM DL, pp. 21-30, ACM Conference on International Computing Education Research, Espoo, Finland, 13/08/2018. https://doi.org/10.1145/3230977.3230986

APA

Duran, R., Sorva, J., & Leite, S. (2018). Towards an analysis of program complexity from a cognitive perspective. In ICER '18 : Proceedings of the 2018 ACM Conference on International Computing Education Research (pp. 21-30). ACM DL. https://doi.org/10.1145/3230977.3230986

Vancouver

Duran R, Sorva J, Leite S. Towards an analysis of program complexity from a cognitive perspective. In ICER '18 : Proceedings of the 2018 ACM Conference on International Computing Education Research . ACM DL. 2018. p. 21-30 https://doi.org/10.1145/3230977.3230986

Author

Duran, Rodrigo ; Sorva, Juha ; Leite, Sofia. / Towards an analysis of program complexity from a cognitive perspective. ICER '18 : Proceedings of the 2018 ACM Conference on International Computing Education Research . ACM DL, 2018. pp. 21-30

Bibtex - Download

@inproceedings{ec70d776419a4e0f944c097d7b874f5b,
title = "Towards an analysis of program complexity from a cognitive perspective",
abstract = "Instructional designers, examiners, and researchers frequently need to assess the complexity of computer programs in their work. However, there is a dearth of established methodologies for assessing the complexity of a program from a learning point of view. In this article, we explore theories and methods for describing programs in terms of the demands they place on human cognition. More specifically, we draw on Cognitive Load Theory and the Model of Hierarchical Complexity in order to extend Soloway's plan-based analysis of programs and apply it at a fine level of granularity. The resulting framework of Cognitive Complexity of Computer Programs~(CCCP) generates metrics for two aspects of a program: \emph{plan depth} and \emph{maximal plan interactivity}. Plan depth reflects the overall complexity of the cognitive schemas that are required for reasoning about the program, and maximal plan interactivity reflects the complexity of interactions between schemas that arise from program composition. Using a number of short programs as case studies, we apply the CCCP to illustrate why one program or construct is more complex than another, to identify dependencies between constructs that a novice programmer needs to learn and to contrast the complexity of different strategies for program composition. Finally, we highlight some areas in computing education and computing education research in which the CCCP could be applied and discuss the upcoming work to validate and refine the CCCP and associated methodology beyond this initial exploration.",
author = "Rodrigo Duran and Juha Sorva and Sofia Leite",
year = "2018",
month = "8",
day = "9",
doi = "10.1145/3230977.3230986",
language = "English",
pages = "21--30",
booktitle = "ICER '18 : Proceedings of the 2018 ACM Conference on International Computing Education Research",
publisher = "ACM DL",

}

RIS - Download

TY - GEN

T1 - Towards an analysis of program complexity from a cognitive perspective

AU - Duran, Rodrigo

AU - Sorva, Juha

AU - Leite, Sofia

PY - 2018/8/9

Y1 - 2018/8/9

N2 - Instructional designers, examiners, and researchers frequently need to assess the complexity of computer programs in their work. However, there is a dearth of established methodologies for assessing the complexity of a program from a learning point of view. In this article, we explore theories and methods for describing programs in terms of the demands they place on human cognition. More specifically, we draw on Cognitive Load Theory and the Model of Hierarchical Complexity in order to extend Soloway's plan-based analysis of programs and apply it at a fine level of granularity. The resulting framework of Cognitive Complexity of Computer Programs~(CCCP) generates metrics for two aspects of a program: \emph{plan depth} and \emph{maximal plan interactivity}. Plan depth reflects the overall complexity of the cognitive schemas that are required for reasoning about the program, and maximal plan interactivity reflects the complexity of interactions between schemas that arise from program composition. Using a number of short programs as case studies, we apply the CCCP to illustrate why one program or construct is more complex than another, to identify dependencies between constructs that a novice programmer needs to learn and to contrast the complexity of different strategies for program composition. Finally, we highlight some areas in computing education and computing education research in which the CCCP could be applied and discuss the upcoming work to validate and refine the CCCP and associated methodology beyond this initial exploration.

AB - Instructional designers, examiners, and researchers frequently need to assess the complexity of computer programs in their work. However, there is a dearth of established methodologies for assessing the complexity of a program from a learning point of view. In this article, we explore theories and methods for describing programs in terms of the demands they place on human cognition. More specifically, we draw on Cognitive Load Theory and the Model of Hierarchical Complexity in order to extend Soloway's plan-based analysis of programs and apply it at a fine level of granularity. The resulting framework of Cognitive Complexity of Computer Programs~(CCCP) generates metrics for two aspects of a program: \emph{plan depth} and \emph{maximal plan interactivity}. Plan depth reflects the overall complexity of the cognitive schemas that are required for reasoning about the program, and maximal plan interactivity reflects the complexity of interactions between schemas that arise from program composition. Using a number of short programs as case studies, we apply the CCCP to illustrate why one program or construct is more complex than another, to identify dependencies between constructs that a novice programmer needs to learn and to contrast the complexity of different strategies for program composition. Finally, we highlight some areas in computing education and computing education research in which the CCCP could be applied and discuss the upcoming work to validate and refine the CCCP and associated methodology beyond this initial exploration.

U2 - 10.1145/3230977.3230986

DO - 10.1145/3230977.3230986

M3 - Conference contribution

SP - 21

EP - 30

BT - ICER '18 : Proceedings of the 2018 ACM Conference on International Computing Education Research

PB - ACM DL

ER -

ID: 27209479