论文网
首页 职业教育教育技术学正文

程序设计课程小班试点

  • 投稿韩东
  • 更新时间2015-10-09
  • 阅读量894次
  • 评分4
  • 18
  • 0

戴波,周世杰,陈文宇,卢光辉,丘志杰,黄郦生

(电子科技大学 计算机科学与工程学院,四川 成都 611731)

摘要:针对程序设计课程存在的理论与编程实践学时安排矛盾以及实验教学中师生配比不够、实验辅导不足等问题,提出加强预习干预引导、实战演练、课堂教师辅导和实验指导以及增加学生分组互助学习、学生讨论、成果演示等手段,结合目前国内外取得良好教学效果的翻转课堂教学法、微课视频资源实现翻转教学,并拟在小班试点改进后推广。

教育期刊网 http://www.jyqkw.com
关键词 :程序设计课程;翻转课堂;微课视频;小班教学

第一作者简介:戴波,女,讲师,研究方向为并行算法与图像处理,daibo@uestc.edu.cn。

0 引言

为了全面贯彻落实 《教育部关于全面提高高等教育质量的若干意见》 (教高[2012]4 号)精神,不断深化本科人才培养模式改革,构建研究型大学本科人才培养新体系,培养高素质拔尖创新人才,《电子科技大学本科人才培养方案修订指导意见》以通识课程、学科基础课程、学科拓展课程、专业核心课程、实践类核心课程、个性化课程6个课程模块的构建为核心,推动课程的整合和优化,搭建个性化、多元化的人才培养平台,促进学生全面、个性发展,其理工类课程模块与学时要求如图1所示。

基于学校的培养理念,计算机科学与工程学院将培养目标定位在培养掌握计算机基本理论和基本知识,接受从事研究与应用计算机的基本训练,具有研究和开发计算机软、硬件基本能力的高级人才。程序设计课程是计算机专业的核心基础,涉及程序设计语言(C语言)、数据结构、算法设计与分析、面向对象语言(C++/C#/Java)、设计模式和软件工程等多门课程。我们分析当前教学中存在的如课程分割零碎、课程之间连贯性差、不同课程内容重复较多、对后续课程支撑力度不大、教学手段落后与师资队伍建设不足等问题,在课程、实验和团队建设等方面做了一系列研究探索,如采用递增式的项目驱动教学分级培训学生程序设计技能,组建程序设计基础团队,重新设计与整合关联课程,采用自动化批改程序软件,建立题库与项目库等方案,并在小班连续2年进行试点,取得良好效果,2014年开始在全年级推广[1]。

1 推广后的程序设计课程现状与调查分析

1.1 推广后的程序设计课程现状

小班试点在旧有培养方案的基础上进行,C语言和C++课程内容有整合,但仍然与其他班级一样分开教学和参加统一的期末考试,便于与其他班级对比教学效果。2014年,我们基于新的培养方案在全年级进行合并后的程序设计语言教学,同时面临如下现状。

(1)内容多,时间紧,以前的两门课程合并成为一门课程之后,课时数量是以前一门课程的课时数量,而不是两门课程课时数量的总和。

(2)导论课没有打下基础,如对于计算机硬件及工作流程的初步认识、内存管理方式的理解、鼠标键盘的熟悉、操作系统和办公软件的熟悉与使用等。

(3)课程合并后,两门课程的教师总数增加,班级人数由120人以上/班减少为70人/班,达不到学校120人/班配置助教的条件,没有助教,作业批改量大,上机辅导忙不过来,上机考试监考教师人数不够。实践证明,每次实验课教师能够辅导到的学生人数不超过10人。

1.2 推广后的程序设计课程调查

课程结束后,7个班的7名教师和480名学生分别发放调查问卷,其中回收的有效反馈调查表为教师7份,学生186份。

1) 教师调查反馈。

(1)合并后教学时间紧,学生掌握所有内容有难度,存在部分学生学习积极性不高,如上课玩手机和到课率不高等情况。

