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 |
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.