首页 > 范文大全 > 正文

基于编程语言类课程教学方法的探讨

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于编程语言类课程教学方法的探讨范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:编程语言课程作为计算机专业的核心课程,并具有强实践性的特点。本文根据讲授该类课程时所存在的问题,分别对“案例式”、“项目驱动式”、“分组竞赛式”三种教学方法进行了探讨。提出了在编程语言类课程教学中对三种教学方法结合运用的思想,使该类课程具有更好的授课效果。

关键词:编程语言类;教学方法;案例;项目驱动;分组竞赛

中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2014)42-0213-02

一、编程语言类课程在计算机专业中的重要性

在计算机专业的培养计划中,编程语言类的课程都是重要的必修课程,是计算机核心课程的一部分。目前,大多数中国高校在计算机专业中都开设了“c语言程序设计基础”、“c++程序设计”、“java语言程序设计”三门编程语言类课程。除此之外,还有一些主干课程的实验或课程设计要通过编写程序来实现,以巩固和理解课程的重要知识点。如《数据结构》、《算法分析与设计》和《软件工程》等课程都需要编写一定的程序来学习和理解相关的内容。在计算机专业的就业方面,很多用人单位把考查学生的编程能力也作为了考核的重要一面。由此看来,对编程语言类课程学习的好坏,直接影响到对计算机专业学生的培养质量,以及影响到计算机专业毕业生的就业情况。

二、目前编程语言类课程在授课时存在的问题

(一)教学方法

现在很多高校都借助多媒体课件来完成教学,这样虽然提高了教学效率,并有效地突出了教学重点和难点,但是对编程语言类课程而言,用多媒体课件对程序代码进行讲解,一条语句一条语句地解释,会造成学生在学习过程中一直处在被动学习状态。即使学生理解了整个程序代码的实现过程,也只是把该程序段强加在脑子里,对程序的编写不能进行灵活运用。这样的教学往往会忽视学生对编程语言类课程的设计要求,常常被演变成“填鸭式”教学,使学生在课堂上缺少主动性思考,对编程题不能独立做出答案,在上机实验时也仅仅对书本上现有的一些实例进行编辑调试,一旦运行成功就算完成任务。这种教学方法根本不能让学生掌握如何从一个实际问题入手进行分析、解决问题。造成学生认为学习编程语言课程既枯燥又无用,不能掌握利用计算机解决实际问题的基本思维方式,对计算机程序设计产生畏惧感。

(二)考核方式

编程语言类课程的考核主要体现在考查学生是否掌握编程、设计及分析解决实际问题方面。对这类课程的考核如果还采用单一的笔试考核,不仅会忽视实践环节的考查,而且也无法反映出学生运用编程语言来解决问题的真实情况。

(三)理论和实践脱节

在计算机专业的培养计划中,编程语言类课程的课时安排,基本上都是理论课时和上机课时各占总课时的一半,采用的教学模式多是一种传统教学模式,也就是在教室讲理论,在机房进行实践。由于学生学完理论课后不能马上进入机房进行实践练习,降低了学生对理论知识的理解和记忆,造成了理论和实践脱节,从而使学生在解决问题的能力上也很难得到提高,导致学生碰到实际问题时不会首先从分析问题和思考问题着手,从而降低了该类课程对学生的设计要求。

三、适合编程语言类课程的教学方法

编程语言课程是一种用来解决实际问题的程序设计语言,且独立于计算机硬件,对具体的算法进行描述的课程。也可以这么说,它是一门面向计算机的一种语言类课程,也被称为是计算机语言。既然是语言类课程,就少不了学习其语言的语法、规则。但与学习英语等其他语言类不同的是不仅仅掌握语言的语法和表达,还要掌握如何进行程序设计来解决实际问题。因此,也就不能用讲授英语等语言类课程的教学方法来讲授该类课程。结合编程语言类课程的特点和目前讲授该类课程时存在的问题,可采用如下教学方法:

(一)案例式教学

案例式教学方法就是在教师的指导下,以案例的分析解决为主线,通过对案例中的问题进行分析讨论,激发学生的求知欲和主动性,教给学生分析问题和解决问题的方法和道理。它既是一种互动式的教学方法,更是实现理论联系实际的有效手段。在编程语言类课程的讲授中,可以首先拿出与本节课知识点有关的实际问题,然后通过解决实际问题,引导学生从教材中查找相关内容并进行自主学习,最后通过所学到的知识来解决给出的实际问题。案例式教学在整个的授课过程中,能完全体现出学生主动性思考的主体地位。

下面以讲解c语言程序设计中的选择结构为例,首先给出一个“计算股票经纪人佣金”的案例,即根据股票交易额的不同,股票经纪人佣金的计算方式也不同,总共有六种计算方式,如表一所示:

