APP下载

“C语言与数据结构”课程的教学改革实践

2009-06-15谢莉莉张荣新

计算机教育 2009年7期
关键词:数据结构C语言任务驱动

谢莉莉 李 勤 傅 春 张荣新

文章编号:1672-5913(2009)07-0023-04

摘要:本文在分析高职“C语言”与“数据结构”两门课程传统教学的弊端及相互关系的基础上,探究将两门课程有机地结合为“C语言与数据结构”的教学改革措施。改革采用重建任务驱动教学法和情境教学法,以C语言为工具,在完成任务的同时应用和设计数据结构。实践证明,两门课程的结合更有利于激发学生的学习兴趣,提高学习效率,培养学生的程序设计能力、程序阅读能力及数据结构的应用设计能力,教学效果良好。

关键词:C语言;数据结构;任务驱动;情境教学

中图分类号:G642

文献标识码:B

1引言

“C语言程序设计”与“数据结构”是工科院校计算机专业中开设的两门重要的专业基础课。在以往教学中,这两门课程是相对独立、分开授课的,因此导致内容脱节,教学效果差。一般“C语言程序设计”课程只注重C语言的语法体系,因此学习过却不能用C语言编写程序的大有人在;后者则注重讲授抽象的数据关系和算法在计算机中的表示及实现,学生在纸上能写出抽象描述算法,上机实践应用时却无从下手。然而这两门课程都以培养学生解决实际问题的程序设计能力为共同目标。因此,如何将这两门课程有机地结合起来,构建C语言与数据结构的新体系,改革教学方法,提高教学质量,成了当前教学改革中亟待解决的问题。

2教学改革背景

在传统的教学模式下,“C语言程序设计”与“数据结构”这两门课程分开教学,人为地割断了它们之间的内在联系。C语言程序设计的学习仅局限在语言语法的层次上,而数据结构难度较大,学生不能结合C语言运用到实际中去。通过不断探索,我们认识到这两门课程有很多内在联系,比如“数据结构”讨论的抽象数据关系和算法要用C语言去实现,因此就将这两门课程整合为“C语言与数据结构”一门课程,在一个学期内完成授课内容。

为了更好地开设“C语言与数据结构”课程,提高学生分析和解决问题的能力,我们采用了任务驱动教学法。教师把教学内容设计成一个或多个具体任务,学生自主学习,教师引导、帮助学生完成学习任务。该方法强调的是学生置身在这些有意义的任务模式中,通过完成任务来学习知识,强化技能,使学生提出问题、分析问题、解决问题的能力得到提高,因此不同于以往教学中出现的“注入式”、“填鸭式”教学模式。

在采用任务驱动法[1]讲授“C语言与数据结构”过程中我们认识到,虽然“任务驱动”教学法相比传统的灌输式枯燥课堂有让人耳目一新的教学风格,受到了广大学生的欢迎,但也存在一些缺陷:

(1)“任务驱动”教学法中的任务常常存在庸俗化与片面化的倾向,将任务等同于传统讲授课中的练习或作业;课程片面强调对软件操作技能的训练,忽视了对学生信息素养的提升。

(2) 实际教学中,能力、意识、兴趣、反应速度各有差异的同一班学生对同一任务的反应各不相同,任务设计的把握成了现实操作中的“瓶颈”,课程标准中提倡的“关注全体学生”成了句空话。

(3) 学生只能被动地接受教师设计提出的“任务”(问题),即使培养了学生的解决问题能力,却忽略了培养学生发现问题能力这一先决条件,不利于创新精神的培养,纯粹成了为“问题”而解决“问题”的作业式教学。

3课程设计思路

本课程的设计改变了以往“C语言程序设计”和“数据结构”分开的模式,而是以C语言为主线,将各种类型的数据结构糅合其中,使C语言与数据结构有机地结合在一起。这不但解决了数据结构中的算法描述问题,而且在算法的实现过程中用C语言进行程序设计,两者相辅相成,互相促进。学生更好地掌握最常用的数据结构,理解数据结构内在的逻辑关系,理解数据与关系在计算机中的存储表示以及用C语言描述这些数据结构的运算和实际的执行算法,提高了解决实际问题的程序设计能力,适应了学科迅速发展和知识更新的需要。

