日期:2023-01-24 阅读量:0次 所属栏目:学前教育
《C语言程序设计》作为计算机软件专业的专业基础课程,在学生的专业学习中起着举足轻重的作用。努力培养学生良好的程序设计思想及能力是我们教学的重点和难点。若编程基础课程学习的不扎实,将直接影响后续课程的学习,自然而然也会影响到学生就业以及职业能力。
采取何种有效教学方法以及教学手段才能有效地激发学生学习主动性、提高《C语言》的教学质量,为后续专业课程打好坚实编程基础是我们教学中一直探讨的主要课题。而教学中面临困难有:一是高职学生的学习态度不积极、缺乏学习兴趣;二是基础较差,领会新知识有困难;三是较低的学习能力问题。首当其冲应当是学生的学习兴趣和学习态度。只要有积极端正的学习态度、有浓厚的学习欲望,其它的问题都好解决,即:所谓态度决定成败。
2010年我们尝试组织学生参加了首届“国信蓝桥杯全国软件设计大赛以及创业大赛”,并取得省一等奖一名,省二等、三等奖若干的成绩。获得省一等奖的同学有机会去北京参加全国决赛。这使得一些同学羡慕不已。以此为契机,结合学校对学生毕业的双证要求,以后的几年,我们组织学生参加这项比赛以及全国计算机等级考试,取得了较好的成绩。更为重要的是,参赛并获奖目前已成为相当一部分学生的学习动力,也促进了其它学生学习程序设计的积极性,参加各种竞赛也解决了困扰我们的许多教学问题,参赛也促使我们在《C语言》教学中从教学内容到教学方法上都进行了大胆的尝试和改革。
二、以赛促教,大胆进行教学内容、教学方法的改革
(一)教学内容、教学进度改革
学习任何一种计算机语言都是从基础知识开始,大约前两章的内容均是关于基础知识的介绍,如程序设计的一些基本概念、数据类型、运算符、表达式、常用函数、输入输出等等。这些知识多而零乱,对初学者而言很难一下子全部记住并能做到灵活性运用。常常是费了好长时间学习,结果在后期写程序时学生还是不能做到正确运用。分析各种软件设计大赛试题,发现考察的重点在于分析问题与解决问题的能力以及程序设计思路和方法,很少有对语法的单独考察,即将语法的考查融入程序中。
从教学内容和教学进度上进行大胆改革。对前期的基础知识,选择当前必须掌握的知识进行重点突破和记忆,暂时忽略那些目前还不会用到的知识。如对于数据类型仅介绍基本类型中的int、float、double、char,只要让学生知道存放整型数据就用int,带小数点的数据视数值大小可以用float和double,而字符就用char。算术运算符中我们强调除法运算(/)和求余运算(%)的特殊性。对scanf()、printf( )两个输入输出函数的应用化繁为简,只要求学生能按数据类型正确匹配格式符就行,暂时忽略其余更多更细的格式要求。从而使基础知识教学时间从原来的3周时间缩短为1周,为程序设计的训练赢得时间。那些被暂时忽略的基础知识将随着教学的进行逐步分解到后续各章的讲解以及程序设计训练中,可喜的是这些知识因为采用了这种 “学以致用”的方法,最后不仅没有被忽略而较之以前的教学是更扎实了。这样的改革,优点是避免了过于集中的记忆性基础知识使学生产生厌烦心理,同时为课程核心-程序设计能力的培训赢得了时间。
(二)教学思路与教学方法的大胆改革
几年参赛的经验,可以总结的是参赛学生欠缺的不是语法基础,而是缺乏程序设计思路。即解决问题的思路,一旦将解决思路描述出来,用某种语言正确编写程序不再是困难的事情。所有的有编程经验的人对于这点都深有体会。调试一个程序,最令人头痛的不是程序语法出错,而是语法没错,但结果是错的。因此确定了以培养学生的程序设计能力为核心的教学思路。
实用案例,精讲多练,举一反三。为引导学生的编程兴趣,从选择问题着手,选择生活中常见、实用、难易适中的编程实例。引导学生从如何分析问题开始,到确定解决问题的数学模型,并将这种模型以一种可编程的数值方式描述出来,最后写出正确的C程序。
采用“动态示图”、“生活化想象”方法引导学生正确分析问题。教学中发现相当多的学生不会分析问题,当遇到一个编程题目时,瞪着题目,不动笔,看半天也没一点思路。因此在教学过程中,采用了“动态示图”方法,引导学生怎样一步步分析问题,给学生以示范。用图示的方法勾画出原问题,并以直观动态的方式演示问题的解决过程,找到变化规律,从而找出解决问题的方法。如:在涉及有关数组的问题时,用图示方法,演示数组中数据在该问题中的变化过程,引导学生发现规律,找到正确的编程思路。对有些问题何用编程问题生活化的方法,引导学生进行场景想象。如:在有关字符串处理中,强调字符串的结束以首次遇到‘\0’为标志,而不是依据其存放的数组的大小。因此课堂上引导学生,闭上双眼,把自己当成一个盲人,完成数一个链子(如链子以方形块为结尾)的长度、两个链子的首尾相接等操作。引导学生体会计算机在处理字符串时也是依据对遇到的每一个字符,判断其是否为‘\0’而决定是否应该处理结束。对有些经典算法列举多个应用实例,做到举一反三。
重视常规算法的训练和积累。熟练编程的人知道,好的程序是缘于编程者积累了丰富的编程经验。教学中特别强调学生熟练掌握一些小的编程技巧,并将之灵活运用于程序设计中。因为小的编程技巧不注意,复杂的问题肯定也写不出好程序,大程序本身就是由这些小的技能有机组合起来的。如:求和变量的初始化,交替正负项的正负号的控制、两个变量互换借用第三方、素数的判断条件、一个整数的各位数字的获取、递归程序设计技巧等等。
三、 以赛促学,提高学生的学习积极性
(一)参赛获奖,体验荣誉感、成就感
从第一次参加大赛以来,学院就给予了大力支持,对获奖学生进行奖励。从而使获奖学生体验了为校争光、为班级争光的荣誉感。内心体验了一种自我成就感。这也促使那些没有参赛学生的内心和行动发生变化,明显感觉学生的学习的主动性和积极性提高了很多。
(二)参赛获奖,明显的优势就是就业易、就好业
职业教育面临第一的问题就是学生毕业后的就业。从进入学校开始,学生关心的头等事情就是将来走出校门能有什么样的工作机会。前面几轮参加大赛并获奖同学已相继毕业,他们的就业相比其他同学已经有明显的区别,首先被用人单优先选择,进入了IT行业从事了他们喜欢干的职业。待遇也较其它同学好很多。这些信息反馈给在校学生,反应比较强烈。相当多学生在学习态度上有明显改观。课堂教学中明显感觉师生的互动增多、学生主动学习意识加强。
四、结论
“以赛促教、以赛促学”运用于《C语言程序设计》教学已经收到了较为明显的成效。首先提高了学生的学生积极性;其次促进了教学方法以及教学内容的大胆改革。
本文链接:http://www.qk112.com/lwfw/jiaoyulunwen/xueqianjiaoyu/236846.html上一篇:《工程制图》教学创新发展研究
下一篇:现代教学论在钢琴教学改革中的运用