“项目导入\任务驱动”教学法在C程序设计语言教学中的应用研究
来源:用户上传
作者: 祁建宏 安容瑾
摘 要: 本文作者通过分析传统的C程序设计语言教学方法的不足,结合自身的教学经验,提出了在C语言教学当中利用“项目导入、任务驱动”教学方法的办法及具体措施,来应对繁杂的教学内容、激发学生兴趣、提高教学质量。
关键词: 项目导入 任务驱动 C程序设计语言教学 教学设计和实施
1.传统教学模式所面临的问题
学习计算机语言的最终目的是编程序,即以程序方式控制计算机自动、连续、协调运行,帮助用户快速、精准地完成一些手工操作无法完成或完成效果不好的任务。
目前众多的程序设计语言当中,C语言以其灵活方便、丰富的运算符及数据结构、强大的硬件操作能力、高质量的生成代码和高可移植性等优点,得到了广大编程爱好者的肯定,使之在系统软件、应用软件、计算机硬件开发等领域都得到了广泛应用。基于C语言的众多优势,目前为止,大多数高等学校计算机类相关专业都将C语言作为必修课程开设。条件较好的高校,甚至对理工科非计算机专业的学生也开设C语言程序设计课程。在可预见的将来,C语言的地位还无法被其它语言所取代。
计算机编程语言的教学主要达到两个目的:一是讲授语言本身的语法规则;二是教授算法,通过算法的学习加深对计算机语言具体应用的了解。
传统的语言教学模式一般是将主要课程内容放在语法规则的详细讲授上,大部分教材也都是按这种思路来编写的,教材内容注重基础知识和语法细节的介绍。在十多年前甚至更早,计算机还未普及,计算机网络还没有达到足够的覆盖程度,计算机方面的资料也比较少,人们普遍对计算机知之甚少。在那种情况下,传统的教学模式比较适合当时的实际需求,也涌现出了以谭浩强等为代表的一大批优秀教师所编辑的优秀教材,为当时中国计算机的发展做出了重大贡献。
随着程序设计语言版本的不断更新,新版本比旧版本在功能、性能等方面都有提高,以更好地满足程序开发人员的不同需要。但是,为了兼容旧的版本,新版本一般都要把旧版本的大多数内容保留下来。这样就导致版本越高,语言本身的内容就越多,对于学习者来说,要求掌握的内容就越庞杂。若再按传统教学方法,以讲授语言本身的语法规则为重心,一方面内容太多,讲不完;另一方面因为跟实际应用脱节,也不容易激发学生的兴趣,而最重要的一个问题是这种教学模式不利于培养学生分析及解决实际问题的能力。即使学生对语言本身的语法规则已经掌握得很好,碰到实际问题时,也很难找到好的解决办法。就如同学英语,背了好多单词,学了好多语法,但碰到外国友人时,想表达的意思却说不出来。
实际教学当中,到底哪些要讲?哪些不讲?如何讲?是经常摆在教师面前的很难确定的选择题。很明显,传统教学模式已经无法满足新的教学需要了。
程序设计语言的教学到底应该以什么为重心?
随着PC机及计算机网络的普及,社会各阶层人员的计算机基本素质都比以前有了很大程度的提高。计算机各类资料丰富多彩,获取计算机相关资料的途径比比皆是,这给计算机教学带来了极大方便。在这样有利的条件下,我们完全可以通过实施全新的教学方法以取得更好的教学效果。
我经过多年的教学实践,认为在当前大环境已经改变的前提下,教学内容不应该再以讲授语言本身为重点,而应该把培养学生分析及解决实际问题的能力作为语言教学的核心,而语言本身的教学工作穿插到实际案例中就可以了。即以“项目导入、任务驱动”教学法来实施具体教学工作。
2.“项目导入、任务驱动”教学方法简介
“项目导入、任务驱动”提倡“在学中做,在做中学”。用项目和任务的方式引入新知识,让学生在实践中巩固所学理论知识,融会贯通,真正全面提高学生综合职业素质,为企业培养合格的应用型人才。
“项目导入”是将工程实践项目贯穿于教学的始终,用项目和任务进行新知识的引入,激发学生学习动力。“任务驱动”是在教学过程中,根据项目总体要求,以完成一个个具体的任务为线索,把教学内容巧妙地隐含在每个任务之中,让学生自己提出问题,并经过思考和老师的点拨,自己解决问题。
3.项目与任务的设计原则
“项目导入、任务驱动”教学法的基本特征是“以任务为主线、教师为主导、学生为主体”。因此,项目与任务的设计要以激发学生学习兴趣为出发点,以满足学生的探究欲望为主观愿望,以完成教学任务为最终目标。
3.1项目与任务要能激发学生兴趣
项目与任务的设计必须要激发学生的学习兴趣,使学生积极主动的参与到学习活动中来。因此,要摆脱课本内容的束缚,大刀阔斧地处理教材。项目与任务的内容要使学生充分感觉到学有所用;不能选用枯燥的任务迫使学生去完成,从而挫伤其学习的积极性与主动性。
3.2项目与任务要多层次、有梯度
在学生群体活动中,学生的学习水平、个性特征、兴趣爱好、基本素质都有很大差异,表现出不同的活动状态。与此相适应,项目与任务的设计应该考虑多层次、有梯度,让所有学生都能结合自己的实际情况进行取舍。
3.3项目与任务要形成一个系统
项目与任务的设计要注意各个知识点之间的联系,让学生的任务和知识形成一个系统。设计任务的时候要处理好局部和整体的关系,形成子任务和母任务的关系,子任务服务于母任务,以保证很好地实现最终教学目标。
3.4项目与任务要真实、合理
在设计项目与任务时不要只考虑到如何提高学生对各知识点的掌握程度,把所有的知识点都强行加入到任务里来,要考虑任务是否符合客观实际,是否合理。任务设计特别强调具有针对性、可操作性和实用性。
4.“项目导入、任务驱动”教学方法在C程序设计语言教学当中的具体运用
本着以上原则,我经过多年教学实践,选择确定了以下几个任务及项目。
4.1简单的四则运算计算器。目的是让学习者掌握数据的输入、输出、存储(常量及变量)、数据加工等程序设计基本知识结点,掌握顺序及选择结构程序的设计与实现,对程序设计有一个初步的了解。
4.2针对具体某个企业的企业人员工资管理系统。掌握数组的定义及使用,循环结构程序设计的实现方法及函数、文件等内容;掌握一些常用算法如排序等。
4.3针对具体某个企业的企业人员基本信息管理系统。掌握结构体、字符串等数据类型的定义及使用;了解完整系统的开发流程及组织方式。
4.4通用的企业人员基本信息管理系统。了解内存管理模式,掌握指针及链表的一般操作。
4.5图形界面的通用企业人员基本信息管理系统。掌握图形界面软件的开发要点。
其中后四个任务属于同一个完整的项目,只是在不同教学阶段根据教学需要的不同,侧重点不一样而已。
以上这几个教学任务及项目,除了包含C语言的所有相关知识结点外,还涉及软件工程、数据结构、算法、操作系统及计算机硬件相关课程的内容,真正是一种涵盖面很广泛的教学活动。有利于对各相关知识点的整合与应用,真正提高学生分析、解决实际问题的综合能力。
认识的辩证过程是由从感性认识到理性认识,又从理性认识到实践这样两次飞跃构成的。从实践中来,到实践中去。以上这种教学任务与项目的安排,都是针对现实中的具体问题而设计的,符合认识的一般规律:理论与实践密切结合,教学目的明确,老师好教,学生愿学,避免了传统教学模式纠缠于语言规则细节的缺陷,经过教学实践的检验,收到了明显的效果。
5.教学方法实施过程中面临的问题及解决办法
这种教学模式不同于以课本为主线、教师主动讲、学生被动学的传统的教学模式,必然在具体实施过程中遇到一些问题。归结起来,主要有以下几个方面。
5.1认可问题。由于不同于传统教学方式,刚开始不容易得到认可,学生可能也会不适应,这就要求授课教师提前与相关领导及部门充分交流,取得他们的支持。同时,在开始授课前就教学方法的特色、优势及采用这种教学模式的原因、目的对学生要加以解释和说明。
5.2课本问题。按此种教学模式,课本只能充当参考书的角色,此时要求课本的内容要全面,以方便学生查阅相关知识点。同时,教师要打破课本本身章节的限制,不再拘泥于课本的内容体系。
5.3教师问题。这种教学模式涉及的内容比传统教学模式要多得多,授课过程中可能出现的情况也要相对复杂,教师授课的难度加大。因此,要求教师对所讲授内容熟练,了然于心,以应对可能面临的各种问题。
5.4方式问题。这种教学模式再不能以传统的黑板讲授的方式来实施了,应该以实践为主,一边讲一边做,做的过程中对于出现的问题再集体讨论,在教师的引导下帮助解决。
5.5考试问题。此种教学模式,传统的以知识记忆为特色的笔试考试方式不利于评估其教学效果,理想的考试方式是以小组为单位,限定时间,进行小规模的课程设计,完成后公开展示及答辩。这种考试模式一方面体现了公平与公正的原则,另一方面有利于学生相互交流和学习。在实现这种理想的考试方式相对有困难的情况下,我们可采用压缩笔试成绩所占总成绩比例,增大项目设计成绩在总成绩中所点比重的方法进行教学评估。
5.6环境问题。此种教学模式,大量内容需要学生课后完成。因此,要提供课余的上机实践场所及充足的实践时间,最好再提供方便的网络环境,以方便资料的查询及师生、生生之间的交流与合作。
参考文献:
[1]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1997,10.
[2]傅清祥,王晓东.算法与数据结构[M].北京:电子工业出版社,1998.
[3]谭浩强.C程序设计[M].北京:清华大学出版社,1996.
[4]高云.项目导入法在“工程造价”课程教学中的应用研究.扬州大学学报,2010,14,(4):63-65.
转载注明来源:https://www.xzbu.com/9/view-966697.htm