(2)每班上机相关练习题、实验、综合实验均超过20题,有的班级达到50道题以上。上机题目兼具应用性和趣味性。

(3)导师辅导的上机训练题量大。

(4)基础类型的实验和练习题完成情况良好,综合性的实验和练习题只有部分学生能够完成。

2)学生调查反馈。

(1)有编程基础的学生在高中阶段学习过的编程语言种类有8种,66%的学生学习过C/C++,普遍表现出对目前教学状况非常满意,在教师指导下比高中学习得更深入,能够学习到很多原理性的东西;同时也表示希望能够给予更多的课后学习指导,提供工程训练机会。有编程基础的部分学生仍然感觉上课速度快。

(2)没有编程基础的学生认为目前教学难度合适的达73%, 较难/难的达22%,简单的达5%;普遍希望教师讲解得更细致,课堂上能够演示编程过程,再多增加上机辅导、上机作业和练习题,能够有项目实践机会。

1.3 推广后的期末考试情况与教师试卷分析总结

推广后的期末考试分数对比见表1。

表1的平均比例表明不及格率占比最高,接近1/3,90分以上占比最低,不到10%;同时表明不同班级差别比较大,教师的教学经验对于学习效果很重要,如教师1有多年C语言和C++语言教学经验,其余的教师只从事C语言或者C++语言教学,因此虽然使用同样的教材,但是由于教学经验、教学手段、学生不同,使得学生掌握情况不同。教师6强调大学阶段的学习自觉性,对学生管束比较少,教学方式比较灵活,最终考试效果最差,不及格率达到44.8%,说明学生学习自觉性差,教师的恰当约束对于当前环境下的学生学习非常有必要。

7位教师总结学生的失分点基本一致,主要集中在填空题的细节问题、读程序、写程序和判断题,恰好是编程训练没有过关的体现,这也和各位教师根据考试情况的反思总结一致。教师都反映需要加强编程练习、上机辅导、课上程序演示、程序设计思维训练,但又都觉得编程练习已经很多,上机量也很大,但训练效果却不明显。以冒泡排序为例,教师上课讲,中期考核,期末复习,但是该内容在期末考试中仍然是大的失分点且全年级都呈现这样的现象,这说明在学习过程中有的学生不认真做,有的学生做了但没有真正理解和掌握算法原理、编程基础、调试技术。

教师反思其中一个大的矛盾是理论教学与实践教学的学时需求矛盾:①不讲或者简单讲解基础理论及细节,学生只能依葫芦画瓢而无法举一反三,理论基础不稳固则技术不深入,有程序设计基础的学生则不能进行深入学习;②详细深入讲解需要花费大量时间;③无编程基础的学生对理论学习普遍不感兴趣且由于缺乏经验,对教师讲解的理论理解不够深入,教师在课堂上没有时间进行反复讲解,而学生不得不在应用过程中根据需要反复学习这些基础知识。

为解决这些矛盾,各个教师根据教学经验各有取舍,其中教师5与教师7是以实践为主与理论讲授为主比较突出的2个代表。教师5采用以上机实验为主、理论教授为辅的教学方式,设计上机相关题目超过50题且上机演示编程过程,编程辅导时间多,同时另外找了优秀学生一起对学生进行上机辅导,但期末笔试90分以上的占比9.2%,不及格率为27.7%。教师7以理论讲授为主,对于上机实验辅导严格按照培养方案的16学时,期末笔试考试成绩表明学生上机实验过少,理论掌握并不扎实,90分以上的占比为0.00%,不及格率仍然达到23.1%。以上情况说明“单脚大跨步”的教学方式效果欠佳,但两者结合教学又存在学时数不够的现实问题,此外还存在如下问题:学生认为最难的不是理论学习,而是将理论应用于实际;不少学生需要督促,自觉性差,而教师只有一人,怎么办?

2 改进措施

