学这门课程有什么用?这是笔者在教学时经常被学生问的问题。一般的学生都有这样一个心理:要学的东西必须有用, 日后用不着的东西就没有必要学。很多学生认为, 他们毕业后不打算从事计算机编程, 一是他们觉得在这方面高职高专的学生和本科生甚至研究生比没有优势, 二是编程对他们来说确实太吃力, 还不如学点其它有意义的课程。
在一些教师眼里, C语言就是一些语法规则, 认为学习语法就好比是学习英语时的单词, 过度让学生重视语法知识, 结果培养出来的学生很会做选择题填空题, 反而对程序设计一点概念都没有。久而久之, 学生自己觉得学得很好了, 理论知识都会, 可是一遇到编程题就大脑一片茫然, 写出来的程序毫无逻辑, 甚至看着完全是门外汉。这违背了程序设计课程的初衷, 也严重的挫伤了学生学习的兴趣和积极性。
现在的C语言教学都是理论教学与实践教学相结合。教师上机时布置的任务一般是和上课所讲例题相关, 或是书本例题, 学生上机则只是将例题原样敲到电脑中, 或是照葫芦画瓢, 根本不去思考语句为什么这样写, 结构为什么这样处理, 而只是为了快点完成任务, 完全不去想还没有别的语句能实现相同功能?长期如此, 上机操作课就退化成了打字练习课了, 丝毫没有起到上机实践的目的, 也起不到培养学生编程能力和培养编程思想的作用。另外, 有的学生把书本上的例题或是习题调试出来了, 就洋洋得意, 以为万事大吉了, 而实际上对很多知识点还没有吃透, 还不会正确的灵活应用。
课程一开始就给学生阐述本门课程的重要性, 工作并不是学好一门课就能胜任的, 也不是说以后不从事编程工作就不用学习C语言了。比如要使用Excel中的函数, 要从事计算机相关的管理工作, 网页设计等都与C语言有一定的联系。现在的软件设计领域中, 虽然直接用C语言编程的不多, 但是火热的C++、Java、C#等等都是以C语言为基础的, 而且很多先进的软件开发工具都有C语言的接口, 可以直接转换成C语言程序代码。所以C语言是软件设计的基础, 是学好其它软件开发工具的一条捷径。只有学好了它, 才能为后续的学习及工作打下坚实的基础。
我们给学生教授C语言的目的不是让学生只学会用C语言进行程序设计, 而是让学生掌握程序设计的基础知识, 具有程序设计的基本理念, 培养学生用计算机解决生产生活中的一些问题, 尤其是本专业学习和科研方面的实际问题。因此, 我们的教学目的不只是教授学生C语言, 而且教授学生程序设计的方法, 调整他们的知识结构和能力结构, 要进一步加强学生理论联系实际能力的培养, 并且达到提高综合能力的目的。
第一, 教师在教学准备工作中, 应详细规划教学内容。根据高职高专培养应用型、技能型人才的目标, 对教材内容进行适当的调整, 分清重难点。比如C语言教材中的输入、输出函数的调用、选择语句、循环语句以及数组就是基础, 是常用的, 这些知识可以用来培养学生的基础能力, 这部分内容在讲解时就要突出, 学生上机实践时就要强化训练。
第二, 在教学过程中要采用合适的教学方法及手段。在讲授新的内容时, 应提出一些简单有趣的实例引导, 把学生引入到程序世界中来, 而不是单一的以教师介绍知识为主。比如:在第一堂课时可以给学生展示一个很多文曲星上都有的“猜数游戏”, 学生会觉得和生活很接近, 很有趣, 上课的积极性会明显提高并积极参与到教学过程中来。告诉学生, 在学习了选择语句后, 他们就可以实现程序的判断部分了;在学习了循环语句后, 就可实现连续猜数, 从而成为一个完整的游戏。这样在整个教学过程都能激发学生的求知欲望。
在教学时也要尽可能多的采用多媒体教学, 把深奥的理论通过浅显的例子讲解的深入浅出。比如讲解判断循环语句时, 可以做个flash动画来演示这一过程, 这样即容易让学生掌握程序的执行过程, 又避免了在黑板上泛泛的讲解的枯燥。
第三, 打破传统的教学模式, 增强学生的学习积极性。传统的上机任务就是布置编程作业题或是完成课后上机习题。而高职学生的基础本来就比较薄弱, 很难在有限的上机时间内完成一个完整的程序设计, 这很容易让学生丧失自信心。因此, 在上机时教师可以给学生一个不完整的程序, 或者是有几处错误的程序, 让学生补充及调试, 这样即可以避免学生做不出来的挫折感, 也可以培养学生积极思考和解决问题的能力。另外, 传统的上课方式是理论课和实践课分离, 这很不利于学生对抽象知识的理解和吸收, 因此可以把理论课搬到机房, 可以讲一段时间接着让学生练一段时间, 及时地让理论知识与实践相结合, 加深对抽象概念的理解。
在教学过程中还可以采用“任务驱动”教学方式, 提高学生分析问题和解决问题的能力。“任务驱动”是一种建立在建构主义教学理论基础上的教学法, 要求在教学过程中, 以完成一个个具体的任务为线索, 把教学内容巧妙地隐含在每个任务之中, 让学生自己提出问题, 并经过思考和教师的点拨, 自己解决问题。比如在讲到“循环结构”的时候, 为学生下达任务书, 首先在任务书中介绍基本的知识点, 然后让学生完成如下任务:采用while语句、do-while语句、for语句分别来完成从1累加到100的程序设计。在这个循序渐进的过程中, 学生还会不断地获得成就感, 逐步形成一个感知心智活动的良性循环, 从而培养出独立探索、勇于开拓进取的自学能力。
第四, 培养学生良好的写代码的习惯, 养成良好的编程风格, 这样的程序读起来或者查错起来更方便、直观。
高职教育的目标是培养应用型人才, 对于这一点, 计算机专业尤为突出。《C语言程序设计》是程序设计能力培养的开始, 是激发学生程序设计兴趣、培养基本程序设计思想和观念、初步形成分析问题、解决问题的关键环节, 它是一门实践性非常强的课程。教学过程中要精心安排合理的实验, 通过大量的编程实践, 提高学生程序设计的综合能力。笔者在此只列举了一些自己的心得与体会, 实际上在教学过程中应注意的问题还有很多, 由于教学目的不同和学生情况的千差万别, 我们要根据实际情况采用合适的教学模式和教学方法。
摘要:《C语言程序设计》是程序设计的入门语言, 也是后续其它课程的基础。而高职高专的学生基础比较薄弱, 学习自律性相对较差, 再加上C语言本身的特点, 导致其教学质量及效果不是很理想, 难以达到高职高专高技能应用型人才的培养目标。本文认真分析存在的问题, 并阐述了具体的解决方法。
关键词:高职高专,C语言,教学,效果
[1] 谭浩强.C语言程序设计 (第三版) [M].北京清华大学出版社, 2008.
[2] 宋海涛.高职院校C语言教学初探[J].今日科苑, 2009.
[3] 周强.C语言教学方法探讨[J].滁州学院学报, 2004.
推荐阅读:
初探高职学校C语言教学方法09-13
浅析词汇教学法提高高职英语的教学效果09-13
提高高职学生英语阅读能力方法初探09-10
如何提高高职院校主题班会的育人效果09-11
高职机电一体化专业C语言程序设计课程教学改革与探索10-26
论析如何提高高职院校学籍管理的效果09-10
提高高职院校非英语专业大学生英语语言能力的课堂教学模式探究09-14
提高中职思想政治课教学效果初探06-28
高职C语言教学方法探究09-11