计算机语言类课程中任务驱动教学模式研究

2011-12-28 06:47徐宁
淮南师范学院学报 2011年5期
关键词:程序设计驱动计算机

徐宁

(淮南师范学院 计算机与信息工程系,安徽 淮南 232038)

计算机语言类课程中任务驱动教学模式研究

徐宁

(淮南师范学院 计算机与信息工程系,安徽 淮南 232038)

针对目前高校计算机程序设计语言课程的教学目的及教学中存在的问题进行分析,提出采用“任务驱动”教学模式进行教学。阐述“任务驱动”教学模式的基本理论概念,结合C语言程序设计课程教学实例阐明如何在“任务驱动”教学法指导下开展教学。

任务驱动教学模式;程序设计语言;构建主义

计算机语言程序设计类课程是实践性很强的课程,其教学的最终目的,是以某一种程序设计语言为手段,让学生掌握抽象思维方法,培养学生用计算机解决问题的能力。因此,在程序设计语言的教学过程中,学生不但要掌握该语言的基本语法知识,更重要的是通过对程序设计语言的学习,掌握程序设计的方法和思路;对于教师来说培养学生的程序设计能力、自主学习能力与独立分析问题、解决问题能力,才是教学的重中之重。

一、计算机程序设计语言教学中存在的问题

《高级语言程序设计》和《面向对象语言程序设计》是计算机专业学生的一门必修课程,是计算机专业学习中的关键一环。但是在当前计算机程序设计语言的教学当中,常规的教学方法是:课堂教学中,教师详细地灌输语法知识内容;实验教学中,以验证课堂所授知识为目的。教学中存在以下问题:

1.学生学习有压力无兴趣。计算机程序设计语言是建立在严格的语法规则基础上的语言体系,学生面对枯燥的语法知识,很容易感到这门课程既烦又难,失去兴趣,为学而学,在学习的过程中缺乏积极性和主动性,学生处在被动的学习状态中,容易感到厌倦。

2.课堂教学方法不适应课程需求。计算机程序设计语言发展很快,程序设计语言的类型也很多,因此学生必须具有一定的自学能力。现在的教学方式以知识传授为主,学生被动学习语法知识,压抑了学生学习的自主性和创造性;不仅如此,通过以往的教学发现,采用传统的教学方法,简单地按照从易到难的顺序循序渐进地进行教学,学生学习时以各个语法知识点为主,在面对实际问题进行综合运用时不能做到融会贯通。

3.实验教学不能培养学生分析解决问题的能力。现在我校的计算机语言实验内容以验证性实验为主,主要用于验证课堂教学所教授的 “知识碎片”,没有从提高学生编程能力的角度安排实验内容。学生普遍感觉到掌握了很多语法知识,但是面对具体问题进行编程时却毫无思路,无从下手,不能适应将来的工作需求。

综上可知,程序设计语言类课程教学的问题主要体现在培养学生学习主动性、积极性、创造性和实际问题的分析解决能力方面。针对这些问题,有必要研究实施更有效的教学方式,提高教学质量。

二、任务驱动教学模式

任务驱动教学模式有利于培养学生的创新能力和分析解决问题的能力,对计算机这门创造性很强的学科来说,为解决教学过程中出现的问题提供了很好的途径,非常适合计算机类课程的教学。

1.理论基础

构建主义理论认为知识不是通过教师传授得到的,而是学习者在一定的情境下,借助他人(包括教师和学习伙伴)的帮助,利用必要的学习资料,通过意义构建方式获得的。[1]

任务驱动教学模式是基于构建主义学习理论的一种教学形式。它强调学生要在真实情境中带着任务学习,以探索问题的解决方法来驱动和维持学习者学习的兴趣和动机。所谓“任务驱动”,就是将所要学习的新知识隐含在一个或几个任务中,学生通过对任务进行分析讨论,明确它所涉及的新知识点,在教师的指导帮助下找出解决问题的办法。[2]任务驱动教学法非常适合实践性和操作性较强的知识和技能的教学工作,学生在整个学习过程中,随着任务的完成不断获得成就感,进而激发了他们学习的积极性和主动性,培养了他们的创新能力和问题解决能力。