针对教学改革背景中提到的“任务驱动”教学法的缺点,我们对其进行重建,设计开发“C语言与数据结构”。该课程改变了教师提出任务的做法,让教师通过创设情境、作品演示等各种方式激发学生的兴趣,启发学生在自己已有知识的基础上发现问题、提出问题,产生自发的主动任务,进而为完成这些任务而“需”、“需”才“索”、“索”才“教”,由传统的“教学”变为“求学”、“索学”。学生在教师或同伴的指导与协助下,在发现问题——提出问题——分析问题——解决问题的过程中得到清晰的思路、方法以及知识的脉络,既提高了创新能力,又提升了程序设计能力。

学生的学习过程是:在教师的激发下,思考“我想做什么”——“我立即能做出什么”——“我如何把它做得更好”,由传统的被动学习变为主动探索。

教师的教学任务是:激发——答疑——再激发——再答疑。因学生的“索”才教,由原来的主动变为被动,但这个良性的循环需要教师的把握与维持。

4“C语言与数据结构”课程的教学改革措施

目前,传统的“C语言程序设计”和“数据结构”[2]相结合的教学模式主要有三种:一是添加式,即在传统的“C语言程序设计”的基础上添加几章“数据结构”的内容,这种方法操作简单,容易实现,但由于“数据结构”的课时少,而且教师只抽象讲解几种数据结构模型,学生无法根据实际题目设计和应用各种数据结构,学习效果不理想。二是独立式,两门课程保持原来的课时不变,学生分两学期学习,不可避免地造成工具(C语言)、理论(数据结构)和应用(任务)的脱节,达不到预期的教学效果。三是整合式,将两门课程的知识融合在一起,整合成一门课程,以各个知识点为单元,同时介绍C语言和数据结构,将这两门课程很好地结合起来,达到最佳的学习效果。

我们在实践教学中探究了将两门课程有机结合的方法。下面分别从整体设计和单元设计两方面介绍该课程的设计。

4.1整体设计

以C语言为工具,在任务的驱动下,让学生在学习C语言知识点的同时学习和应用数据结构。在课程内容[3][4]安排上,表1展示了课程划分的四个工作任务模块,每个模块设计相应的任务强化训练,使学生达到技能目标和知识目标。数据结构知识点递进图如图1所示。

4.2单元设计

单元设计采用情境教学法,课堂教学都是在一定的情境中发生和发展的。良好的情境产生良好的情绪,情绪表达出主体的状态和客体的态度。情绪好则脑子灵,脑子灵则反应快,这才能较好地发现、理解、掌握和运用知识。

下面以第一单元为例讲解“重构任务驱动法”的实施过程。课程创设问题情境,启发学生思考“如何用C语言与计算机打交道”,“用计算机语言(C语言)和计算机交流”。教师介绍编译和调试C语言的程序,然后启发学生思考“如何在屏幕上输出想显示的话语”。图2展示了教学步骤。

5教学改革成果及小结

实践证明,将“C语言程序设计”与“数据结构”两门课程有机结合的教学改革,能够很好地激发学生的学习兴趣,有效地提高学生的学习效率。学生在掌握基本理论和知识的同时,C语言的程序设计能力、程序的阅读能力、数据结构的应用设计能力也得到了很好的培养。

教师在教学中贯穿了“C语言”和“数据结构”两条主线,将两门课程整合在一起,以任务驱动进行整体设计;采用“情境教学法”和“重建任务驱动法”进行单元设计。课堂设在实验室,采用教、学、做一体的形式开展课堂教学。这样提高了教学效率,使学生的技术应用能力、职业实践能力和创新能力得到较好的培养,教学效果良好。

参考文献:

[1] 黄博军. 任务驱动教学法在“C语言程序设计”课程中的应用[J]. 襄樊职业技术学院学报,2007,(3):68-69.

[2] 周成义等. C语言与数据结构课程的整合探究[J]. 辽宁高职学报,2005,(4):60-61.

[3] 许秀林. 程序设计基础教程[M]. 北京:中国电力出版社,2005.

[4] 谭浩强. C语言程序设计(第二版)[M]. 北京:清华大学出版社,2000.

猜你喜欢

数据结构C语言任务驱动
“C语言程序设计”课程混合教学探索
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
计算机原理中C语言的应用价值
任务驱动式教学模式在电子技术课程中的应用
任务驱动教学法在《网络应用服务管理》教学中的应用
任务驱动, 启发学生自学
任务驱动教学法在中职信息技术教学中的运用