A theory of instruction for introductory programming skills |
| |
Authors: | Benjamin Xie Dastyni Loksa Greg L Nelson Matthew J Davidson Dongsheng Dong Harrison Kwik |
| |
Institution: | 1. The Information School, University of Washington, Seattle, WA, USAbxie@uw.edu;3. The Information School, University of Washington, Seattle, WA, USA;4. Paul G. Allen School of Computer Science &5. Engineering, University of Washington, Seattle, WA, USA;6. College of Education, University of Washington, Seattle, WA, USA |
| |
Abstract: | ABSTRACTBackground 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. |
| |
Keywords: | Computing education theory of instruction instructional design skill acquisition introductory computer science (CS1) |
|
|