Teaching Explicit Programming Strategies to Adolescents

被引:33
作者
Ko, Andrew J. [1 ]
LaToza, Thomas D. [2 ]
Hull, Stephen [2 ]
Ko, Ellen A. [3 ]
Kwok, William [1 ]
Quichocho, Jane [1 ]
Akkaraju, Harshitha [1 ]
Pandit, Rishin [4 ]
机构
[1] Univ Washington, Informat Sch, Seattle, WA 98195 USA
[2] George Mason Univ, Dept Comp Sci, Fairfax, VA 22030 USA
[3] Juanita High Sch, Kirkland, WA USA
[4] Thomas Jefferson High Sch Sci & Technol, Alexandria, VA USA
来源
SIGCSE '19: PROCEEDINGS OF THE 50TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION | 2019年
基金
美国国家科学基金会;
关键词
D O I
10.1145/3287324.3287371
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
One way to teach programming problem solving is to teach explicit, step-by-step strategies. While prior work has shown these to be effective in controlled settings, there has been little work investigating their efficacy in classrooms. We conducted a 5-week case study with 17 students aged 15-18, investigating students' sentiments toward two strategies for debugging and code reuse, students' use of scaffolding to execute these strategies, and associations between students' strategy use and their success at independently writing programs in class. We found that while students reported the strategies to be valuable, many had trouble regulating their choice of strategies, defaulting to ineffective trial and error, even when they knew systematic strategies would be more effective. Students that embraced the debugging strategy completed more features in a game development project, but this association was mediated by other factors, such as reliance on help, strategy self-efficacy, and mastery of the programming language used in the class. These results suggest that teaching of strategies may require more explicit instruction on strategy selection and self-regulation.
引用
收藏
页码:469 / 475
页数:7
相关论文
共 23 条
[1]   Does training on self-regulated learning facilitate students' learning with hypermedia? [J].
Azevedo, R ;
Cromley, JG .
JOURNAL OF EDUCATIONAL PSYCHOLOGY, 2004, 96 (03) :523-535
[2]  
Baumeister RF, 2003, HANDBOOK OF SELF AND IDENTITY, P197
[3]   Strategy-based instruction: Lessons learned in teaching the effective and efficient use of computer applications [J].
Bhavnani, Suresh K. ;
Peck, Frederick A. ;
Reif, Frederick .
ACM TRANSACTIONS ON COMPUTER-HUMAN INTERACTION, 2008, 15 (01)
[4]   First steps in programming: A rationale for attention investment models [J].
Blackwell, AF .
IEEE 2002 SYMPOSIA ON HUMAN CENTRIC COMPUTING LANGUAGES AND ENVIRONMENTS, PROCEEDINGS, 2002, :2-10
[5]  
Chmiel R., 2004, SIGCSE Bulletin, V36, P17, DOI 10.1145/1028174.971310
[6]   THE ROLE OF DELIBERATE PRACTICE IN THE ACQUISITION OF EXPERT PERFORMANCE [J].
ERICSSON, KA ;
KRAMPE, RT ;
TESCHROMER, C .
PSYCHOLOGICAL REVIEW, 1993, 100 (03) :363-406
[7]  
Falkner K., 2014, P 2014 C INNOVATION, P291, DOI DOI 10.1145/2591708.2591715
[8]  
Felleisen M., 2018, How to Design Programs: An Introduction to Programming and Computing, V2nd ed.
[9]   Confusing Claims for Data: A Critique of Common Practices for Presenting Qualitative Research on Learning [J].
Hammer, David ;
Berland, Leema K. .
JOURNAL OF THE LEARNING SCIENCES, 2014, 23 (01) :37-46
[10]   Metacognitive Calibration when Learning to Program [J].
Hauswirth, Matthias ;
Adamoli, Andrea .
17TH KOLI CALLING INTERNATIONAL CONFERENCE ON COMPUTING EDUCATION RESEARCH (KOLI CALLING 2017), 2017, :50-59