非计算机专业C语言课程机房教学模式探讨
2011-08-15朱晓燕
朱晓燕
(江汉大学 数学与计算机学院,湖北 武汉 430056)
非计算机专业C语言课程机房教学模式探讨
朱晓燕
(江汉大学 数学与计算机学院,湖北 武汉 430056)
介绍了高校非计算机专业C语言课程的现状,阐述了机房教学模式的特点。在机房教学过程中采用任务驱动教学法,在保证教学秩序稳定性的前提下,极大提高了机房教学的效率和教学效果。
非计算机专业;C语言;机房教学;任务驱动
一、引言
《C语言程序设计》课程是高校理工类专业的必修课。近几年,计算机类课程的教学正逐步走进机房,在笔者所在高校,非计算机专业C语言课程的机房教学也全面展开。机房教学是一种模式上的创新,这种教学方式大大不同于在教室进行的多媒体课堂教学,也有别于在机房的实验课。针对非计算机专业,如何提高C语言课程机房教学的效率和效果,对教师的组织教学能力提出了更高的要求,成为教师必须面对的一个全新课题。
二、高校非计算机专业C语言课程现状
目前,绝大部分高校在低年级就安排理工类专业学习C语言课程。学生数学基础和计算机背景知识缺乏,对C语言概念难以理解,在学习过程中容易产生惰性心理,自信心和学习积极性就会相对减弱。计算机专业学生有较充足的学时学习C语言,同时还有专门的课程设计学时;而非计算机专业的学生面临着学时数少、教学内容又很广的尴尬。
三、机房教学的特点
采用机房教学模式,具有以下特点:
(一)讲练结合、反馈便捷
传统的C语言课程教学是“多媒体教室+上机辅导”模式;而机房教学模式突出则是教与学过程的一体化,形成了以教师——学生双主体交互模式。在机房教学过程中,教师利用多媒体教学控制平台和网络教学软件,边讲解边演示,效果好;并采用讲练结合的方式,让学生学一段做一段,有助于所学内容的及时消化。这种模式极大地促进了师生情感和问题解惑,学生学习主动性大大提高;同时学生反馈方式便捷,学生可以通过多种渠道向教师反馈自己遇到的问题和学习成果,便于教师及时了解学生的学习情况,并有针对性地进行讲解或指导,有利于提高学生的学习积极性和主动性。
(二)课时分配灵活
传统C语言课堂教学与上机学时比例通常为5:3,上机学时受教学计划限制,缺乏灵活性。采用机房教学模式,课时分配可灵活掌握,重点章节可适时增加学生上机学时比例。
(三)存在的问题
按照正常的教学秩序,机房教学可以得到很好的效果,但实际上由于人为的因素却不尽人意。在机房里,学生操作计算机时具有很强的隐蔽性,比如利用自带移动存储设备,将各种游戏拷入计算机,学生“开小差”的现象时有发生;对于必须当场提交的作业通过网络和移动设备复制一下,时间久了,学生学习成绩下降,没有真正学到东西。
四、机房教学模式中的任务驱动
非计算机专业的学生学习C语言课程存在较大的困难,因此教学方法要有适应性和变化性,在不同的教学环境和教学要求下应使用不同的教学方法。任务驱动法是机房教学模式中最常用和最有效的方法之一,它以任务作为知识的载体,能激发学生的学习兴趣。例如,在C语言教学过程中加入一个典型的总任务来展开教学活动,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”,从而得到清晰的思路、方法和知识的脉络,在完成“任务”的过程中,训练学生的编程思维、培养学生构造算法的能力。
(一)任务驱动
以一个大题目作为长期任务,再按不同功能模块分解开来,形成一个个短期任务。每一章学过之后要求完成一项或几项编程作业,而各章的编程作业不是孤立的,而是相互联系的,实际上它们都是一个较大型较复杂程序的组成部分。这样就可以使学生的任务形成一种连贯性,在整个课程的学习过程中始终都有一个总任务的驱动,而学生又在一个又一个短期任务的驱动下,体验着一次又一次迈向成功的喜悦。
针对非计算机专业,可选取难度适中的任务来贯穿整个教学和实践环节。例如,以建立一个迷你的学生成绩管理系统为总任务,这个总任务要求如下:建立一个文本菜单,要求能够实现成绩的录入、插入、删除、查询、排序、退出等功能。在学习了scanf和printf之后,要求并引导学生利用main函数实现输出文本菜单的功能;学习了选择结构之后,要求学生利用if或switch实现菜单项的选择;学习了循环结构,则要求学生实现菜单项的可重复选择,直到选择“退出”菜单项;学习了数组,要求学生实现成绩的批量输入;学习了相关算法之后,要求学生实现成绩的插入、删除、查询和排序功能;学习了函数,就要求学生将以上的算法功能用函数给模块化;学到结构体,则利用结构体数组去实现不同学生的几门功课成绩的处理;学习了文件之后,可引导学生实现从文件中读取数据和将各种处理结果写入文件中的功能。当学生学完整个课程,并完成了平时要求的各项短期任务之后,他们会非常有成就感——原来通过简单的程序拼装,就可以构成一个比较复杂的程序。这也在潜移默化中培养了学生采用各个击破的方法解决实际问题的意识。最后,让学生从整体的角度来审视整个程序的设计,并通过上机进行综合调试,从而达到提高编程能力的目的。
因为非计算机专业的理、工科学生也有不同层次,总任务的选取还应结合实际情况有针对性的提出案例,避免出现“吃不了”和“吃不饱”的现象。
(二)任务与机房教学的融合
在总任务选取之后,应结合机房教学的特点,把握课堂节奏,在每次教学过程中通过任务驱动,适时地穿插讲解知识点,并引导学生完成相应的短期任务。
在教学活动中,还应结合教学内容和教学对象的不同,而采用不同的教学方法,如案例讲解、错例分析、讨论教学、小组教学等方式。
五、提高机房教学的效率
(一)保证教学秩序的稳定性
为解决机房教学过程中可能存在的问题,保证教学秩序的稳定性,提高机房教学的效率和效果,教师应合理利用多媒体教学控制平台,利用屏幕广播、屏幕监视和远程控制等网络管理功能有效进行课程教学和课堂管理。同时实验管理方面也应从技术上给予有利的支撑。
(二)课堂信息量适中,建立并完善实验训练体系
“百讲不如一练”,在每次的机房教学活动中,课堂讲解的信息量不宜过多。C语言教学的重点应该是“如何解决问题”,而不应把大部分的时间放在讲解语法规则和语句格式上,避免学生一拿到任务后就首先琢磨怎么定义变量,用哪条语句,这样当然设计不出好的程序。而应该先把问题进行合理的解析,考虑最佳算法。在实验环节,还应有一套完整的实验训练体系,遵循“阅读——模仿——改写——编写程序”的上机实践训练思路,来引导学生学习C语言。
(三)提高学生自主学习能力
“授之以鱼,不如授之以渔”,提高学生的学习能力,让学生学会学习,教师起到非常关键的作用。学生如何学习,每个学生各有方法,有的主动接受知识,更多的是被动接受知识。在机房教学过程中,教师应该更多地设计自主型学习的课堂,让学生真正成为学习的主人,激发学生的学习C语言的兴趣,发挥学生的创造性和学习自主性。
六、结语
本文阐述了高校非计算机专业C语言课程现状,结合机房教学模式下的特点,采用任务驱动的教学方法,增强了学生在教学过程中的参与意识,提高了学习兴趣,调动了学习的积极性和主动性。教师通过在多媒体机房中的教学和管理,充分提高了教学效率和教学质量。
[1]陈刚.C语言程序设计[M].北京:清华大学出版社,2010.
[2]孙华峰,曹跃球.计算机课程机房教学规律探究[J].高等教育研究学报,2007.
[3]马星光,宋亦旭,张文苑.运用技术手段消除机房教学的干扰因素[J].计算机教育,2008.