论文部分内容阅读
摘要:“数据结构”是计算机及信息等专业的核心课程。针对教育部提出的计算机科学与技术本科专业“分类培养”的教育目标,提出了“因材施教”的教学模式。实施的重点在于案例选择的侧重性、不同培养目标下的教学手段以及教学评价的改革,重点突出并完善了研究型人才的培养模式。经过课程组多年的摸索与实践,该方案在培养不同类型人才方面取得了良好的效果。
关键词:数据结构;研究型人才;工程型人才;案例教学法
作者简介:王作为(1980-),女,山东莘县人,天津工业大学计算机科学与软件学院,讲师。(天津 300387)邹晓健(1978-),男,吉林德惠人,军事交通学院政治部,讲师。(天津 300387)
基金项目:本文系天津工业大学高等教育教学改革研究基金项目的研究成果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)04-0058-02
“数据结构”是一门研究非数值计算的程序设计问题中有关计算机的操作对象以及它们之间的关系和操作等的学科。[1]“数据结构”作为计算机和信息等专业的核心课程,在教学体系中起着举足轻重的作用。
2006年,教育部计算机专业委员会提出了计算机科学与技术本科专业的“分类培养”的教育目标,并具体将计算机专业人才培养分为“研究型”及“工程型”两大类。[2]该目标的提出为计算机课程建设及改革提出了新的要求,计算机专业课程的改革应该根据社会的需求及学生自身的实际情况,为学生提供不同类型的教学计划和培养方案,并具体改革相应的教学方法。因此,加强“数据结构”课程建设,探讨不同类型培养目标的教学方法是非常必要的。
目前,“数据结构”课程建设主要关注教学手段的完善,例如“数据结构”课程教学网站的建设、[3]动态教学软件的研究以及案例式教学方法的实施,[4,5]很少顾及不同类型的人才需要不同的案例引导。另外,我国计算机专业的本科教育一般着重于培养工程型计算机专业人才,对于研究型人才的培养从研究生阶段才开始重视,这样导致了不少学生对于研究生阶段的学习不能很快适应,他们的创新能力差。
本文重点探讨针对不同类型的培养目标,提出“因材施教”的教学模式。实施的重点在于案例选择的侧重性、学生的主动性以及针对不同类型学生所要采取的教学方法,力争突出研究型人才的培养模式,经过课程组多年的摸索与实践,不断地改进与发展,在培养不同类型人才方面取得了良好的效果。
一、“数据结构”教学现状分析
“数据结构”课程的核心可概括为以下几个方面:数据的逻辑结构;数据的存储结构;在不同存储结构的基础上对不同数据结构的操作并讨论一些经典的算法。在教学过程中发现,学生对数据的逻辑结构的理解较容易,对数据存储结构的理解相对较难,对不同存储结构基础上的不同数据结构中算法的理解则仅限于表面,对算法在计算机中的实现过程难以理解,并且缺乏举一反三的能力。综合分析,产生上述问题的原因在于以下几个方面:
1.学生的算法设计能力普遍薄弱
著名的计算机科学家沃思说过“程序=数据结构+算法”,足以见得算法在程序设计中的重要地位。在合理的数据结构基础上,算法是对数据结构的操作(运算),是数据处理的核心。对于传统“数据结构”的教学,偏重于基础理论知识的传授,对于学生的算法设计能力的培养则显得比较单薄。算法设计能力的提高必须通过多做多练,在解决实际问题中达到自我提升。因此,在“数据结构”的教学过程中,采用案例教学法可以达到较好的学习效果。
2.前导课程基础较弱,尤其指针部分
“数据结构”以学生对编程知识的掌握为基础,数据结构的描述语言主要为类c语言,并且大量地用到了里面的指针等知识内容。大部分同学对指针运算掌握不扎实,不能将其灵活运用,导致了算法无法实现,学生缺乏成就感,降低学习兴趣。因此,在“数据结构”的教学过程中,除了要复习指针部分知识以外,还要利用实验实践教学达到教学目的。
3.缺乏多元化的人才培养方式,与实际应用相脱节
从实际的教学过程来看,教师对“数据结构”相关内容的实际应用讲述得不够清楚,学生学习过程中比较困惑。即便讲述过程能够理论联系实际,也主要偏重于工程应用,对数据结构科研方面的意义探讨极少,这样导致了很多学生在读研究生阶段时非常吃力,很难将自身调整到研究的状态。为了响应国家的“研究型人才”及“工程型人才”的分类培养目标,必须兼顾学生进一步学术深造和提高工程实践两个培养目标的需求,在教学内容和案例选择上要有侧重性,引导学生将理论知识与以后实际的应用相结合。“数据结构”不仅对于工程实践非常重要,同时对于培养学生的数据抽象能力以及提高学生的研究水平和创新能力也非常重要。教师应该结合自己的研究方向,尽量给出一些偏重算法研究的案例来培养学生的科研能力,为学生以后继续深造打下坚实基础,同时也帮助学生尽早定位自己未来的发展方向。
二、不同培养目标下的课程教学改革
1.教学内容的改革
在理论教学内容的安排上,笔者将近几年国家研究生统考题穿插在每章最后,检验学生的学习效果,提升学生的应试能力。除此以外,为了更好地激发学生的学习兴趣、使学生能够学以致用,提高其专业素质,在授课过程中采用基于案例引导的教学方法,并且对于不同类型人才的培养采用不同的案例。
基于案例的教学方法是将案例的实施贯穿到课堂教学中,教师根据需要讲的知识点设计一个具体案例,在讲授过程中以该案例为切入点,引导学生去思考解决这一应用问题所需要的知识,逐渐引出概念和原理。让学生在具体的案例实现过程中消化知识,这是培养学生分析问题、解决问题的一种教学方法。
案例的设计是案例教学的核心内容。案例的设计除了一些验证性的外,还应设置一些综合性的。验证性案例用来帮助理解教材中的各个知识点,建立起数据结构和相应算法的概念,培养学生基本的算法设计能力。验证性案例较简单,可以让学生独立完成,因此验证性案例对于不同培养目标的学生没有特殊区分。综合性案例是指一些实用性强、应用价值高的案例,包括问题分析、总体设计、详细设计、用户界面设计、多人合作以及一整套软件工作规范性强的工作。研究型综合案例需要学生查阅算法、模糊数学、图论等资料,这对学生的研究学习能力和创新能力都有更高要求。因此,对于综合性案例,学生可以根据自己的特点以及兴趣选择不同的设计性题目,自愿结成小组,并且协调好内部分工,定期举行小组讨论等。 2.教学方法的改革
传统的教学方法一般采用以教师在课堂上讲授基本知识点为主,以学生上机实践以及做课后作业为辅的教学模式。这样会导致学生动手能力差、只会应试不会实践。
在教学过程中,重点实施“以学生为中心”的教学模式,教师在整个教学过程中扮演“导师”的角色。学生根据自己的兴趣爱好选择案例,根据案例任务需要按照3~5人建成标准组并细化分工。教师重点负责准备案例,并且根据每组完成任务的不同,与学生共同讨论问题、分析问题,并能指导调研、引导学生找到解决问题的方法等。在案例完成后,教师需带领学生分析和总结案例解决方案的优缺点。
为了提高教学效率,达到教学效果,除了采用课堂授课的教学方法外,还采用了其他教学方法,例如课堂讨论、案例分析、小组汇报、教师或学生总结等多种教学方法。对于不同的培养目标,教学方法相似,但是教学内容和教学手段的侧重点则有所不同。对于工程型人才的培养来讲,教学目标应侧重于软件工程规范的训练及培养,提高学生组织数据及编写大型应用程序的能力,教学内容侧重于需求分析、概要设计、详细设计、用户界面设计、程序设计、软件测试、多人合作等基本技能和技巧的培养和学习。教学手段除了依赖于动态ppt、动画演示、算法演示软件等,还应该针对不同的培养目标选择不同的教学手段,比如引导工程型学生参与程序设计论坛、学习群等;培养研究型学生的学术论文检索能力;鼓励学术型学生参加算法设计论坛以及学习一些算法分析工具的使用等。在教学过程中,对相关的知识给出一些延伸的阅读文档,指导感兴趣的同学在课后进一步拓展思维、拓宽视野。
不同于传统教学的评价方法,此教学更加关注学生最终所能达到的专业能力及实践能力。广泛借鉴国外高校的Assignment的评价形式,采用阶段性作业、期末大作业、撰写实验报告等多种方式相结合的考核方法。为了防止学生从网上下载源代码或者抄袭等非诚信行为,还要对学生进行汇报答辩。对于不同的培养目标,应采取不同的评价标准。对于工程型学生,应注重程序设计文档是否规范、完善;程序的调试和测试是否科学、合理。对于研究型学生,应注重问题调研是否够全面、算法设计是否合理、是否具有创新性等。
三、结语
在适应IT行业快速发展的新形势下,我国教育部提出了计算机科学与技术本科专业的“分类培养”的教育目标,该目标的提出为计算机课程建设及改革提出了新的要求。我校从“数据结构”课程入手,针对不同的培养目标,提出了“因材施教”的培养模式。通过课程组多年的摸索与实践,在不同类型人才的培养方面均取得了良好的效果,尤其对于研究型人才培养方式的探索积累了宝贵的经验,这些经验可以推广到其他计算机相关课程当中,对于不同类型人才的培养方案尤其是研究型人才的培养方案的实施都具有重要的现实意义。
参考文献:
[1]严蔚敏,吴伟民.数据结构(c语言版)[M].北京:清华大学出版社,1997.
[2]教育部计算机专业委员会.发展战略研究报告暨专业规范[R].北京:高等教育出版社,2006.
[3]张丽萍,刘东升,王春晖.计算机应用型人才培养与数据结构课程改革[J].计算机教育,2010,(5).
[4]陈晓霞.数据结构教学中的案例巧用[J].计算机教育,2010,(24).
[5]唐翠芳,张仁津.用案例教学法指导数据结构与算法教学[J].计算机教育,2011,(8).
(责任编辑:宋秀丽)
关键词:数据结构;研究型人才;工程型人才;案例教学法
作者简介:王作为(1980-),女,山东莘县人,天津工业大学计算机科学与软件学院,讲师。(天津 300387)邹晓健(1978-),男,吉林德惠人,军事交通学院政治部,讲师。(天津 300387)
基金项目:本文系天津工业大学高等教育教学改革研究基金项目的研究成果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)04-0058-02
“数据结构”是一门研究非数值计算的程序设计问题中有关计算机的操作对象以及它们之间的关系和操作等的学科。[1]“数据结构”作为计算机和信息等专业的核心课程,在教学体系中起着举足轻重的作用。
2006年,教育部计算机专业委员会提出了计算机科学与技术本科专业的“分类培养”的教育目标,并具体将计算机专业人才培养分为“研究型”及“工程型”两大类。[2]该目标的提出为计算机课程建设及改革提出了新的要求,计算机专业课程的改革应该根据社会的需求及学生自身的实际情况,为学生提供不同类型的教学计划和培养方案,并具体改革相应的教学方法。因此,加强“数据结构”课程建设,探讨不同类型培养目标的教学方法是非常必要的。
目前,“数据结构”课程建设主要关注教学手段的完善,例如“数据结构”课程教学网站的建设、[3]动态教学软件的研究以及案例式教学方法的实施,[4,5]很少顾及不同类型的人才需要不同的案例引导。另外,我国计算机专业的本科教育一般着重于培养工程型计算机专业人才,对于研究型人才的培养从研究生阶段才开始重视,这样导致了不少学生对于研究生阶段的学习不能很快适应,他们的创新能力差。
本文重点探讨针对不同类型的培养目标,提出“因材施教”的教学模式。实施的重点在于案例选择的侧重性、学生的主动性以及针对不同类型学生所要采取的教学方法,力争突出研究型人才的培养模式,经过课程组多年的摸索与实践,不断地改进与发展,在培养不同类型人才方面取得了良好的效果。
一、“数据结构”教学现状分析
“数据结构”课程的核心可概括为以下几个方面:数据的逻辑结构;数据的存储结构;在不同存储结构的基础上对不同数据结构的操作并讨论一些经典的算法。在教学过程中发现,学生对数据的逻辑结构的理解较容易,对数据存储结构的理解相对较难,对不同存储结构基础上的不同数据结构中算法的理解则仅限于表面,对算法在计算机中的实现过程难以理解,并且缺乏举一反三的能力。综合分析,产生上述问题的原因在于以下几个方面:
1.学生的算法设计能力普遍薄弱
著名的计算机科学家沃思说过“程序=数据结构+算法”,足以见得算法在程序设计中的重要地位。在合理的数据结构基础上,算法是对数据结构的操作(运算),是数据处理的核心。对于传统“数据结构”的教学,偏重于基础理论知识的传授,对于学生的算法设计能力的培养则显得比较单薄。算法设计能力的提高必须通过多做多练,在解决实际问题中达到自我提升。因此,在“数据结构”的教学过程中,采用案例教学法可以达到较好的学习效果。
2.前导课程基础较弱,尤其指针部分
“数据结构”以学生对编程知识的掌握为基础,数据结构的描述语言主要为类c语言,并且大量地用到了里面的指针等知识内容。大部分同学对指针运算掌握不扎实,不能将其灵活运用,导致了算法无法实现,学生缺乏成就感,降低学习兴趣。因此,在“数据结构”的教学过程中,除了要复习指针部分知识以外,还要利用实验实践教学达到教学目的。
3.缺乏多元化的人才培养方式,与实际应用相脱节
从实际的教学过程来看,教师对“数据结构”相关内容的实际应用讲述得不够清楚,学生学习过程中比较困惑。即便讲述过程能够理论联系实际,也主要偏重于工程应用,对数据结构科研方面的意义探讨极少,这样导致了很多学生在读研究生阶段时非常吃力,很难将自身调整到研究的状态。为了响应国家的“研究型人才”及“工程型人才”的分类培养目标,必须兼顾学生进一步学术深造和提高工程实践两个培养目标的需求,在教学内容和案例选择上要有侧重性,引导学生将理论知识与以后实际的应用相结合。“数据结构”不仅对于工程实践非常重要,同时对于培养学生的数据抽象能力以及提高学生的研究水平和创新能力也非常重要。教师应该结合自己的研究方向,尽量给出一些偏重算法研究的案例来培养学生的科研能力,为学生以后继续深造打下坚实基础,同时也帮助学生尽早定位自己未来的发展方向。
二、不同培养目标下的课程教学改革
1.教学内容的改革
在理论教学内容的安排上,笔者将近几年国家研究生统考题穿插在每章最后,检验学生的学习效果,提升学生的应试能力。除此以外,为了更好地激发学生的学习兴趣、使学生能够学以致用,提高其专业素质,在授课过程中采用基于案例引导的教学方法,并且对于不同类型人才的培养采用不同的案例。
基于案例的教学方法是将案例的实施贯穿到课堂教学中,教师根据需要讲的知识点设计一个具体案例,在讲授过程中以该案例为切入点,引导学生去思考解决这一应用问题所需要的知识,逐渐引出概念和原理。让学生在具体的案例实现过程中消化知识,这是培养学生分析问题、解决问题的一种教学方法。
案例的设计是案例教学的核心内容。案例的设计除了一些验证性的外,还应设置一些综合性的。验证性案例用来帮助理解教材中的各个知识点,建立起数据结构和相应算法的概念,培养学生基本的算法设计能力。验证性案例较简单,可以让学生独立完成,因此验证性案例对于不同培养目标的学生没有特殊区分。综合性案例是指一些实用性强、应用价值高的案例,包括问题分析、总体设计、详细设计、用户界面设计、多人合作以及一整套软件工作规范性强的工作。研究型综合案例需要学生查阅算法、模糊数学、图论等资料,这对学生的研究学习能力和创新能力都有更高要求。因此,对于综合性案例,学生可以根据自己的特点以及兴趣选择不同的设计性题目,自愿结成小组,并且协调好内部分工,定期举行小组讨论等。 2.教学方法的改革
传统的教学方法一般采用以教师在课堂上讲授基本知识点为主,以学生上机实践以及做课后作业为辅的教学模式。这样会导致学生动手能力差、只会应试不会实践。
在教学过程中,重点实施“以学生为中心”的教学模式,教师在整个教学过程中扮演“导师”的角色。学生根据自己的兴趣爱好选择案例,根据案例任务需要按照3~5人建成标准组并细化分工。教师重点负责准备案例,并且根据每组完成任务的不同,与学生共同讨论问题、分析问题,并能指导调研、引导学生找到解决问题的方法等。在案例完成后,教师需带领学生分析和总结案例解决方案的优缺点。
为了提高教学效率,达到教学效果,除了采用课堂授课的教学方法外,还采用了其他教学方法,例如课堂讨论、案例分析、小组汇报、教师或学生总结等多种教学方法。对于不同的培养目标,教学方法相似,但是教学内容和教学手段的侧重点则有所不同。对于工程型人才的培养来讲,教学目标应侧重于软件工程规范的训练及培养,提高学生组织数据及编写大型应用程序的能力,教学内容侧重于需求分析、概要设计、详细设计、用户界面设计、程序设计、软件测试、多人合作等基本技能和技巧的培养和学习。教学手段除了依赖于动态ppt、动画演示、算法演示软件等,还应该针对不同的培养目标选择不同的教学手段,比如引导工程型学生参与程序设计论坛、学习群等;培养研究型学生的学术论文检索能力;鼓励学术型学生参加算法设计论坛以及学习一些算法分析工具的使用等。在教学过程中,对相关的知识给出一些延伸的阅读文档,指导感兴趣的同学在课后进一步拓展思维、拓宽视野。
不同于传统教学的评价方法,此教学更加关注学生最终所能达到的专业能力及实践能力。广泛借鉴国外高校的Assignment的评价形式,采用阶段性作业、期末大作业、撰写实验报告等多种方式相结合的考核方法。为了防止学生从网上下载源代码或者抄袭等非诚信行为,还要对学生进行汇报答辩。对于不同的培养目标,应采取不同的评价标准。对于工程型学生,应注重程序设计文档是否规范、完善;程序的调试和测试是否科学、合理。对于研究型学生,应注重问题调研是否够全面、算法设计是否合理、是否具有创新性等。
三、结语
在适应IT行业快速发展的新形势下,我国教育部提出了计算机科学与技术本科专业的“分类培养”的教育目标,该目标的提出为计算机课程建设及改革提出了新的要求。我校从“数据结构”课程入手,针对不同的培养目标,提出了“因材施教”的培养模式。通过课程组多年的摸索与实践,在不同类型人才的培养方面均取得了良好的效果,尤其对于研究型人才培养方式的探索积累了宝贵的经验,这些经验可以推广到其他计算机相关课程当中,对于不同类型人才的培养方案尤其是研究型人才的培养方案的实施都具有重要的现实意义。
参考文献:
[1]严蔚敏,吴伟民.数据结构(c语言版)[M].北京:清华大学出版社,1997.
[2]教育部计算机专业委员会.发展战略研究报告暨专业规范[R].北京:高等教育出版社,2006.
[3]张丽萍,刘东升,王春晖.计算机应用型人才培养与数据结构课程改革[J].计算机教育,2010,(5).
[4]陈晓霞.数据结构教学中的案例巧用[J].计算机教育,2010,(24).
[5]唐翠芳,张仁津.用案例教学法指导数据结构与算法教学[J].计算机教育,2011,(8).
(责任编辑:宋秀丽)