结对编程:中小学编程教育的首选教学组织形式
摘要
近年来,在中小学开展编程教育已成趋势。结对编程作为敏捷软件开发的方法,被引入中小学编程教学,但其价值并没有得到应有的重视。鉴于此,文章通过综述国外研究文献中对结对编程教学实践的研究发现,阐明了结对编程对于培养学生编程自信、帮助学生快速适应编程文化的独特优势,并总结了配对原则等结对编程有效实施的关键环节,论证了“结对编程是中小学编程教育的首选教学组织形式”,有助于推动结对编程在中小学编程教育的实践应用与推广。
一、结对编程的独特优势
与项目式编程中多人分工独自编程的组织形式相比,基于出声思维的双人协作结对编程规程简单,结对学生双方的对话让编程思维显性化,加快了即时反馈的频率和效率,有利于学习并掌握计算思维逻辑。此外,结对编程还能有效消解学生对计算机编程学习的恐惧。
基于丰富的实证研究结果,以及对独立编程、项目式编程和结对编程的比较,本研究认为结对编程是编程教育中卓有成效的教学活动组织形式。中小学阶段是培养学生编程兴趣和能力的初始阶段,采用结对编程教学组织形式,可以有效保护并保持学生学习编程的兴趣和自信,支持其在相互支持和鼓励中快速、扎实地掌握编程的基本技能。
二、结对方式的多视角研究
从互帮互助的角度来看,教师可能希望有编程经验的学生与没有编程经验的学生结对搭配。有关结对规则影响结对编程学习效果的其它研究也表明:结对出现问题的关键可能不在于学生的年龄、性别、能力等特征,而在于结对同伴之间能否建立平等关系。一般来说,中小学学生编程能力差别不大,且适应能力强,有实证研究发现良好合作的结对双方其角色分工往往并不是泾渭分明的,而是可能在合作过程中自然出现“教师—学生”或“思考者—实干家”等有效且充满活力的学生角色分工变体。在编程教育领域,对女生和弱势群体学生的研究也对学生结对编程策略有所启发。
三、结对编程的常见问题
1.“独立编程+需要时讨论”与结对编程哪个学习效果更好?
仍有教师认为对初学者来说,结对编程并非必要,因为程序不长,独立编程的学习速度似乎更快——Shah等的研究证实了这一点:与独立编程相比,结对编程的小学生需要更多时间才能完成编程任务,因为学生刚开展结对编程时,沟通与合作会占用相当一部分的时间。
2.怎样有效地开展结对编程?
虽然结对编程有出声思维、合作学习等促进深度学习的基因,但在实施过程中如果学生不理解这些内涵,也难以达到理想的教学效果。
3.结对编程真的能培养学生的独立编程能力吗?
结对编程能否培养学生的独立编程能力是教师