2.任务驱动教学过程

在教学过程中任务驱动教学法是以 “设计任务——呈现任务——实现任务——评价任务”的顺序组织教学的。[3]

(1)设计任务

利用任务驱动教学法组织教学时,任务是学习的主线,设计的任务直接关系到教学效果。因此教师一定要认真分析教材,根据教学目标、教学的重难点和学生的实际情况,认真设计任务。在任务设计的过程中要注意遵循以下原则。

任务要有系统性:在明确教学目标的情况下,将总目标细分为小的学习模块,再将每个学习模块细化为一个个容易掌握的任务。通过小任务的有机组合来体现总的学习目标。我们可以选择一个小的应用程序,比如:学生成绩管理系统。将其与各章节教学内容相结合,分解成一个个子程序。子程序再根据每次课的教学目标分解成若干任务。当教学的所有任务完成后,可以将它们组织成“学生成绩管理系统”。当学生通过努力独立完成这个系统时,会感到很有收获,也会对编程更有自信,为将来参与软件编程奠定了基础。

任务要有趣味性:兴趣是学生最好的老师,没有兴趣的强制性学习,只会扼杀学生创造性思维的发展,只有激发学生的兴趣和学习积极性,才能提高学习效率。比如在介绍循环结构时,如果给出的任务是求解1到100的整数和,虽然也能完成教学目标,但是学生参与兴趣并不浓。如果任务是猜字谜游戏等,学生的积极性显然提高了很多。

任务要有层次性:学生的认知水平不同,对知识的理解能力和自学的水平各有不同,这是客观存在的。因此教学过程中要注意因材施教。任务设计时同一个知识点也要按学生的差异,分别设计不同难度的任务,让不同层次的学生都能做到学有所得。

(2)呈现任务

任务呈现是引发学生学习兴趣及明确学习任务的重要一步。在呈现任务时要创建任务情境,通过讲解、示范等教学方法使学生有学习的兴趣,而不会引起为难抵触的心理,在愉快的氛围中接受任务,而不是当成学习负担。

(3)实现任务

实现任务的过程是学生在教师的引导下自我探索、掌握新知识的过程。教师不要急于去讲解该怎么做或完全放手让学生自己做,而是要充分发挥学生的主动性,在学生有困难的时候,即时适当地给予建议或指导;在实现任务时,教师要准备好相关学习资料,可以利用学校的教学平台,为学生准备好充足的参考资料,方便学生查阅;在学生中提倡协作学习,尤其是任务比较困难时,可以将学生分组,利用集体力量完成任务,同时也锻炼了学生与他人协同工作的能力。

(4)评价任务

学生的学习过程是由任务驱动的,因此一次学习任务完成后,及时对学生完成任务的情况进行评价是非常重要的。学生完成任务后,虽然也学习到了相关知识点,但是并不能完整地将其融入自己的知识结构,教师可以在此阶段对知识点进行总结与提高。同时学生完成任务后都会有一定的成就感,教师的评价、表扬可以极大地激发他们的学习热情,这也是培养学生自信心和成就感的好时机。

总之,任务驱动教学模式改变了传统“教师讲,学生听”的教学模式,强调创新能力的培养和学习能力的全面提高,更适合计算机程序设计语言类课程的教学。

三、任务驱动教学模式在程序设计语言课程教学中的应用举例

在教学实践过程中,我对《C语言程序设计》课程进行了教学改革实验,采用了任务驱动教学方法进行教学。

在教学过程中,以“学生成绩管理系统”为例,将课程知识点贯穿于项目的每个任务模块中,每个任务模块又根据各章节的不同知识点细化为若干代码段。引导下“驱动”学生完成每个任务模块,最后将每个任务模块“组装”成一个完整的项目。

例:学生成绩管理系统功能如下:

班级有45名学生,每个学生的信息包括学号、姓名及大学语文、高等数学、英语、计算机导论四门课程的成绩,设计学生成绩管理系统,使之能提供以下功能:

(1)学生信息录入功能;

(2)学生信息浏览功能;

(3)查询功能:能按学号进行学生成绩查询;

