Explicitly Training Metacognition and Self-Regulation for Computer Programming

dc.contributor.advisorKo, Amy J
dc.contributor.authorLoksa, Dastyni
dc.date.accessioned2020-08-14T03:31:14Z
dc.date.available2020-08-14T03:31:14Z
dc.date.issued2020-08-14
dc.date.submitted2020
dc.descriptionThesis (Ph.D.)--University of Washington, 2020
dc.description.abstractProgramming is one of the most powerful and expressive ways of interacting with computers, but also one of the most challenging to learn. Despite this, people attempting to learn programming often do not receive explicit training or support in developing the mental skills required to succeed. If they are to succeed, learners are often required to independently become self-aware, systematic thinkers while developing and refining strategies to understand and manipulate new abstract concepts in a language they have likely never even seen before. However, to better support everyone who wants to learn programming, this dissertation presents a problem solving framework and a programming self-regulation framework. These frameworks give educators and learners the terms and definitions to discuss and reason about the types of behaviors programmers go through to solve programming problems. They also stand as novel domain specific theories of problem solving for researchers to build upon. To better support learners developing the mental skills necessary for programming, their current skills should be understood. Lacking such an understanding, I conducted two empirical studies investigating the self-regulation of untrained novices, providing a first look into how novices self-regulate while programming, how their self-regulation helps them avoid errors, and where they can use the most support developing critical programming skills. With an understanding of novices’ initial skills, new pedagogical methods should be developed to help learners develop and grow their current skills. To this end, two new pedagogical methods to support programming problem solving were invented and evaluated. The first of these evaluations demonstrate that not only is explicitly teaching programming problem solving possible, it can help learners become more productive and more independent while boosting their self-efficacy and substantiating their belief that they can become programmers. An evaluation of the second pedagogical method, an online tool delivering a novel form of programming instruction that can support instruction at scale, may help learners achieve more programming success.
dc.embargo.termsOpen Access
dc.format.mimetypeapplication/pdf
dc.identifier.otherLoksa_washington_0250E_21812.pdf
dc.identifier.urihttp://hdl.handle.net/1773/46062
dc.language.isoen_US
dc.rightsCC BY
dc.subjectMetacognition
dc.subjectProblem solving
dc.subjectProgramming
dc.subjectSelf-regulation
dc.subjectComputer science
dc.subjectEducation
dc.subject.otherInformation science
dc.titleExplicitly Training Metacognition and Self-Regulation for Computer Programming
dc.typeThesis

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Loksa_washington_0250E_21812.pdf
Size:
8.39 MB
Format:
Adobe Portable Document Format