您好, 访客   登录/注册

高职非计算机专业《C语言程序设计》课程的教学研究

来源:用户上传      作者: 龚雪

  【摘 要】针对非计算机专业学生学习《C语言程序设计》的特点,制定适合的教学目标,研究适合的教学内容和教学方法,为机电、数控类专业的学生量身打造符合他们专业特点的教学模式。实践证明,此教学模式有明显的教学效果,教学实践方法与措施切实可行,对学习分析问题,解决问题等能力的培养能起到积极的作用。
  【关键词】C语言程序设计 多元化教学法 因材施教 非计算机专业
  目前,大部分高职院校都开设了计算机公共课,我校根据学生的实际需要,为文科专业开设了计算机应用基础、网页设计课程;为理工科专业开设了计算机应用基础、C语言程序设计等课程。本人所从事的是机电、数控类专业《C语言程序设计》课程的教学。作为一门专业基础课,它面向的是非计算机专业的学生。结合多年的教学实践,本人对本课程的课改方面也作了探索。
  一、研究学生现状,确定教学目标
  在学习《C语言程序设计》之前,学生已学习了《计算机应用基础》,已有一定的计算机基本操作能力。但是,对于程序设计,学生之前并没有接触过,而且,对于高职学生而言,教学内容确实比较难。因此,本人在第一次教授本课程时就不敢掉以轻心,每天认真备课,钻研教材,研究教法,以便上好每堂课。然而,学生仍旧抱怨课程枯燥难懂,课堂反应一般。经过多方面研究以及通过请教同行,本人才意识到,在教学过程中,面对手中的书和学生,我都没能把他们放在应有的位置上,只是一味地按照教科书的节奏和内容强行灌输给学生,根本没有去研究他们到底需要什么?不需要什么?怎样讲课才是他们最容易接受的?针对上述情况,我作了以下分析。首先,我面对的是高职学校的学生,他们进校时学习成绩一般,基础知识掌握程度相对较差,学习习惯也不好,学习上不够主动。而开始我对他们的要求过高,上课节奏太快,没有等他们将一个知识点理解透透彻就急忙赶到了下一个知识点,这样导致了学生越来越听不懂,上课像听“天书”。因此,研究学生的实际情况是确定教学目标的首要任务。其次,研究本课程对本专业的作用也是确定教学目标的关键。机电、数控类专业的学生学习《C语言程序设计》课程并不是要在今后能编写C语言程序,而是学习一些编程方法,为以后学习数控编程打好基础。因此,并不需要像要求计算机专业的学生一样能准确无误地写出每一条代码,只要能读懂程序,并且在遇到一个问题时能分析问题,画出流程图。这样,难度就降低了不少,学生不再觉得每堂课都是在听“天书”。同一门课程,面对不同类型的学生,若不研究和考虑他们的实际需求,而只是从教材出发,是绝对不可取的。
  二、因材施教,设计课程内容
  在确定教学目标后,本人对教学内容作了一些修改和完善。
  (一)内容精简,实例广泛
  对于机电、数控类学生而言,不需要学得太广泛,内容“够用”就好。因此,突出了流程控制、数组、函数、指针、结构体等核心内容的教学,削弱了枚举、位运算、宏定义等非核心内容的教授。为加强C语言与机电、数控类专业知识的联系,在实例讲解时除了比较大小、电文译、排序等类型实例外,还增加了具有专业特色的实例,例如:设计一个红绿灯自动变化(红灯:2秒;绿灯:3秒;黄灯:1秒)程序实例。
  (二)理论与实践相结合
  理论与实践互相依托,密不可分。经过一段理论知识的学习以后,很多学生只能将课堂上讲解的程序一字不漏地输入电脑,甚至还把程序抄错,编译时出现的语法问题自己不能解决,要依靠老师替他解决。针对这一现象,本人决定在每次上机实践前将典型错例错误提示信息、错误原因分析等编成错误小结发给学生,尽量使学生能独立完成实践课。上机结束前总结学生出现的常见错误,使其加深够印象,在下次上机时能够避免。
  (三)多方位学习资源
  本课程是校级精品课程,校方制作了精品课程网页放到了学校网站中。学生可以通过注册用户下载电子课件、上机实践指导、上课视频等教学资源以便课后学习,也可以在学习论坛中提问或与其他老师、同学讨论问题,交流心得。
  三、组合多元化教学方法,改善教学效果。
  多年来,我校的C语言教学模式一直比较传统,主要以教师讲授为主,学生往往处于被动接受知识的状态,学生虽然学完了全部内容,但离开老师的帮助,拿到具体问题还是无从下手。本人经过多年教学经验,总结了几种行之有效的教学方法,并结合机电、数控的学科特点,在C语言教学中运用尝试。
  (一)提问教学法
  本人在教学过程中发现,经过一段时间的学习,学生往往提不出问题。然而,问题是最好的老师,没有问题便没有深入。作为教师就要在教学过程中,引导学生发现问题,然后留给学生思考、讨论的时间,之后解决问题,从而更深入地展开学习。
  例如,当学习数组时,教师先设置问题:编程计算10个学生的语文平均成绩。学生根据以前的所学会想到:需要定义10个类型相同的变量用于存放这些成绩。再进一步要求:计算50个学生的语文平均成绩。这时学生就会考虑到,如果按照以前的方法,问题将会变得很复杂,有没有更合理的定义方法呢?此时,当教师引出数组的概念,分析数组的性质时,学生不仅能很容易记住数组的性质,还能知道在什么情况下使用数组类型。这一环扣一环的提问,能激发学生探索的欲望,使学习不再是枯燥、复杂的理论说教,事半功倍。
  (二)分段教学法
  高职学生学习基础差,接受能力也一般,而C语言课程本身就比较难学,要求他们一开始就能自己编程几乎是不可能的,只能“慢慢来”。
  分段教学就是让学生由易到难地学习。第一步,读程序。将相关程序通读一遍,并且为每一条不熟悉的语句写上注释,标明这条语句是干什么用的?为什么用它?要注意些什么?这些过程虽然烦琐,但坚持下来,学习效果还是比较明显的,经过一段时间的训练后,学生基本上可以读懂的程序了。第二步,改程序。将读过的程序功能改一改,改写算法,这一阶段实际上是算法分解组合的过程,学生在这个过程中,能收获很多知识。最后一步,编程序。有了前两步的基础,编程就不再是那么“恐怖”的事了。但一开始,老师还是要适当地给一些提示,锻炼机会多了以后,在老师没有提示的情况下,大部分学生对程序都能有一个大概的思路,对于机电、数控专业的学生而言已经足够了,也有同学可以编写出完整的程序。对于一些学习能力较强的学生,鼓励他们用不同的方法实现同一功能,这样可以加深学生对理论知识的理解,提高融会贯通和举一反三的能力。实践证明,分段教学法是可取的,教学效果是明显的。   (三)案例教学法
  传统教学中,C语言的例题虽然很多,但是相对比较独立、零散,没有层层递进的连续性。案例教学法是将实例的功能由小到大、由简到全,各知识点因新增的功能需要被引入教学。
  例如,在讲授“结构类型数据”时,设计如下案例:
  案例一:定义一个实型变量gz,从键盘输入,如果大于等于500,则输出其值,否则输出信息:“最低工资不得少于500”;
  案例二:定义一个描述职工工号(gh)、姓名(xm)、工资(gz)的结构类型gongren,并定义一个gongren类型变量gr1,并赋初值,如果gr1的工资在500以上,则输出:“××(姓名)的工资是××”,否则输出信息:“最低工资不得少于500”。
  案例三:定义6个gongren型变量gr1、gr2、gr3、gr4、gr5、gr6,并从键盘输入其值,输出平均工资及工资最高的职工信息。
  从案例的设计中可以知道:案例一所用的知识点是学生已掌握的,所以作为“温故”,由学生自己完成;案例二涉及了结构类型数据的使用,在教师辅导和相关资料的指导下,学生对结构类型已基本了解,此时,作为“新知”让学生在简单的案例中实践;案例三为了让学生灵活运用知识解决实际问题,在“新知”的基础上进一步“巩固”相关知识。这样层层推进,使学生每一步学习都有基础,是循序渐进、螺旋式上升的过程,使学生在不断探索中完成学习任务,激发学生的学习兴趣,增强学生的自信心。
  四、结论
  2010-2011学年第一学期,本人按此教学模式实施了教学活动。经过了一学期的实践发现,此教学模式能有效解决我校C语言教学中存在的问题。以上是本人在非计算机专业《C语言程序设计》课程教学中的一点经验和总结,实际上在教学过程中应注意的问题还有很多。总之,只有根据实际情况采用合适的教学模式和教学方法,才能取得最佳的教学效果。
  参考文献:
  [1] 谢延红.C语言程序设计公共课教学模式改革与实践[J].计算机时代:2010,12:45-46.
  [2] 龚静,曾建一.多元教学法在高职《C语言程序设计》课程教学中的实践[J].职业教育研究:2010,4:90-91.
  [3] 蔡艳婧.C语言程序设计教学方法探析[J].福建电脑:2008,5:213,209.
  [4] 蒋漱清.高职非会计专业《会计学》课程改革探讨研究.科苑学谭:2010,3(2):24-27.
  作者简介:
  龚雪(1982.5――),女,职称:讲师,主要从事教学教研方向:C语言程序设计、vb程序设计、微机组装与维护。
转载注明来源:https://www.xzbu.com/1/view-5775002.htm