◆苏绍培 杨建
基于UBL模式的C语言程序设计教学改革与实践研究
◆苏绍培 杨建
(四川科技职业学院互联网+学院 四川 611547)
C语言是学习程序设计的首选入门语言,其掌握程度将直接影响培养方案后续课程的开设效果。本题根据多年课程教学实践,指出该门课程在教学改革中存在一些误区,针对这些问题就如何提高教学效果提出一些建议,并将UBL理念培养模式结合到当前新的教学环境,对提高学生程序素养和学习兴趣有较大的帮助。
C语言程序设计;教学改革;算法;UBL;翻转课堂
C语言程序设计是计算机相关专业的专业必修课,也是高级程序设计的先行课程,学生掌握的水平在一定程度上影响到后续课程的学习效果和学习兴趣的培养。为了提高学生的逻辑思维与编程习惯,为后续其他课程的学习打下基础,本研究结合新的教学环境,指出了该门课程在教学改革中的误区,探索了人才培养、课程规划与建设新模式。
当前一些人认为,诸如C++、JAVA、PHP等语言源程序可读性强,且有强大的集成开发环境的支持,更有利于快速开发各类项目,而C程序语法较复杂,调试烦琐,且开发较大规模的项目比较麻烦,所以在人才培养方案体系中,采用C++、JAVA等语言来替换C课程。但研究发现,如此设计课程体系利弊参半。其一、C作为最经典的结构化语言,其层次清晰,便于按模块化方式组织程序,易于调试和维护,在较大规模的应用程序尤其是在系统底层的开发中有更为明显的优势,特别在嵌入式编程中具有不可替代的地位。其二、根据TIOBE近日公布的2019年12月的编程语言排行榜中[1],C语言仍以绝对优势排名稳居第二,这说明C语言依然在全世界普遍应用。
近年来特别是高职院校对该课程课时进行了缩减,但有的学校缺乏系统的调研论证,未根据专业特点设置充足学时,这样既影响学生专业基础扎实性,也减少了对行业的认知。C语言程序设计是入门课程,不仅能够增强学生对该课程本身的掌握,同时还培养了学生的逻辑思维及编程乐趣。在这一过程中,如果学时不够,学生无法得到充分指导,后果是学生对C语言一知半解,影响后续课程的学习,甚至失去对编程的兴趣。
在已往教学过程中,存在一种现象:学生理论课堂全神贯注,教材章节做满了的笔记,但在实践环节却无从下手,只能照着样例敲代码,不能独立编程解决实际问题。究其原因,这是传统的“满堂灌”、“填鸭式”教学带来的结果。事实证明,沉闷的课堂、繁乱的英文代码、毫无技术含量实例等教学模式与内容只会让学生逐渐失去学习的兴趣。
在传统的教学过程中,以教师为主体,课堂缺乏互动性,不能充分调动学习主动性,学生没有充足的思考与讨论时间。因此,教学改革首先要确定以学生为中心;其次,教师在教学过程中,讲解时间不应超过15分钟,多采取项目驱动、情境任务、分组讨论等多种课堂翻转形式;并以2~4人为单位组建多个项目小组进行课程设计,教师以参与者身份管控课堂,不断调动学生积极性并引导其自主学习、团队合作,从而锻炼学生的编程能力和创新思维。
在压缩课时学时的情况下,教师还应该采取灵活的方式让学生在课外学习,为学生自主学习提供环境与平台[2]。例如,微信群、业余兴趣班、网课等,组织学生积极参加如ACM、蓝桥杯等学科竞赛或计算机软件水平考试。
不乏有一部分教师仍就咬文嚼字讲解语法,而程序算法只字不提。然而,这样毫无创意的课堂,即使学生当堂课记住了也无法在实践中应用、没有算法思维的程序也就没有灵魂[3]。
本研究认为,基础语法甚至不需要讲解,教师可在课前发布任务,并通过网络提供学习素材,让学生课前学习即可。教师在课堂中上以案例讲解为主,着重训练其逻辑思维,并引导学生用算法思维解决工程问题。
UBL模式是以改革创新为动力的新型教学模式。培养模式分为四个阶段,如表1:
表1 UBL人才培养四个阶段
UBL重点是培养学生的可迁移能力,其理念贯穿于整个教学过程中,充分实现了做中学、学中做、教中练方式,使学生较扎实地掌握这门课程。
对思维敏捷、学习能力强的学生可以引导他们做综合型案例,用C语言去解决实际工程问题,指导学生自主学习[4];对于学习能力一般的学生,任务设置必须简单明了,需要教师多指导。
通过开源软件,可以让学生深入理解C 语言的精髓和本质。只有通过真正的实践源码学习才能更快更好提升编程能力。首先,通过开源软件学习,虽起点较高,但入门后能力提升非常快;再者,教师也可以将往届学生做得较成功的案例分享出来供学生进行开源。这样既启发了学生的思维,也培养了学生沟通能力,同时还开阔了学生的视野。
对于一个C开发者来说,良好的程序设计风格尤其重要。良好的编程习惯应该从第一节课开始培养。因此,教师在授课过程中要以软件工程的标准要求,比如:注释标记的使用、程序的段落缩进间距,程序嵌套顺序、代码书写习惯、语义明确的命名等方面的专业规范,使得学生在初学阶段就养成良好的设计风格。
当今是知识爆炸的时代,各类网络资源丰富多彩,教师授课不应停留在自己的课件上。既要合理利用多媒体课件,更要利用网络进行线上学习,充分共享各类精品课程、慕课、微课、金课等优质网络资源,最大化扩宽学生学习面。
本课题所研究学院是一个校企合作的二级学院,学院非常重视C语言程序设计这门课程,多个专业把该课程安排在大一上学期,目的是让新生认知编程、训练学生的逻辑思维能力,提升专业课学习兴趣。为此,本课程成立了“C语言课程建设团队”,该团队开展了诸多教学活动:集体制定课程标准、集中备课;专兼教师共同参与同课异构讲课竞赛活动;相互听课评课、交流教学心得;申报为精品课程、制定金课建设计划等。
通过这些活动,既开阔了师生的眼界,也使得教师把握着教改前沿,对提高教学质量是显而易见的。
教学改革与课程改革相辅相成,UBL人才培养模式能有效促进改革。UBL理念贯穿整个C语言教学过程使得教学目标更明确、人才培养路线更精准,其目标在于培养学生的编程规范与可迁移能力,以便让学生更好地掌握的学习方法。
时代在变、教学环境中的参与者也在变,作为教师,都应义不容辞地参与到教学改革中去,积极发挥驱动作用。
[1]tiobe 2019年12月编程语言排行榜https://www.tiobe.com/tiobe-index[DB/OL],2019,12.
[2]王重英. C语言程序设计教学改革与实践[J]. 软件,2012(5).
[3]罗恺韵,等. 基于翻转课堂的C语言程序设计课程教学模式改革研究[J]. 课程教育研究,2019(46):1-4,60.
[4]彭琼,等. 基于微课的“高级语言程序设计”教学模式改革研究[J]. 微型电脑应用,2018(12).
互联网+在线医疗服务系统研究(课题编号:18ZA0334)