Learning Centre

Cognitive Complexity of Comprehending Computer Programs

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Sorva, Juha, Dr., Aalto University, Department of Computer Science, Finland
dc.contributor.author Duran, Rodrigo
dc.date.accessioned 2020-06-15T09:00:05Z
dc.date.available 2020-06-15T09:00:05Z
dc.date.issued 2020
dc.identifier.isbn 978-952-60-3944-2 (electronic)
dc.identifier.isbn 978-952-60-3943-5 (printed)
dc.identifier.issn 1799-4942 (electronic)
dc.identifier.issn 1799-4934 (printed)
dc.identifier.issn 1799-4934 (ISSN-L)
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/44858
dc.description.abstract Instructional designers must consider learners' learning trajectories and design tasks that are neither too hard nor too easy for them, sequencing tasks from less to more complex ones. Most efforts in programming assessment have been directed to code writing. However, programming is a multi-faceted skill, including precursory skills such as the comprehension of programs, which recent studies suggest having many interacting elements. An essential part of assessment is characterization of what makes a program unique and how to estimate learner's previous knowledge. When programs are different enough, instructors can intuitively compare the effort demanded of the learners. However, when the difference is subtle, instructors struggle to evaluate program's cognitive demands. Complexity is the metric used to describe the cognitive demands of a task. While research of computational and software engineering metrics of complexity are well-established, little research has been devoted to evaluating the complexity of comprehending programs from learners' perspective. In general, the taxonomies used by Computing Education to evaluate complexity do not evaluate the core content used in programming tasks. While subjective evaluations of difficulty proved to be useful in empirical evaluations, researchers have advocated for a complementary \emph{a priori} analytical metric of complexity to support instructional design. To alleviate such gaps, we seek to develop and present the necessary toolset to define and evaluate the cognitive complexity of comprehending computer programs. We introduce a novel conceptualization, the Rules of Program Behavior, which augment previous notional machine research and offer guidelines to communicate semantics instruction among practitioners and set the expectations of possible learners' mental models. We designed and partially validated a self-evaluation instrument to assess prior programming knowledge, inspired by frameworks successfully used in linguistics. These tools serve as input to our theoretical framework of cognitive complexity, which is based on educational psychology theories. The framework analyzes the cognitive elements present in a given program, and the way these elements are intertwined, extracting measurable aspects of complexity. Finally, we investigated instructors' perspectives of program comprehension and presented activities to foster program comprehension and how such activities could be sequenced to create learning trajectories. Our framework and tools laid the foundation to evaluate the cognitive complexity of program comprehension. We expect that the results of this thesis could support the design of assessment instruments, curricula, and programming languages. Our work particularly fits frameworks that holistically integrate skills and knowledge using authentic tasks while keeping learners' cognitive load in check. We believe that our results can be adapted to other aspects of programming and could help researchers to generate and test hypotheses related to program comprehension. en
dc.format.extent 198 + app. 75
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.publisher Aalto University en
dc.publisher Aalto-yliopisto fi
dc.relation.ispartofseries Aalto University publication series DOCTORAL DISSERTATIONS en
dc.relation.ispartofseries 100/2020
dc.relation.haspart [Publication 1]: Duran, Rodrigo. Design of Rules of Program Behavior for Teaching. In Submitted for publication in February 2020, 9 pages
dc.relation.haspart [Publication 2]: Duran, Rodrigo; Sorva, Juha; Leite, Sofia. Towards an Analysis of Program Complexity From a Cognitive Perspective. In Proceedings of the 2018 ACM Conference on International Computing Education Research (ICER ’18), Espoo, Finland, pages 21-30, August 2018. DOI: 10.1145/3230977.3230986
dc.relation.haspart [Publication 3]: Duran, Rodrigo Silva; Rybicki, Jan-Mikael; Hellas, Arto; Suoranta, Sanna. Towards a Common Instrument for Measuring Prior Programming Knowledge. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, Aberdeen, UK, pages 443-449, 2019. DOI: 10.1145/3304221.3319755
dc.relation.haspart [Publication 4]: Duran, Rodrigo; Rybicki, Jan-Mikael; Sorva, Juha; Hellas, Arto. Exploring the Value of Student Self-Evaluation in Introductory Programming. In Proceedings of the 2019 ACM Conference on International Computing Education Research (ICER ’19), Toronto, CA, pages 121-130, 2019. DOI: 10.1145/3291279.3339407
dc.relation.haspart [Publication 5]: Izu, Cruz; Schulte, Carsten; Aggarwal, Ashish; Cutts, Quintin; Duran, Rodrigo; Gutica, Mirela; Heinemann, Birte; Kraemer, Eileen; Lonati, Violetta; Mirolo, Claudio; Weeda, Renske. Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories. In Proceedings of the 2019 ITiCSE Conference on Working Group Reports, Aberdeen, UK, pages 1-26, 2019. DOI: 10.1145/3344429.3372501
dc.subject.other Computer science en
dc.title Cognitive Complexity of Comprehending Computer Programs en
dc.type G5 Artikkeliväitöskirja fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.contributor.school School of Science en
dc.contributor.department Tietotekniikan laitos fi
dc.contributor.department Department of Computer Science en
dc.subject.keyword complexity en
dc.subject.keyword plans en
dc.subject.keyword self-evaluation en
dc.subject.keyword notional machines en
dc.subject.keyword program comprehension en
dc.identifier.urn URN:ISBN:978-952-60-3944-2
dc.type.dcmitype text en
dc.type.ontasot Doctoral dissertation (article-based) en
dc.type.ontasot Väitöskirja (artikkeli) fi
dc.contributor.supervisor Malmi, Lauri, Prof., Aalto University, Department of Computer Science, Finland
dc.opn Tedre, Matti, Prof., University of Eastern Finland, Finland
dc.contributor.lab Learning + Technology Group (LeTech) en
dc.rev Morrison, Briana, Asst. Prof., University of Nebraska, USA
dc.rev Margulieux, Lauren, Asst. Prof., Georgia State University, USA
dc.date.defence 2020-06-29
local.aalto.acrisexportstatus checked 2020-08-28_1745
local.aalto.formfolder 2020_06_15_klo_10_31
local.aalto.archive yes


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

Statistics