刘其琛+穆炜炜
摘要:针对高职学院非计算机专业C语言程序设计教学的现状,从培养学生兴趣、教学方式的转变、实践任务的分层和考核形式的转变等方面对该课程的进行了“教学做考”一体化教学的探讨。
关键词:非计算机专业; C语言程序设计;教学改革
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)26-0142-02
职业教育的目标是培养技能型、应用型人才,注重学生的动手操作能力与综合实践能力的培养。C语言程序设计是程序设计基础课程,更在高职高专电子信息类各专业中普遍开设,旨在培养高职学生计算机编程基本思想、编程基本技能及逻辑思维能力,提高学生的综合素质。对于广大非计算机专业如自动控制类、电子类的学生而言,学习该门课程有助于更好地利用计算机来解决本专业领域内的问题。
1 非计算机专业C语言程序设计教学现状
以我院为例,该门课程的总学时80,课程的内容大致分为以下几个部分:一是入门和基础知识,如数据类型、运算符和表达式、输入/输出函数;二是实战部分结构化程序设计方法,如顺序结构、选择结构、循环结构和模块化程序设计中函数的使用;三是特殊的数据类型,如数组、指针、结构体和共用体。按照由浅入深、循序渐进的方式进行课程内容的安排,但在实际的教学实践中仍存在以下问题:
1.1课程的重视度不够
C语言程序设计对于非计算机专业来说,其重视程度远远不及非计算机专业的同学。一方面,很多同学认为该门课程没有直接和所学专业挂钩,相关性不大。另一方面一些同学基础较薄弱,一接触到程序设计中的代码就产生抵触情绪,更谈不上理解算法和程序设计的思路。学习的积极性不高。
1.2实践环节不足
由于课程内容较多,而实际的教学中课时又被压缩,教师往往关注在有限的时间内完成教学的内容,却忽略了学生实践和动手能力是否得到了提高,存在教师讲的多,学生做得少,思考得少的问题。 再加上班级人数众多,经常有一位教师同时辅导两个班级的情况出现,教师很难兼顾所有的学生,存在对学生辅导缺失的情况。
1.3 逻辑思维培养不足
大部分同学初学C语言时,会觉得语法很多,一不小心就会出现错误。于是自然会将注意力集中在语法的细节上,甚至会死记硬背程序,却忽视了程序的逻辑和设计的基本思路。
1.4 考核方式单一
对于非计算机专业的学生,C语言课程学习情况的考核常见为笔试试卷的形式,试题往往比较集中于语法、基础知识的考核,而对于实际动手能力的考核和如何解决问题的过程的考核往往不够,这对学生的学习也会产生一定的导向性。
2 “教学做考”一体化教学模式的改进
针对上述教学中出现的问题,必须改变传统的C语言教学的内容和教学模式,从以下几个方面进行了探索。
2.1从培养学生的兴趣出发
C语言对大部分非计算机专业的同学语法繁琐,界面枯燥,采用“做中学”、“用中学”、“先会后懂”的教学模式,从一个实例出发,让学生学会如何做,然后再讲解这样做的原理。这样更能激发高职学生的学习兴趣和积极性。正所谓“学”和“乐”是不可分离的。
要激发学生的学习兴趣,就要改变传统教学中先理论后实践的方式,教师要认真组织内容、精心设计案例,特别是选择一些C语言趣味编程案例和实用价值高的案例,力求浅显易懂、讲够理论、注重实践。可以把教学的案例进行分解,教师边讲学生边做,让学生参与解决问题的过程,在过程中导入知识点,如此和操作演练相结合,从而降低了C语言的门槛,使学生容易上手。
2.2 丰富“教与学”的方式
传统教学中教师采用纯板书式,或是在多媒体教室中上完理论课程,然后安排学生进行少量的上机实践。许多学生听了便忘,上机时无从下手。这样的教与学是单向的,越来越不符合现代教育发展的趋势,也达不到教学的效果。从现代的教学观而言,教师不仅应该关注进行易于学生理解的教学,而且,更应该实施学生自身创设学习的教学。
首先,C语言的教学全部在理实一体化机房进行,教师通过电子教室对学生进行教学的管理,如分组、提交作业、师生演示等,这是丰富教学模式的基础。第二,为学生提供优质的教学资源,提高学生自主学习的能力。为此教师将各环节教学内容进行重构,片段化教学的内容。如在介绍输入\输出函数时,分解为字符输出函数putchar(),格式输出函数printf(),字符输入函数getchar(),格式输入函数scanf(),四个独立的知识点。分别提供质量较高的视频课程,便与学生展灵活度较高的自学。第三,除了教师对难点问题的集体讲解,更应鼓励学生以小组为单位进行学习,例如,在课内安排一定的自学时间,分组学习以上四个函数的基本知识,然后以小组为单位讲解,教师则进行难点问题的解答和总结,这样有助于增加生生和师生之间的互动,活跃课堂的气氛,提高学习的积极性。同时,教师也要注意对学生自学内容的选择,不建议选择相对于学生知识水平过难的知识点,这样反而不利于课堂的顺利开展。
2.3实践任务的分层
和任何一门课程的学习一样,每位学生对C语言学习能力和实际应用能力有高低之分,虽然是非计算机专业,但是也有相当一部分学生接触计算机时间较早,甚至已经具备了一定的编程能力。这就需要教师在日常教学中留心观察,争取在较短的时间内锁定学生的学习层次,分配不同的实验任务。具体的办法是分配相宜和可选择的实践任务。可以按难易程度发布多个学习任务,对实践能力较弱的学生分配较容易的,必须完成的基本实践任务,而对于相对理解能力、动手能力强的同学分配提高级任务。为了不挫伤学生的自信心,为每个任务分配不同的分值和时间,采用类似鼓励闯关而不是强制的方式提高学生动手编程的积极性。这样便可以在有限的时间内保证了学习任务的饱满,同时也兼顾到小部分编程能力高的同学。
2.4考核形式的多元化
对学习效果的评价要定性与定量相结合,总结性与过程性相结合,教师评价与小组互评相结合的方式进行。首先,对学生学习效果的评价出了笔试成绩之外,还有学习态度、学习方式以及取得进步大小的考虑,不唯分数论。第二,将C语言学习的内容进行分解后,教师应对每一个学习单元的学习情况进行阶段性的考核,学生自然会关注学习的过程,而不是到了期末展开突击学习或是临时抱佛脚。第三,传统的考核是教师主导的,学生是被考核的对象,而在小组为单位的学习中对学生开展组内自评和组间互评,教师则进行点评和总结。实践表明多元化的评价方式更加的公平合理,同时也提高了学生对课程的关注度和学习的热情。
3 总结
从高等职业教育的培养目标和学生的特点,结合我院非计算机专业C语言程序设计课程的教学现状,秉承教、学、做、考一体化的原则,以激发学生的兴趣为出发点,从组织教学内容、案例的设计、授课的方式、实践任务的分层和多元考核等方面入手,对C语言课程的教学进行了有益的探索和改革,取得了一定的效果,提高了学生的学习兴趣。
参考文献:
[1] 郑富兰,史春秀. 以实践为中心的C程序设计教学[J]. 计算机教育,2013(8): 93.
[2] 王远鹏, 苏虹.高校非计算机专业C语言教学改革与实践[J].计算机教育, 2011(2): 15.
[3] 魏妮妮. 非计算机专业程序设计基础课程教学改革与实践[J].电子制作,2013(22): 93.