然后,提示学生“假设交易额为x,经纪人所得佣金为y,那y的值是需要根据x的大小来完成计算的。也就是说,需要先判断x的值属于哪段范围,再选择相应的计算方式,显然前面讲解的顺序结构解决不了这类问题,而是根据条件判断来决定该语句是否执行”。之后让学生对教材中的选择结构章节进行阅读,找出选择结构的语句格式。让学生先根据自己对选择结构的理解写出该案例的实现代码。最后,对选择结构涉及到的知识点及学生在编写代码中出现的共性问题进行简单讲解和总结。

通过案例式教学方法,突出了教学以学生为主导地位,激发了学生的学习兴趣,调动了学生的学习积极性,提高了学生的自学能力和单独思考能力。

(二)项目驱动式教学

项目驱动式教学是将一个与教学内容相关的中、小型项目进行分解展开,贯穿于整个教学过程的一种教学模式[1]。在教学过程中,通过师生互动的方式,学生在项目开发的过程中掌握所学的知识,这样就使学生明白所学的知识“可以做什么”和“如何做”,切实理解和掌握课程所要求的知识和技能,切身体会创新实践的乐趣,真正培养他们分析问题和解决问题的能力。并且将本课程的理论知识和实际应用技能相结合,体现出其实际应用价值。

同样,以讲授c语言课程为例,可以让学生制作一个“学生成绩管理系统”的小项目。根据本课程的教学内容将该项目分解成小模块(如表二所示)。通过学生自主学习来依次设计并实现每个模块的功能。

采用项目驱动教学方法时,需要注意以下三点:第一,在讲授该课程之前,要先对该项目的实现结果进行简单演示和说明,这样做,既可以让学生对该项目有个初步了解,又可以让学生对该课程的学习目的有个感性认识;第二,项目的选取要以所教学的内容为依据和基础,规模不要太大,最好以学生身边的素材来确定项目;第三,项目的设计既要包含教学的基本知识点,又要能充分调动学生思考和解决问题的积极性。

(三)分组竞赛式教学

分组竞赛式教学是指将教学内容任务化,以竞赛形式完成教学任务的方法。分组竞赛的学习方式将竞争机制引入课堂,有利于激发学习者内心的学习欲望和动力,提高学习者的积极性和兴趣,提高学习的效率。以小组为学习单位,有利于发挥集体的优势,互帮互教,增强学习效果。同时,小组学习有利于培养学生的团队合作精神、协调能力,促进学生素质的全面发展[2]。

编程语言类课程主要是利用一定的算法和代码来分析解决实际问题的课程,其特点非常适合采用“分组竞赛”来完成教学。通过设定一个问题让学生分组进行讨论完成,对完成者给出一定的奖励机制。比如,在教学过程中,小组的划分为自由组合,每组有4~6名学生,给出一个实际案例后,小组进行学习讨论,首先完成的小组计10分,第二个完成的小组计5分,第三个完成的小组计2分,然后,根据本堂课的教学内容再设定几个小问题,随机指定小组中某学生来回答,回答正确的给所属小组加2分,最后,每组的得分做为学生本节课的平时成绩。

在分组竞赛式教学中,也需要注意如下两点:第一,对本次课的主要学习内容也要进行简单总结;第二,对竞赛中的分组、案例、奖励等设置一定要以激发学生的学习动力为核心。

(四)结合采用三种教学方法

“案例式”、“项目驱动式”和“分组竞赛式”作为新型的教学方法,已被很多课程采用。对于实践性和操作性要求较高的编程语言类课程而言,可以对这三种教学方法有效结合进行采用,即由一个项目贯穿整个课程内容,将项目适当进行分解,形成了一个一个的案例,通过案例式教学方法,以学生为中心,以教材为学习载体,教师从中进行引导,采取分组竞赛式让学生根据案例要求,学习教材中的相关知识点,实现项目模块。

三种教学方法的合理运用,使学生在学习编程语言方面更能充分发挥自己的主动学习性和兴趣性。整个课程的教学是“从做项目中进行学习,从学习中实现项目”,解决了理论和实践的脱节问题;通过分组竞赛给出学生的平时成绩,最后汇总为学生对本课程的最终成绩,更加反映出学生掌握本课程的情况,解决了考核单一的问题。

四、结论

在编程语言类课程的教学中,以解决某一具体项目为核心,以学生积极主动寻求知识实现项目模块为支点,以分组竞赛制为形式完成整个教学。这样,既能培养学生对编程语言的自主学习和实践的能力,又能培养学生合作的能力。从而保证了编程语言类课程的培养质量,增强了该类课程的培养效果。

参考文献:

[1]赵正平,陈静.项目驱动教学法浅析[J].中国教育技术装备,2012,(27).

[2]杨丽丽.分组竞赛教学法的构建[J].资质文摘,2010,(7).

作者简介:张秀国(1975-),男,山东青岛人,硕士研究生,讲师,研究方向:计算机图形图像。