Experience report: getting novice programmers to THINK about improving their software development process

Experience report: getting novice programmers to THINK about improving their software development process
复制标题

经验报告:让新手程序员思考改进他们的软件开发过程

DOI:
10.1145/1953163.1953307
复制
发表时间:
2011
期刊:
Proceedings of the 42nd ACM technical symposium on Computer science education
影响因子:
--
通讯作者:
B. Simon
B. Simon
中科院分区:
--
文献类型:
--
作者:
T. VanDeGrift;T. Caruso;N. Hill;B. Simon

文献摘要

被引文献

相似文献

专业知识是通过a)自我反省和b)制定有用的改进计划来发展的[3,10]。传统的新手级编程作业不需要使用这两种技能。我们能让学生考虑改进他们的软件开发过程吗?他们认为哪些方面需要改进?他们能为自己制定有效的计划吗?在这份体验报告中,我们分析了对236名CS1.5学生进行干预的结果,要求他们进行这些活动。我们发现,与编码和测试相比,它们最常在规划方面进行改进。此外,他们制定的计划中,超过一半是如此含糊,以至于在帮助学生确定他们是否确实有所进步方面用处不大。最后,我们要求学生在学期末反思他们在编程作业方面的经历在这一学期中发生了怎样的变化。我们根据教师如何专注于教学来帮助学生对他们自己的软件开发过程变得更具元认知来讨论我们的结果。
Expertise is developed through both a) self-reflection and b) making useful plans for improvement [3, 10]. Traditional novice-level programming assignments require neither of these skills to be used. Could we get students to think about improving their software development processes? What areas would they identify as needing improvement? Could they write effective plans for themselves? In this experience report, we analyze the results of an intervention with 236 CS1.5 students asking them to do these activities. We find that they most commonly make improvements in planning, compared to coding and testing. Additionally, over half of the plans they make are so vague as to be of little use in helping students identify if they have, in fact, improved. Finally, we asked students at the end of the term to reflect on how their experiences with programming assignments changed over the term. We discuss our results in light of how instructors can focus instruction to help students become more meta-cognitive about their own software development processes.