周会平,毛新军,徐建军
(国防科技大学 计算机学院,湖南 长沙 410003)
计算机程序设计是一门实践性很强的课程,通常依托一门高级程序设计语言培养计算思维和问题求解能力。程序设计课程是一门容易教但又难以教好的课程,因为讲授一门程序语言的语法和语义很容易,但培养学生的问题求解能力很难,特别是兼顾不同基础、不同接受能力的学生培养更难。工程教育认证对本科毕业要求有明确规定,其中与程序设计课程相关的有两条[1]:①工程知识:能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题;②使用现代工具:能够针对复杂的工程问题选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。这需要依托程序设计课程培养两个能力:①针对具体问题建立计算模型并求解的能力;②选择程序语言、开发环境、辅助工具等对复杂工程问题进行分析、设计和编程实现的能力。为了达成能力培养目标,有的老师将课程实践和竞赛引入课堂[2],引入机试进行课程考核改革[3],创建MOOC[4]、线上线下混合式教学[5]等,尝试通过更多的编程实践提高学生的编程能力。
国防科技大学程序设计课程依托C++语言,面向大学一年级新生,学生个体差异性很大:①基础差异。有的学生中学就参加过信息类竞赛,学习过某种高级语言,掌握了一定的编程技巧;有些学生上大学前从来没有接触过电脑,使用电脑时畏手畏脚。……