湖南网络工程职业学院的专业定位是培养具有网络技术特色和创新意识的高素质应用型人才。网络技术特色人才是指能将现代互联网、 物联网知识和技能应用于本专业社会实践的一种专门的人才群体。对于机电专业来说,学生只有掌握好 C 语言程序设计这门课程,才能为后续网络技术课程的学习和实践打好基础,如组态软件技术开发的语言就是以 C 语言为主;C 语言也是其它高级语言的基础, 先学好C 语言再学其它高级语言更能事半功倍 . 机电专业的 C 语言课程讲授,应区别于其它工科专业,要更加注重 C 语言编程应用能力的培养。
如何有针对性地开展 C 语言程序设计课程教学改革并进行实践探索是当前机电专业教学研究的重要课题。
1 课程教学困境
1.1 传统教学内容和大纲不能适用于网络特色的机电专业教学
C 语言程序设计是高职入门级计算机语言课程,一般在大一下学期开设,其前期知识铺垫只有计算机基础,但是却涉及很多概念,语法结构也较复杂枯燥,学生学习起来难度较大。传统的 C 语言教学,一般以语法知识为主线组织教学,侧重于 C 语言语法知识的传授[2],缺少对算法设计的练习,学生课堂参与度较低,遇到问题后不知道如何建立起程序模型,更不会转化为 C 语言程序代码了。
1.2 没有充分发挥为机电专业课程体系服务的作用
作为应用性较强的专业基础课,C 语言程序设计能否学好关乎到学生后期专业课程学习的效果,但高校现行的教学目的一般是对其进行计算机基础语言的普及,授课深度和广度不足,其价值仅仅体现在等级考试中,根本没有起到其在机电专业课程体系中应有的作用。
1.3 实验实践教学效果不理想
传统教学安排,理论教学和实验教学是两门课程,各高校教务部门在排课时难以充分考虑其关联性,往往更多地考虑实验室资源的使用情况,使得两门课程有可能间隔时间很长,更有甚者实验课可能排到理论课程的前面,学生理论学习中的知识不能及时得到实践、指导和消化,使得实践教学为理论学习服务的效果大打折扣,不利于学生学习和掌握;另一方面,很多高校考虑其教师团队的发展和工作量的分配,理论教学和实验教学由两个独立的教研室分别承担,这又存在教师之间的沟通和相互配合问题,同样影响教学效果。
2 学生学习现状分析
由于高职院校学生的生源质量参差不齐,其学习状况与本科院校学生差异较大。 部分成绩较好的学生,学习较刻苦,学习方法掌握较好,能够主动学习;部分学生由于自身基础较差,往往学习主动性不强;还有部分学生仅仅上课被动听讲,基本没有预习、学习、复习的环节,不考虑课程之间的关联性,各门课程成为孤立的“小岛”,导致专业框架和知识体系构建不起来,造成学而不知所为的局面,更打击其学习积极性。
3 教改措施
针对上述问题,我院机电教研室开展了一系列教改措施,在课堂教学中应用了面向工程过程的“六步”教学法,即情景、观察、启发、讨论、实施、评价等六个环节,收到较好的教学效果,师生评价较高。
3.1 讲授模块调整教学内容,加强程序算法的练习
算法,是程序设计的灵魂,没有算法的程序,就如没有骨骼的肉体。 算法也是多变的小精灵,同一个问题,解决的算法可以很多种,但不同的计算机语言其算法的设计过程却是相同的。 所以,学习算法比固定枯燥的语法更有挑战性,也更容易引起学生的学习兴趣,提高学生参与度。 算法是程序设计的思路和实现步骤,如何把具体问题提炼为计算机的执行步骤是算法授课的核心, 关键是问题数学模型的建立。 以流程图作为辅助手段帮助学生梳理思路,把问题可能出现的各种情况都考虑全面,这就需要任课教师长期的实践积累。 典型算法的讲解过程中,任课教师应根据前期分析过程现场绘制其流程图,帮助学生养成写代码前先画流程图的良好的编程习惯。
3.2 改革课堂教学方法,添加讨论模块
俗语说“兴趣是最好的老师”,在授课过程中只有激发学生的学习兴趣,才能达到事半功倍的效果。老师抛出问题后并不急于解答,而是让学生分组讨论其对策,老师只是这个环节中的引导者,学生才是解决问题的主体。 例如学习分支结构中的 if-else 控制语句时,课堂讨论的问题是为两个同学按身高排座位,让学生以分组的方式进行讨论和步骤设计。有些小组当场找两个同学来现场演示并总结,具体过程为:两个同学入座(存数据)---站起来比较身高(判断数据大小)---按照高矮排座(排序),这时学生发现问题:两个座位可能无法完成,需要借助第三个座位。学生在讨论当中自己发现问题,考虑解决方案,最终总结出实现此程序的算法。 此时老师再适时引入延伸问题:三人排座问题,多人排座问题……通过现场的演示和讨论,学生情绪高涨并都能积极参与,最终得到解决方案,特别有成就感,达到了比较好的课堂教学效果。
3.3 拓展模块增加专业开发案例
C 语言是组态软件开发技术的主要语言之一,对机电专业的学生尤为重要,学好了这门语言,相当于取得了从低端到高端的楼梯。在授课中如何向专业靠拢,而不是简单为了计算机等级考试而学习,也是教改的重要内容。 因此,教研室在专业拓展模块中适当添加了组态软件的 C 语言开发简单例程,由易到难,引导学生逐步了解机电专业可以干什么。比如在分支结构的学习后期,增加了案例“食堂刷卡系统的开发”4 种菜品分别标号为 1、2、3、4,其单价对应存放在 c1、c2、c3、c4中,利用分支结构的 switch 语句实现快速刷卡功能。
学生通过类似题目的练习如体重测试系统、评委打分器等,更加明确 C 语言的功能和特点。 引导学生对身边的机电设备仔细观察,课余进行 C 语言模拟,一方面,锻炼了学生的 C 语言编程能力;另一方面,为其后期组态软件开发等专业课的学习储备知识,为“网络技术特色”人才培养奠定良好的基础。
3.4 重视实验模块,理论紧密联系实践
“网络技术特色”人才培养目标是培养适应未来社会信息化、网络化要求的应用型人才,C 语言程序设计更是一门实践性很强的课程,注重编程能力和解决问题能力的培养, 只有加强理论与实践的联系,才能更好地提高学生实践能力。因此,在上课时间的安排上,教研室提前与相关部门沟通,尽量使实验课紧跟理论课的节奏,更好地起到“支撑”作用。 课堂讲授坚持“精讲多练、即学即用、实用为目标”的综合性原则[3],搭建编程设计的框架结构。 实验任务就是在理论课的基础上“实兵演练”,在此过程中,任课教师要督促学生建立程序错误档案[4],记录其在每次程序调试中的错误类型和原因,并有针对性地反复练习 ,能够有效地帮助学生避免后期再犯同样的错误。
另外,在实验室资源不紧张的情况下,教研室还将理论讲授搬到实验室里完成,真正让学生做到理实一体化教学。 此方案实施之前我们充分考虑各种利弊,做好应对措施,如引进“极域”辅助教学系统,利用其监控功能督促学生,并且利用此系统的广播和学生演示等辅助功能,使学生和老师之间的互动和交流更方便。
4 结语
机电教研室根据“网络技术特色”人才培养目标,在充分调研分析的基础上对本校机电专业 C 语言程序设计课程进行了教学改革。教改前后的问卷调查结果对比显示,学生学习积极性和对课堂教学的满意度较以往明显提高,学习效果显着增强,后续专业课学习效果有较为明显的改善。
【参考文献】
[1]孥广柬.网络技术课程与应用信息技术之初探 [J].计算机光盘软件与应用 ,2012(3):20-21.
[2]胡枫.《C 语言程序设计》的案例式教学的设计[J].青海师范大学学报:自然科学版,2010(4):48-51.
[3]钟美.培养应用型人才为目标的 C 语言教学改革[J].计算机教育,2013(16):55-58.
[4]高昂.三本院校 C 语言应用型人才培养方法研究[J].福建电脑,2010(5):20.