于 延,周国辉,邵晶波,李志聪,李红宇
(哈尔滨师范大学 计算机科学与信息工程学院,黑龙江 哈尔滨 150025)
高级语言程序设计(C语言)课程是高等院校计算机类相关专业核心基础课程,是“数据结构”、“算法分析”/等专业课的先修基础课程。为了适应应用型人才培养需要,提高教学效率和效果,哈尔滨师范大学开展“计算机系统能力课程群”建设工作,成立“高级语言程序设计”课程组,并申请混合式教学模式改革项目,针对C语言程序设计课程进行教学改革。
文献[1]中提出,课程建设目的是为了提高教学效果和质量,实现专业培养目标,是为专业建设目标服务的。目前各高校使用的C语言教材大多存在以下问题:①教材体例基本相同,采用“章-节-小节”三级或四级目录,知识结构及编排顺序雷同,章节内容安排和前后次序基本一致;②章节知识相对独立,前后缺乏联系和贯通,不能成为有机整体,不适合学生自学;③理论叙述多、案例程序少,很少涉及应用,忽略学生创新思维能力的挖掘和培养;④C语言细节缺乏必要阐释,一些较常见知识点有遗漏。教师还发现传统教材普遍存在体系结构学生不适应、例题习题数学化、内容偏重语法等问题[2]。
课程建设另一个重要内容就是教学方法改革,现代教学理念中,建构主义学习理论、任务驱动式、讨论式、启发式、研究型学习模式越来越多被应用于课堂教学。传统C语言教材由于存在前述诸多问题,限制了课堂教学形式的多样化和现代化,使课堂教学难以出新。教师往往停留在简单复述教材文字、演示教材例题的层次上,这与教材内容趋同、单一,缺少足够案例和思考练习空间有很大关系。所以教材建设是教学方法改革的前提和保障。
课程组建设的C语言新教材采用“章-节”两级目录结构,“章-节-知识单元”三级体例结构编写。表1是传统教材与学院建设教材的体例(教材部分目录)对比。
表1 传统教材与学院建设教材体例对比
课题组在研究教材体例和内容安排时遵循以下原则:
(1)按照学生认识事物的规律确定内容和顺序。本着“先认识-再接触-然后了解-最后亲密相处”的原则,按着人类认识事物的规则进行介绍和讲解。通过程序案例和运行实践,讲解理论知识,让学生在“做中学”,“不愤不启,不悱不发”。
(2)压力均衡、难点分散,既要保证章节独立性,又要保证章节连贯性。课题组经过科学合理分解,教材每节都由若干知识单元组成,每个知识单元相对独立又前后关联,容量适当且难度递进。这一特性决定了该教材非常适合MOOC或微课等网络教学模式,让学生随时随地在短时间内能完成一个知识单元的学习。
(3)语言生动活泼,科学性与通俗性并重。新教材致力于深入浅出、循序渐进、环环相扣、互相照应的方式为学生介绍C语言。表2对比了传统教材与笔者建设教材的部分文字,可见后者语言更亲切、活泼。
表2 传统教材与建设教材文字对比(第1章第1节)
(4)先实践后理论,实践与理论并重,以案例和任务驱动教学。从表2还可以看出,全书开篇就带领学生认识C语言程序,然后再通过程序分析形式进行讲解。全书以440多个程序清单作为案例和任务,引领学生学习C语言知识。
(5)鼓励一题多解、培养学生创新能力。学生对一题多解类的题目有很大的兴趣,通过对一个问题不同解法的探究,能激发学生学习热情,培养学生发散思维能力和创新精神[3]。
建设新教材的同时,辅助教学资源建设也是必不可少的。为了打造全方位立体化教学环境,团队还建设了《C语言程序设计安全教程学习辅导》、《C语言实验与课程设计教程》、多媒体教学课件等资源。课题组还设计开发了“C语言课堂教学系统”软件,辅助课堂教学。
教材建设是课程建设的重要前提和保障,课题组编写的《C语言程序设计案例教程》教学中也取得了较好效果和成绩。教材特有的“章-节-知识单元”体例设计特别适合MOOC教学。几年来,学院培养的学生在全国软件大赛、省级程序设计竞赛、ACM/ICPC大学生程序设计竞赛中都取得了好成绩。