田玉昆
摘要:《数据结构》课程是计算机专业的一门专业课,是高职学院与本科院校都要开设的一门课程。这门课理论性与逻辑性比较强,因此对主讲老师的备课、授课等各方面也有很高的要求。为了让老师在备课时对本课程有个大概的了解,该文从课程定位与课程目标、课程内容体系与教学设计、 教学方法与教学手段、教学资料和教学评价这五个方面对《数据结构》这门课进行了说课阐述。
关键词:《数据结构》;说课;计算机专业;备课
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2015)31-0098-02
“说课”是教师在备课的基础上,面对同行或专家领导,在规定的时间内,针对具体课题,采用讲述为主的方式,系统地分析教材和学生等,并阐述自己的教学设想及理论依据,然后由同行评议,达到互相交流,共同提高的一种教研活动。说课时间一般在10-15分钟内完成[1]。
教师在上课之前进行说课活动,主要是因为说课可以其到以下作用:可以更好的吃透教材;可以提高理论水平;提高表达能力;活用教学方法,强化教学效果。
《数据结构》是计算机软件专业中一门基础的核心课程,计算机各种应用及开发领域都要用到各种类型数据结构的设计,因此无论是对于高职高专的学生还是各大高等院校的计算机专业的学生来说,学好《数据结构》专业课同为重要。此门课数据类型繁多且算法实现也比较抽象难懂,为了让学生学好此门课,教师在上这门课之前要做好充分的备课准备,比如:说课,这也是领导考查教师是否作好备课的一个重要方式。《数据结构》说课的内容主要包括:1)说教学大纲;2)教学内定与设计;3)说教法与手段;4)说教材与参考资料;5)教学评价。本文就是针对《数据结构》这门课程从以上这几个方面来具体展现说课这一过程的。
1 课程定位与课程目标
1.1 课程定位
《数据结构》是计算机专业的一门核心专业课,具有很强的理论性,同时也具有一定的实践操作性,是以后让学生能写出高效程序的基础。因此对计算机专业的学生来说,有必要学习《数据结构》这门基础专业课。
当然,在学习这门课之前,必须有一定的专业基础知识做铺垫,比如:至少掌握一门高级编程语言(C或C++)、计算机组成原理、《计算机数学》等。然后才可以更好地理解《数据结构》这门课,并实现其中的算法,这对后续课程(如:操作系统、数据库原理、信息组织与检索、网页设计等)的学习也有一定的帮助。
1.2 课程目标
通过对《数据结构》这门课的学习,基本上能达到以下三个目标[3]:
1)知识目标
学生在学习了《数据结构》课程之后,对计算机专业知识点有了更深一层的扩充,基本上能达到以下几个层次:
①掌握了基本数据类型结构及其操作。
②学会分析应用中的数据所采用的结构特性。
③能为应用中的数据采用合适的逻辑结构和存储结构。
④熟练地掌握了一些常用算法的基本思想及其代码实现。
2)能力目标
学生在掌握了《数据结构》的内容的同时,也培养了他们逻辑思维能力、分析问题与解决问题的能力、应用中数据抽象与复杂程序的设计能力。
3)职业目标
对《数据结构》这门课程的学习也有助于学生考取一些计算机专业的资格证书,如:计算机软件工程师、程序设计工程师等,间接地强化了他们的职业能力的培养。
2 课程内容体系与教学设计
2.1 课程内容体系
《数据结构》这门课大体上可以划分为三大部分内容:数据结构基础、各种数据结构与查找和排序。
数据结构基础:包括数据结构的定义、组成、及算法的概念等。
各种数据结构:对线性表、堆栈与队列、串、数组、矩阵、树、二叉树、森林、图等几类常用的数据结构的基本思想、操作流程、及算法实现等进行了详细的描述。
查找和排序:主要涉及到了在应用中数据的查找与排序方法,如:数据的静态查找与动态查找,数据的插入排序、交换排序、选择排序、冒泡排序等相关原理与实现。
通过上述对《数据结构》这门课内容的概述,在教学过程中每个章节所占的学时分配可参考如表1,当然,每个学校、每个任课老师都可以根据学生具体掌握的程度、节假日的安排等相关情况做一个适当的调整的。
表 1 《数据结构》学时分配表
[
章节\&
内容\&各教学环节学时分配\&讲授\&实验\&习题\&1\&绪论\&4\&2\& \&2\&线性表\&6\&4\& 2\&3\&栈和队列\&4\&4\&2\&4\&串\&4\&2\& 1\&5\&数组和广义表\&4\&2\& 2\&6\&树和二叉树\&8\&4\&1\&7\&图\&6\&2\& 2\&8\&查找\&6\&4\&1\&9\&排序\&6\&4\&1\&10\&复习\&2\& \& \&合计\& \& 50\& 28\& 12\&]
2.2 教学设计
教学的开展应遵循以下思想:
按学生的专业方向的不同来确定教学目标,例如:计算机软件方向的学生要比计算机硬件方向的学生更深层次的掌握这门课程。
学以致用,实现“教、学、练”一体化的教学理念,每学一种新的数据结构,都要让学生动手进行练习,把它用到具体的程序设计中去。
3 教学方法与教学手段
3.1 教学方法
目前,学生对《数据结构》的学习程度出现了参差不齐的现象,根据以往的教学经验进行分析,学生的学习状况主要存在以下几个原因[3]:
程序设计基础不扎实:没学好C/C++、JAVA编程语言,比如:数组、结构体等知识掌握不扎实。
整体抽象思维能力不强:如:对单链表、堆、栈等数据结构的操作或实现思想理解较困难。
不会用理论知识解决实际问题:如:最短路径、关键路径在《数据结构》中是比较重要的知识点,并且在生活中也是常使用的。
学生学习积极性与态度不统一:有部分学生学习积极性非常高,且主动与老师交流、讨论;而有部分学生学习积极性比较高,能认真听课、完成作业;还有部分学生学习态度一般,偶尔碰到一些困难,就会主动放弃学习;更有部分学生压根不愿意学习,表现出什么都无所谓的态度。
实践能力不强:表现出缺乏动手操作练习的能力或机会,这就要求老师平时多给学生开展些实验课,有机会让他们动力练习;同时学生在练习课上也要表现出应有的积极主动性。
自主学习能力差:大部分学生都缺乏自主学习的能力,太依赖于老师。
因此,针对上述问题,在教学过程中老师要灵活的应用多种教学方法,以达到我们期望的教学效果,其中常用的教学方法主要有:
讲授法:主要是理论知识的学习。
任务驱动教学法:如:案例教学法,让学生有目标地去学习。
演示法:如:算法的动态演示。
讲练互补法:实践操作的内容常采用的教学方法。
启发式教学法:让学生带着问题进行主动的学习。
3.2 教学手段
充分利用现代多媒体教学手段,设计相应的教学电子课件,发挥多媒体教学信息理大、直观性强等特点,并与传统的教学手段相结合,使教学内容直观、形象、生动,节省了时间,提高了教学效率[2]。举例如下:
理论课:在多媒体教室进行授课,充分利用教室内先进的多媒体教学设备,进行投影教学。
实践课:在机房进行实践教学,利用多媒体进行演示与互动,让学生边学边练。
有动态过程的教学内容:如:查找或排序算法的思想,可以通过动态网页或flash动画进行动态地展示给学生看,加深印象且言简意赅。
3.3 学生的学习方法[3]
1) 要树立正确的信息观,利用丰富的网上教学资源进行主动的学习。
2) 要理论联系实际,多培养自己的动手操作能力。
3) 要主动参与到任务驱动的教学过程中,培养自己的职业素养。
4 教学资料
关于《数据结构》的教材很多,要选择一本能够适应本校的学生、符合本校培养特点的教材才是有用的教材。本文就是根据本校所采用的唐国民、王国钧主编的《数据结构》(C语言版)的内容所设计的。此教材理论知识点言简意赅,条理清晰,且案例分析明确,代码齐全,适合职业技术学院的学生进行学习。
使用的参考书有:
《数据结构》严蔚敏、吴伟民 编著。
《数据结构实验教程》唐国民、王国钧 等编著。
5 教学评价
教学评价主要是通过对学生的考核来进行的。但学生的考核主要是以分数的形式体现出来,分数的判定主要是有以下三部分组成:
期末考试:闭卷,卷面100分,占总成绩的60%。
平时成绩:包括平时上课的考勤,作业的完成情况等,百分制,占总成绩的20%。
实验考核:每一次实验的完成情况及效果,百分制,占总成绩的20%。
即:期末总成绩=期末考试*60%+平时成绩*20%+实验考核*20%。
6 总结
本文从说课的五大要素出发,将《数据结构》这门课的说课过程从课程定位与课程目标、课程内容体系与教学设计、教学方法与教学手段、教学资料和教学评价进行了详细的展现。
参考文献:
[1] 顾理琴.浅谈《数据结构》的说课[J]. 电脑知识与技术,2011,7(32).
[2] 吕金龙.吕金龙说课数据结构ppt[Z].
[3] 邹丽霞.数据结构说课ppt[Z].