兴趣驱动的高校计算机程序设计实践教学法
2015-12-07狄岚张军赵燕
狄岚+张军+赵燕
摘要:针对高校计算机程序设计课程教学中普遍存在的被动学习问题,以提高学生学习程序设计的效率为目标,分析了计算机程序设计课程的特点,提出并实践了兴趣驱动的计算机程序设计教学方法。该方法主要包括:比喻法教学,培养兴趣;多媒体课件与黑板相结合,引导兴趣;针对学生能力分类布置作业,激发兴趣。通过教学案例,阐述了在兴趣驱动的教学过程程序设计讲授方法,并列举出了三年来兴趣驱动教学方法的教学效果,为计算机程序设计语言教学提供了有价值的参考。
关键词:兴趣驱动;程序设计;教学法;法教学
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)45-0124-03
21世纪是中国高等教育快速发展的时代,中国高等教育也进入了大众化教育时期。大众化教育时期招收的学生比精英教育时期招收的学生质量总体上要低。因此,在新形势下如何应用当今信息化技术提高教学效率,保证学生最终质量,是需要教育工作者重点研究和实践的课题[1]。另外,随着网络教育尤其是MOOC(massive open online courses)的出现,教育资源共享是当前高等教育的趋势,为广大受教育者提供了更加开放的学习途径。学生可以更加自由的选择学生方式和安排自己的学习计划。相应的,高校教师的角色也在发生着改变,从以过去讲台为主的教师主导课堂授课,到internet时代的网络远程授课,再到目前广为推崇的MOOC翻转式教学,大学教师从课程的教授者变为一个教学的服务者,甚至是MOOC剧本的编辑或演员。在这种形式下,好的教师能够更加广泛的分享他们的教学成果,同门课程授课的老师之间的竞争更加透明化,缺乏经验的教师具备了更多的上升空间;学生也能够具有更多的选择机会,他们能够选择更好的老师授课,大大节省了学习的时间,提高了学习的效率。因此,如何在新的高等教学形式下,扮演好教师的角色是一个值得研究的课题
一、计算机程序设计课程的特点及存在的问题
计算机程序设计课程是高等教育中的一门重要基础课程,对计算机专业的学生,它是许多后续专业课程的基础;对非计算机专业的学生,它是信息技术知识的基本课程。其特点是概念多、涉及面广、难度大、抽象性高,同时有很强的实践性和应用性[2]。
计算机程序设计课程中有许多概念,从描述方式来看有通过例子描述、利用其他概念阐明、用抽象定义描述等,从种类来看有语法概念、编程概念等;部分概念难度大,需要多种内容混合描述。程序设计还涉及到编程,基本概念清晰,描述问题的算法清楚,编程就简单了。但是描述问题的算法相当复杂,这也是程序设计课程的关键和难点。在许多应用问题中,就是因为算法描述不好使问题的解决困难重重。而且,解决同一个问题的算法并不唯一,算法的效率问题就成为程序设计的难点。要求学生能够独立编制程序,完成相应的任务,需要理论和实践相结合。
为了让学生分析问题,解决实际问题的能力得到很好的训练,就必须合理安排计算机程序设计课程的教学计划和内容,本研究就是为达到该目的,根据作者多年来在该课程的教学中遇见的问题,例举如下:
1.课程内容枯燥。计算机程序设计课程普遍被认为是比较难学的课程,这是因为课程内容偏于理论、语法较复杂、概念抽象不易理解等特点,思维要求较高[3]。再有,学生在调试程序的过程中缺乏耐心,导致学生在学习时不容易获得立竿见影的学习效果。因此,大部分学生对计算机程序设计课程都感到枯燥乏味,缺乏兴趣。
2.教学手段简单。近几年,多媒体教学手段已经广泛被使用,多媒体授课是当前计算机程序设计课堂教学的主要形式,多媒体教学有助于形象概念的解释和难点的解剖,对复杂问题的形象描述起到有效作用;好的多媒体教学课件还能提高教学效率和学生的学习质量。但是,过分的依赖于多媒体教学,由于授课速度控制上的难度,会使很多学生上课时难以跟上课堂节奏,影响课堂授课效果[4]。
3.学生群体差异大。程序设计课程在高校的授课阶段一般是放在大一的第一学期,随着高校的扩招,新入学的学生起点不同,生源质量参差不齐。在授课过程中,学生的接受能力不同,导致授课进度也不一样。一部分学生在高中就学过程序课,参加过建模比赛,具备一定的计算机程序设计能力,基础相对较好;另一部分学生,高中时从未接触过程序设计,学习目标与实践知识水平存在很大差异,这差异给教学的组织实施带来了很大困难。
4.学习不是为了应用。程序设计是一门应用性很强的课程,程序设计的目的就像学习一门外语,学习的目的如果是为了学分,这门外语很难学好。很多同学大学4年学习程序设计的目的就是为了这个学分,死记硬背考过这门课程,然后忘得一干二净。这门课程的学习过程自然也很痛苦,根本没有印象用程序设计解决了哪些问题,只是记忆语法和句法。这样的程序设计课程自然就没有人喜欢。
二、兴趣驱动学习的教学法
学生的兴趣是学习关键,只有有兴趣才能真正自主地投入到探索、研究中去。心理学研究表明,当学生的心理处于压抑、不满,失去信心时将直接阻碍、削弱甚至中断智力活动,破坏学习的向心力,当然也谈不上学习效率。学生对学习的内在兴趣,是学习的强大动力。孔子曾说过:“知之者不如好之者,好之者不如乐之者”。爱因斯坦说:“兴趣是最好老师,它永远胜过责任感”。有兴趣才能产生爱好,爱好它就要去实践它,达到乐在其中,有兴趣才会形成学习的主动性和积极性。在大学教学中,我们把这种从自发的感性的乐趣出发上升为自觉的理性的“认识”过程,这自然会变为立志学好程序设计,成为计算机程序学习的成功者。
兴趣对学生的学习有着神奇的内驱动作用,能变无效为有效,化低效为高效。兴趣驱动学习方法的关键是兴趣,教师通过多种形式的沟通、交流、展示等方式,将学生的兴趣引发出来即可。通过多年的教学实践,我们总结了以下兴趣驱动教学法。
1.比喻法教学,培养兴趣。计算机学科中,有些教学内容比较抽象,不容易被学生接受和理解,作为教师应有能力化繁为简,将深奥的理论讲的通俗易懂,这需要教师多钻研教材教法。在教学中巧用生活中的实例,形象地比喻的方法最容易为学生接受。
如C语言的教学中,主函数和子函数间的数据传递,是学生学习时的不容易理解的。可以用生活中的例子:将主函数和子函数的关系比喻为父亲和儿子的关系,在主函数中调用子函数比喻为父亲叫儿子做事,实参和形参间的参数值传递过程看成是父亲给儿子传递数据,返回值的传递比喻为儿子把计算的结果告诉父亲。这样不照本宣读,学生很容易理解,也培养了对程序设计学习的兴趣。
2.多媒体课件与黑板相结合,引导兴趣。利用多媒体课件教学能够方便、快捷、直观、形象地传授教学内容,一定程度上减轻了教师授课的负担,同时也能够使得课堂更加生动、有趣,从而使课堂气氛更加活跃。但也存在着一些负面影响。如:信息量过大,会使学生缺乏一定的思考过程,也会使教学重点、难点不突出或突出不够。另外,如果一节课过多的依赖多媒体课件,会失去课堂的师生互动环节,很难发挥学生的主动性等。
无论是多媒体还是传统的黑板板书教学方式,其基本要求依然是引导动机,同步思维,结构严谨、说理深刻,虚实结合、表述生动,注意反馈、及时调整。为了发挥多媒体教学在计算机程序设计课程教学中的优点,我们在教学中结合计算机程序设计课的特点,作了一些调整,将多媒体课件与黑板板书相结合。例如,针对多媒体承载的内容过多不容易记忆,我们将重要内容书写在黑板上便于学生参考记忆;在讲解一个大程序前,先把整个程序的框架写在黑板上,预留一些空白部分,和学生们一起讨论如果填写,甚至直接让学生到黑板上来填写,然后把完整的程序用多媒体课件呈现出来,作对比,最后在多媒体上运行程序,看结果。这样一来,引导学生有了思考问题的过程和解决问题的兴趣,加深了对这个程序的理解,课后举一反三,得到事半功倍的效果。
3.针对学生能力分类布置作业,激发兴趣。由于新入学的学生,群体差异大,对课程的接受能力有所不同,我们就把学生进行了分类。对于在高中就学过程序课的学生,他们具备一定的计算机程序设计能力,基础相对较好,分为高段学生;对于高中时从未接触过程序设计,甚至计算机课都没有上过的学生,基础相对差一些,分为低段;剩余的学生,高中时接触过计算机,对程序设计有个大概的了解,这样的学生占大多数,分为中段。
在讲课过程中,求精不求多,尽可能让大部分的学生听懂。让中段、低段的学生上课时回答问题。布置作业时,出两个档次的作业:基本题是根据课堂上讲的例题可以举一反三、类推出来的,每个学生都能完成;提高题是要用还没有讲到的知识点,有一定的自学能力才能完成的。习题课时,老师主要讲解基本题;提高题让高段学生上讲台讲解,主要讲自己的思考过程。
如,在课堂上讲十进制数与二进制、八进制、十六进制等特殊进制数之间的相互转换时,老师先在黑板上详细讲解“十进制数转二进制数”的数学运算过程,然后在黑板上给出程序的基本框架:
当把这个框架在黑板上写完后,挑选一个在讲解的过程中认真听讲的中段或低段的同学,让他上黑板完成这段程序。当这个学生最后完成了这个程序后,不管结果如何,老师带领全班同学热烈鼓掌,增加其自信心,让后和大家一起分析程序。
在布置课后作业时出两类题:基本题:编写子函数my10to8(int x)完成十进制数转为八进制数、子函数my10to16(int x)完成十进制数转为十六进制数,在主函数中输入十进制数。提高题:编写子函数my D to10 (char x[ ],int d)完成特殊进制数转为十进制数,在主函数中输入特殊进制数以及特殊进制(2,8或16)。
经过几周的作业的练习,中段、低段的学生,有一些也逐步跟上来,并开始尝试做提高题。到了期中测试时,大部分学生已经跟上了教学进度,对每一节课的新的内容也充满了求知的欲望,激发了对知识的学习兴趣。
三、兴趣驱动学习法效果与评价
从2012年开始,我们对数字媒体学院的数字媒体技术专业学生实施了兴趣驱动实验教学法的对比教学实验。学院每年这个专业招生一共4个班,两个班实施兴趣驱动教学(称为实验甲班,),另外两个班用非兴趣驱动的教学(称为实验乙班),经过3年的对比实验教学,甲、乙两批学生分别在上课出勤率、作业完成率、期末考试及格率以及全国计算机二级(C语言)考试通过率等方面都发生了变化,对比数据如表1。
从表1中的统计数据可以看出,通过兴趣驱动教学法,学生的计算机语言课程的学习效率和效果都有明显的提高,尤其是全国计算机二级考试的通过率大幅度提升。这表明兴趣驱动的教学法具有较好的推广效果,为计算机语言课程的教学探索提供了很有价值的参考。
四、结语
由于兴趣驱动学习,不仅突破了程序设计的知识难点,而且让学生在解决问题的过程中感受到了程序设计的乐趣,深化了对于程序设计这门课的深刻理解。为了进一步深化兴趣驱动的教学法,课题组正在借助MOOC平台,在计算机语言教学方面投入一个教学团队,争取尽早实现一个适合本单位计算机语言教学的MOOC教学系统。
参考文献:
[1]黄久龙.论中国高等教育大众化及其特征[J].徐州师范大学学报,2006,(3).
[2]狄岚,刘莉.高等教育大众化下的计算机程序教学探讨[J].高等建筑教育,2008,(1).
[3]吴秦.C语言程序设计教学模式探讨[J].教育教学论坛,2014,(42).
[4]张智丰.多媒体教学在计算机程序设计课程中的应用[J].科技教育,2014,(32).