针对程序设计课程在全年级推广后出现的问题,程序设计教学团队教师积极思考、讨论并试图寻找能够解决现存问题的教学方法。戴尔的经验之塔[2]说明单纯的课堂教学平均只能够达到20%的效果,而具有主动学习的参与、讨论、演讲等教学方法可以达到50%~90%的教学效果。既要在有限的时间内传授基础理论,深入讲解原理和运行机制且可以在实践过程中能够随时查阅学习基础理论,又要在教师人数有限的条件下给予足够的上机实验演示和辅导,教师就需要将一些以记忆和理解为主的知识点放到课前让学生预习,课堂上以项目驱动的方式引导学生加强编程练习并给予辅导。此外,对于一些需要深入分析的问题则可在学生预习的情况下,在课堂上以分组或者集体讨论的方式解决,但存在部分学生不预习而等待教师上课讲解或者学生预习目的性不强、自学能力不够等问题。教学团队教师经过调研发现,最近几年在国内外逐步发展的翻转课堂教学[3]恰好满足有教学理论研究支撑和国内外优秀教学经验借鉴等条件,具体方案如下。

(1)将理论知识的讲解以微课的形式录制成视频,达到学生在教师引导条件下自学的效果,同时在学生完成预习作业后,检验其学习效果以便于学生根据自身情况决定是否还需要反复看视频巩固学习;教师也可以通过学生完成预习作业的情况制订课堂活动安排,协助学生更好地掌握知识。

(2)教师将分析问题、设计思路、流程图绘制、编程、编译链接、调试等演示案例的完整过程录制成视频,让学生可以反复观看临摹,解决初期没有教师在身边编程入门难的问题,达到课堂演示编程的效果,避免课堂上编程占用时间过多、编程代码文字过小后排学生看不清楚等问题。

(3)在课堂上指导学生进行编程练习,解决学生视频学习过程中的疑问、讨论解决实际项目问题的方法及方案的选择。

(4)鼓励优秀学生帮助其他同学,对于帮助其他同学的学生给予平时成绩加分,解决缺乏编程辅导的问题。

(5)在现有培养方案条件下拟用部分班级试点进行翻转教学,部分班级不采用,然后进行效果对比和进一步分析与改进,使其更适合当前的本科教学。

3 结语

基于“全面发展的创新教育”人才培养理念培养高素质拔尖创新人才,除了构建合理的人才培养体系外,还需改进对学生培养更直观有效的课程教学。翻转课堂教学以实践理论“戴尔的经验之塔”和布鲁姆认知教育目标分类模型理论[4]为基础,强调学生在教师的指导下学习,学生是教育的主体,教师的教是为了不教,自主学习具有无可替代的价值[5]。翻转课堂教学法以学生为主体进行研究,能够在有限的教学时间内达到传授知识、教授技能、培养自学能力的目的,可操作性强,是解决现有程序设计课程改革问题的有效方法,但效果和存在的问题还有待多次试点改进及全面推广后具体分析及解决。

教育期刊网 http://www.jyqkw.com
参考文献:

[1] 戴波, 周世杰, 曹晟, 等.“程序设计”课程教学模式的探索[J]. 实验科学与技术, 2012(6): 309-311.

[2] 焦丽珍. 神奇的“经验之塔”:“视听教学法之理论”[J]. 现代教育技术, 2012, 22(6): 126.

[3] 爱课程网. 翻转课堂教学法[EB/OL]. [2014-10-16]. http://www.icourse163.org/course/pku-21016#/info.

[4] Anderson L W, Kmthwohl D R. A Taxonomy for learning, teaching, and assessing: a revision of bloom’s taxonomy of educational objectives[M]. Complete Ed. London:Pearson, 2000: 38-62.

[5] 容莉.自主很重要: 对叶圣陶先生“教是为了不教”教育思想的思考[J]. 文教资料, 2007 (18): 125-126.

(编辑:宋文婷)