任务驱动型案例教学模式在“C语言程序设计”课程教学中的应用研究
2016-12-30张丽君
张丽君
(锦州医科大学 计算机教研室,辽宁 锦州 121000)
任务驱动型案例教学模式在“C语言程序设计”课程教学中的应用研究
张丽君
(锦州医科大学 计算机教研室,辽宁 锦州 121000)
任务驱动型案例教学模式是行之有效的全新教学方法,近些年已经在教学中被广泛应用,并积累了丰富的教学经验。本文首先分析了“C语言程序设计”课程传统教学法存在的问题,然后就任务驱动型案例教学模式在该课程教学中的应用进行了详细探讨,通过教学实践证明,这种教学模式不但使学生的学习兴趣更加浓厚,而且大大提高了学生学习的积极主动性,同时学生分析问题解决问题的能力也明显增强,取得了非常好的教学效果,对“C语言程序设计”课程教学起到了积极的推动作用。
任务驱动型;案例教学模式;C语言程序设计;教学;应用
0 引 言
“C语言程序设计”是学生学习计算机程序设计的入门课程,目前大多数高校计算机专业学生都开设了该门课程,该课程的教学目标是使学生掌握C语言的基本语句结构、算法以及程序设计的方法和技巧,该课程是后续课程(如数据结构等)的前导课程,更是其他计算机专业课程的理论和实践基础课程,因此掌握好该门课程对学生具有非常重要的意义,那么如何在“C语言程序设计”课程教学中采用行之有效的教学方法来取得最佳的教学效果,是很多任课教师都在探索的课题。任务驱动型案例教学模式建立在建构主义教学理论基础之上,充分体现了“双主模式”的教学思想,是行之有效的全新教学方法,近些年已经在教学中被广泛应用,并积累了丰富的教学经验,本文将就任务驱动型案例教学模式在“C语言程序设计”课程教学中的应用进行详细探讨。
1 “C语言程序设计”课程传统教学法存在的问题
首先,目前大多数高校的“C语言程序设计”课程仍然采用传统的“填鸭式”教学模式,即课堂以教师讲授为主导,教师一言堂,学生被动地接受所学知识。由于该课程的特点是概念比较复杂,各种语句规则严格,每节课上教师把主要精力都集中在讲解各章节中涉及的语句、语法、程序等的基本格式功能以及使用方法上,与学生之间的互动非常少,不注重调动学生思考的积极性和主动性,学生不能参与到教学中来,使学生觉得此门课程难度大、内容枯燥乏味,因此对学习失去兴趣,上课注意力不集中、溜号现象严重。其次,教师过于重视理论内容,学生实验学时的安排也相对减少,上机操作时间不够充分,并且学生上实验时操作的主要内容只是将理论课上教师讲过的知识进行模仿测试一下结果,学生对所学知识并没有达到真正理解,只知其然不知其所以然,在课后学生自己很难独立写出良好风格的程序,没有真正实现对学生程序设计能力的培养。另外,当前的教学模式由于学生并没有参与过完整的系统开发,也使学生对所学课程缺乏整体认识,认为各章内容联系不大、互相脱节,使学生搞不清楚所学知识在实践中的具体应用,在以后的学习及工作中如果遇到相关问题,学生仍然不知所措,找不到解决问题的方法。总之,以上存在的教学问题使教学效果较差,既不能充分发挥学生学习的主动性,也不利于培养学生独立分析问题和解决问题的能力。
2 任务驱动型案例教学模式在“C语言程序设计”课程教学中的应用
2.1任务驱动型案例教学模式介绍
传统的案例教学模式是把教学内容划分成一个个独立的典型案例程序,在教学过程中通过完成特定案例的事件情景来引导学生掌握相关的知识点,这种模式侧重于对案例程序本身的分析讲解,而对知识的延伸比较少,学生所掌握的知识点是零碎不系统的,不利于培养学生综合分析问题的能力。而任务驱动型教学模式是以完成一个或多个任务为主线来展开教学,把各章节的知识点融入到完成任务的各个环节中去,在推进任务的完成过程中,不断拓宽知识的深度和广度,直到将任务全部设计完成,使学生既学到了知识又培养了能力,但这种教学模式可能会遗漏一些重要的知识点,使学生对某些重要的知识点掌握不牢固。
任务驱动型案例教学模式汲取了案例教学模式和任务驱动教学模式各自的优点,首先在课前教师要设计一个与学生所学专业相近或日常比较熟悉的大项目作为教学任务向学生发布,然后在教学过程中再把这个大的项目任务划分成多个具体小案例,每个小案例都与这个大“任务”有着密切联系,教师在每节课的具体教学时再把各个知识点结合这些小案例进行分析讲解,使整个教学过程都以完成这个“任务”作为驱动,一步步推进任务,直至将整个大任务完成,这种教学模式将教师由知识的传授者变成了教学的引导者,使学生真正参与到教学中来,每节课学生都要带着任务去学习,在完成任务的过程中逐渐掌握所学知识,既能够提高学生的学习兴趣和学习的积极主动性,同时也培养了学生解决实际问题的能力。
2.2“C语言程序设计”课程教学内容介绍
第一章:C语言概述,主要包括C语言的发展历史、C语言的特点、C语言程序设计初步、C程序上机调试步骤等内容。
第二章:基本数据类型与常用库函数,主要包括字符集与标识符、基本数据类型、常量、变量、数据的输入与输出函数、常用库函数等内容。
第三章:运算符和表达式,主要包括算术运算符和算术表达式、自增自减运算、位运算、赋值运算、关系表达式与逻辑表达式、条件表达式与逗号表达式等内容。
第四章:算法与C语言程序设计基础,主要包括算法的概念、算法的常用表示方法、结构化程序设计方法、顺序结构程序设计、选择结构程序设计、循环结构程序等内容。
第五章:数组,主要包括一维数组、二维数组、字符数组等内容。
第六章:函数,主要包括函数的定义、函数的调用、函数的嵌套调用与递归调用、局部变量和全局变量、变量的存储类别、内部函数和外部函数等内容。
第七章:编译预处理,主要包括宏定义、文件包含、条件编译等内容。
第八章:指针,主要包括指针的基本概念、指针与一维数组、指针与二维数组、指针与字符串、指针与函数、指针数组与多级指针等内容。
第九章:结构体与共同体,主要包括结构体类型的定义、结构体类型变量、结构体数组、结构体和指针、结构体和函数、链表、共同体、枚举、用typedef定义类型等内容。
第十章:文件,主要包括文件的基本概念、文件的打开和关闭、文件的读写、文件的随机读写、文件状态检查函数。
第十一章:C++与面向对象技术,主要包括C++语言简介、C++程序简介、C++对C的扩充、类和对象、构造函数、析构函数、继承与派生类等内容。
2.3任务驱动型案例教学模式在“C语言程序设计”课程教学中的具体应用
“C语言程序设计”课程具有很强的实用性,既可以用来编写系统软件,又可以用于编写各种应用软件,非常适合任务驱动型案例教学模式。为了集中学生注意力、提高学生的学习兴趣,教师在教学的第一次课上可以向学生展示使用C语言软件开发的应用软件例子,比如:学生成绩管理系统、财务管理系统等,以此作为贯穿整个一学期学习程序设计的大任务,然后再详细向学生介绍系统的总体架构以及包括的各项功能模块,以学生成绩管理系统为例,该系统主要包括成绩的录入、显示、添加、删除、修改、查找、排序、计算总分与平均分、保存数据和退出系统等功能,然后将实现该系统所用到的“C语言程序设计”课程中的各章相关知识点向学生简单作介绍,使学生对该门课程有个整体的了解,并体会到学习该课程的实际意义,接下来以开发完成该系统这个大任务作为整个教学过程的驱动,再将该系统各项功能模块的实现作为具体的小案例来展开教学,使教学的全部内容与该系统完全融合在一起。下面对实现该系统所设计的小案例以及涉及的知识点进行简单介绍。
小案例一:进入系统界面的实现,应用到顺序结构程序设计及输出函数等相关知识点。
小案例二:成绩录入的实现,应用到循环结构、一维数组、二维数组、字符数组等内容。
小案例三:成绩查询的实现,应用到表达式、数组、选择、循环结构程序设计、函数、结构体数组、指针等内容,其中可以实现按用户输入的条件等进行成绩的查询。
小案例四:成绩排序的实现,应用到各种排序方法、结构体数组、指针等内容。
3 结 语
通过几年的教学实践证明,在“C语言程序设计”课程中引入任务驱动型案例教学模式,与传统的教学方法相比,不但使学生的学习兴趣更加浓厚,而且大大提高了学生学习的积极主动性,同时学生分析问题解决问题的能力也明显增强,取得了非常好的教学效果,对“C语言程序设计”课程教学起到了积极的推动作用。
主要参考文献
[1]叶健华,黎峰.“项目驱动+案例教学”模式在C语言教学中的应用[J].济南职业学院学报,2009(3).
[2]于秦,居太亮,段景山.任务驱动型案例教学法在教学中的应用[J].实验科学与技术,2012(z1).
10.3969/j.issn.1673 - 0194.2016.20.148
TP312.1-4
A
1673-0194(2016)20-0218-02
2016-09-20