2,470
Views
42
CrossRef citations to date
0
Altmetric
Research Article

A theory of instruction for introductory programming skills

, , , , , , , , & show all
Pages 205-253 | Received 06 Aug 2018, Accepted 02 Jan 2019, Published online: 25 Jan 2019
 

ABSTRACT

Background and Context: Current introductory instruction fails to identify, structure, and sequence the many skills involved in programming.

Objective: We proposed a theory which identifies four distinct skills that novices learn incrementally. These skills are tracing, writing syntax, comprehending templates (reusable abstractions of programming knowledge), and writing code with templates. We theorized that explicit instruction of these skills decreases cognitive demand.

Method: We conducted an exploratory mixed-methods study and compared students’ exercise completion rates, error rates, ability to explain code, and engagement when learning to program. We compared material that reflects this theory to more traditional material that does not distinguish between skills.

Findings: Teaching skills incrementally resulted in improved completion rate on practice exercises, and decreased error rate and improved understanding of the post-test.

Implications: By structuring programming skills such that they can be taught explicitly and incrementally, we can inform instructional design and improve future research on understanding how novice programmers develop understanding.

Acknowledgments

We thank the many pilot study and study participants for their time and thoughtful feedback. We also thank the instructors who helped us iterate on our ideas and recruit participants.

Learning materials (lesson, post-test) and additional study information can be found at https://github.com/codeandcognition/archive-2018cse-xie This material is based upon work supported by the National Science Foundation under Grant No. 1639576, 1703304, 1735123, 1314399, 12566082, and 1829590.

Disclosure statement

No potential conflict of interest was reported by the authors.

Additional information

Funding

This work was supported by the National Science Foundation [1703304], [1735123], [1829590], [12566082], [1639576], [1314399].

Notes on contributors

Benjamin Xie

Benjamin Xie is a Ph.D. student at the University of Washington Information School, advised by Dr. Amy J. Ko in the Code & Cognition Lab. His research is in designing and developing interactions that have learners and intelligent agents collaborate to make learning computing more inclusive, work that spans human-computer interaction, artificial intelligence, and computing education. His vision is to computationally model how people learn programming to develop personalized online learning experiences where the learner is in control. He is a National Science Foundation (NSF) Graduate Research Fellow and was previously an MIT EECS-Google Research and Innovation Scholar. He received his Master's and Bachelor's degrees in computer science from MIT.

Dastyni Loksa

Dastyni Loksa is a Ph.D student at the University of Washington, advised by Prof. Amy J. Ko in the Code & Cognition Lab. His research interests center on the mental processes of problem solving and design, specifically the metacognitive and self-regulation skills necessary for successful computer programming. He seeks to develop methods of learning and teaching cognitive skills for programming so that we can support learners from any background and cognitive style. He received his Bachelor’s degree in informatics at University of California, Irvine and his Master’s degree in information science from University of Washington.

Greg L. Nelson

Greg L. Nelson is a Ph.D student at the University of Washington, advised by Prof. Amy J. Ko in the Code & Cognition Lab. His research interests center on rigorous theories of computer programming knowledge and using them to create better learning environments, but also include scientific process, statistical methods, HCI, and augmented reality. He seeks to foster a world where anyone can learn programming and sees programming as a medium that promises to revolutionize society, similar to widespread natural language literacy and the printing press. He has received a National Science Foundation (NSF) Graduate Research Fellowship, and received his BS in Computer Science and Physics from Georgetown; he hopes you judge him and others using the merits and an understanding of their work and, where he was taught to be a critical and reflective scientist and take awards and titles.

Matthew J. Davidson

Matthew J. Davidson is a Ph.D. student in Measurement & Statistics at University of Washington, College of Education. His research centers on assessment of writing, especially of English language learners. He is particularly interested in investigating methods for analyzing data captured during the process of writing. He hopes to develop ways to use that data both as a tool for formative assessment and to investigate the validity of student response processes on writing tests. Ultimately, he is committed to making assessment data support student learning. He received his bachelor’s degree in Philosophy, History, and English from the University of Texas, and his Master’s of Education in Learning Sciences from the University of Washington.

Dongsheng Dong

Dongsheng Dong is a Ph.D. student in Measurement & Statistics at University of Washington, College of Education. Her research interests center on the development of K-12 STEM assessments, item development, and game-based learning. She is especially interested in developing and optimizing test items and test accommodations for K-12 STEM assessments which could better reflect students’ real potentials and assure the validity of assessments. She is also enthusiastic about using different methodologies to explore and describe students’ thinking and behavior patterns through large-scale assessments. She received her Master’s degree in TESOL from University of Pennsylvania, Graduate School of Education.

Harrison Kwik

Harrison Kwik is a recent graduate of the University of Washington Computer Science department, but still continues to collaborate with members of the Code & Cognition Lab. During his undergraduate career, he assisted with various projects within the lab and also independently conducted research on transfer students within computer science. He is interested in continuing to pursue research and plans on applying to Ph.D. programs in the next coming months.

Alex Hui Tan

Alex Hui Tan is a recent graduate of the University of Washington Information School, and a current software developer at Hazel Analytics, Inc.. As an undergraduate, Alex taught Scratch, HTML and CSS to K-8 students through a partnership between Computing Kids and Seattle Public Schools. In pursuit of his interest in computing education, Alex assisted in the Code & Cognition lab, helping prototype tools for programming practice.

Leanne Hwa

Leanne Hwa is a senior at the University of Washington Information School, supporting the Code & Cognition Lab on programming tutors while independently investigating the role of informal computing mentors amongst south Seattle teens. She is passionate about mentorship and representation in STEM and has served various leadership roles within UW Women in Informatics and also as a teaching assistant for the introductory Informatics course.

Min Li

Min Li, an associate professor in Measurement & Statistics at College of Education, University of Washington, is an assessment expert with a deep interest in understanding how student learning can be accurately and adequately assessed both in large-scale testing and classroom settings. Her work reflects a combination of cognitive science and psychometric approaches in various projects on STEM assessments, including examining cognitive demands of science items, measurement issues in constructing instructionally sensitive test items, effects of context characteristics on item parameters, issues of testing linguistic minority students in mathematics and science, analyzing teachers’ classroom assessment practices, development of instruments to evaluate teachers’ assessment practices, and use of science notebooks as assessment tools. She received her bachelor’s degree in psychology from Beijing Normal University and Ph.D. in education from Stanford University.

Amy J. Ko

Amy J. Ko is an Associate Professor at the University of Washington Information School and an Adjunct Associate Professor in Computer Science and Engineering. She directs the Code & Cognition Lab, where she invents and evaluates interactions between people and code, spanning the areas of human-computer interaction, computing education, and software engineering. She is the author of over 100 peer-reviewed publications, 9 receiving best paper awards and 3 receiving most influential paper awards. In 2013, she co-founded AnswerDash, a SaaS company offering instant answers on websites using a selection based search technology invented in her lab. In 2010, she was awarded an NSF CAREER award for research on evidence-based bug triage. She received her Ph.D. at the Human-Computer Interaction Institute at Carnegie Mellon University in 2008. She received degrees in Computer Science and Psychology with Honors from Oregon State University in 2002.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.