(4)统计功能:能计算学生的总分及平均分;

(5)排序功能:能按照单科成绩或者总成绩从高到低输出学生的成绩单;

(6)学生信息的删除与修改。

因为最后可以完成一个有实际功能,且和班级管理密切相关的小系统,所以学生的兴趣很大,学习的积极性和主动性有了明显的提高。

现以《C语言程序设计》课程中分支结构知识点的教学为例,说明如何在任务驱动教学法的指导下进行教学内容的选择及完成“设计任务——呈现任务——实现任务——评价任务”整个教学过程的。

1.教学设计

教学内容:选装型程序设计

教学重点:分支程序的基本结构

教学难点:分支结构的嵌套

教学准备:范例,资料,任务,多媒体设备

表1 教学过程

2.教学效果

表2 学生成绩分析表

本人在2009~2010年的 《C语言程序设计》中采用了任务驱动的教学模式,对比传统的教学方式而言,学生的学习兴趣有了明显提高。最后能将整个“学生成绩管理系统”完成的同学占85%;教学效果也比以往有了大幅度提高,在期末考试中,参与本课程学习的148个同学,忽略智力等客观因素,其考试成绩也比以往有了大幅度提高,平均分达到78.5分。

3.教学反思

通过一个学期的教学实践,有成功的经验也有失败的教训,总结如下:

(1)注意知识系统的完整性和系统性。任务驱动的教学思想是将新知识分解到一些任务中,难免忽略知识的系统性和完整性。因此在设计任务阶段就应该注意从整体上统筹设计,使任务之间、新旧知识之间产生联系。这一点通过与实践项目相结合,进行任务设计,效果较好;同时在一个单元内容完成以后,教师必须引导学生对所学知识进行及时的总结归纳,加深学生对知识的理解、记忆,以形成知识的系统性。

(2)减少验证性实验。以解决实际问题为导向,培养学生的分析和综合能力。实验内容以一个具体应用为背景,让学生感到学到的知识不仅仅是验证某个语法点的用法,而是可以用所学知识解决实际问题的;同时,在实验内容的设置上力求新颖,提高学生的参与热情,鼓励学生自己去分析解决问题。

(3)结合其他教学方法,提高课堂教学效果。在教学过程中,使用的教学方法不是一成不变的,可以根据教学的实际需要融入其他教学方法,提高教学效果。如案例教学法,可以将复杂、抽象的概念和原理融入案例中使之形象化、具体化,便于学生理解和掌握。如《Java语言程序设计》课程中,对类、对象等基本概念的讲述就可以使用案例教学法。

四、结束语

综上,“任务驱动”教学法最显著的特点是以学生“学”为主体,形成了学生主动参与,自主协作,探索创新的新型教学模式。这种教学方式非常适合计算机类课程的教学,在教学实践中取得了很好的教学效果。但在具体教学过程中,还需要进一步做好教师的角色转换工作和课程考核方式的改革工作。

[1]谢京力.任务驱动教学模式的探讨[J].九江职业技术学院学报,2009,(2):35

[2]徐联华,周建华.任务驱动在计算机公共课教学中的运用研究[J].高教论坛,2006,10(5):98

[3]徐海鹰.“任务驱动”法在信息技术活动课中的运用[J].齐齐哈尔师范高等专科学校学报,2005,(1):122

G642.41

A

1009-9530(2011)05-0106-03

2011-01-21

淮南师范学院科研项目(2010lk17)

徐宁(1978-),女,安徽淮南人,淮南师范学院计算机与信息工程系讲师。

猜你喜欢
程序设计驱动计算机
基于模糊PI控制的驱动防滑仿真系统分析
计算机操作系统
屈宏斌:未来五年,双轮驱动,砥砺前行
基于Visual Studio Code的C语言程序设计实践教学探索
基于计算机自然语言处理的机器翻译技术应用与简介
轨旁ATC系统门控柜接收/驱动板改造
从细节入手,谈PLC程序设计技巧
信息系统审计中计算机审计的应用
高职高专院校C语言程序设计教学改革探索
基于S3C6410的Wi-Fi驱动移植实现