数据结构课程设计范文

时间:2023-03-13 11:18:35

数据结构课程设计

数据结构课程设计范文第1篇

关键词:数据结构;数据结构课程设计;评价方式

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)05-1088-02

数据结构课程内容抽象,信息量大;在学习过程中所用到的技术多,而之前所介绍的专业性知识又不多,因而加大了学习难度;隐含在各部分的技术和方法丰富,也是学习的重点和难点。根据数据结构课程本身的技术特性,设置数据结构课程设计环节十分重要。通过实践内容的训练,能达到学生程序思维的训练和动手上机调试程序能力的增强 , 提高学生组织数据及编写大型程序的能力。

1 概述

当前我国工程教育面临的普遍问题是:工程教育与社会和产业的需求脱节,包括,工程教育的培养目标与社会需求不一致;工程教育中的质量评估结果不能真实的反映学生的能力;工程教育环境与职场环境相差甚远。当前工程教育中,很少能体现课程体系,学科之间的关联很少。关于课程评价和反馈,包括师生双方地互评。老师评价学生的手段是在学期结束时,给学生一个或好或差的成绩。学生从这个结果中,无法得知他需要进一步努力的方向。用人单位无法依据这份成绩来判断这个学生是否符合他们的需求。学生评教制度就是让学生在某个时间段(比如第14周到第16周)给老师一份评价。学校根据这份评价来考核老师的教学工作是否合格。而评教的根本目的:促使教师改进教学,服务学生,满足学生学习需求并实现学生学习利益,在很大程度上被忽略。

数据结构课程设计作为工程教育的一个环节,同样存在上述问题。另外总共32学时的课时太少,导致学生没有充分时间去实施系统分析、设计和实施的完整过程。

学生的语言掌握程度较大程度地影响到数据结构课程设计的实施。往往系统实施的思路是正确的,由于语言不熟练,又缺乏正确的调试手段和调试方法,导致程序无法通过调试或者花费大量时间进行调试。由于没有软件工程的思想,系统事先没有经过周密的设计,程序调试通过,验收时发现题目理解错误,与老师的要求相差甚远。需要重新设计,编写代码,造成学生大量时间的浪费。

最后,学生的创新能力、沟通和团队协作能力有待于进一步提高,而这些能力是作为一名工程型和创新型的计算机专业人才所必需具备的。比较显著的就是沟通问题。在验收阶段,一个简单问题无法用恰当的语言回答教师。

2 课程改革的理念和思路

课程改革的理念是充分利用本校本学院已有资源,结合CDIO理念,提高学生整体计算机专业能力,训练良好的思维方式,培养扎实的实践能力,具备创新能力和团队合作精神。

课程改革的思路:课程改革从课时数、教学内容、教学方法和评价与反馈等多方面展开。首先是在教学大纲上增加本门课程的学时数。在教学内容上,把程序语言和软件工程的内容以恰当地形式加入课程设计中。

在教学方法上,加强思维方式的训练,强调产学结合,增加学生工程经验,训练实践能力。思维方式的训练从两方面展开:在布置任务时,提醒学生按照一定的方法进行抽象,尽量避免手工操作(自动化手段);在验收阶段,针对具体的代码和算法设计思路,教师提具体的改进方案,并相应地指出可能存在思维误区。思维方式的形成不是一天就可以完成,希望经过一学期的训练可以有效地改变部分同学的思维方式。工程实践(包括工程开发各个环节的实践)能力提高也是从两方面展开:一是让学生经历工程开发的整个过程;二是提业界真实地案例供学生模仿分析学习。

评价和反馈从师生双方互评入手。教师对学生的评价要真实反映当前的知识和能力,让学生明白自己的优势和不足。学生对教师的评价真实反映这一学期教师的教学能力和教学态度。让教师进一步清楚学生具体的学习需求和自身能力提高的方向。

课程改革的目标包括加深学生数据结构基础知识的理解,拓展知识面,增强学生实践动手能力,激发学生的创新和团队协作能力,训练学生的沟通表达和思维能力,培养学生具备良好的职业素质,使学生成为一名工程型和创新型的优秀计算机专业人才。

3 课程改革的内容

该综合课程设计预计需要32学时。其中6学时用来帮助学生加强程序设计能力,先由老师讲解部分的难点重点(主要是在数据结构实施过程中常用的知识点),然后学生完成一个相对复杂的程序。

数据结构的课程设计占用中间的26学时。一学期的课程设计需要学生完成3到4个不同章节的题目。由于学生能力水平参差不齐,每章教师给出3到4个难度不同的题目供选择。这些题目部分来自配套教材,部分由教师自行设计。学生根据自身能力选择完成其中的一个题目(也可以自主选择题目,经教师审核后去实施),然后提交教师验收。在此过程中,诱导学生按照软件工程的思想去完成各个题目。具体的手段是给学生一个合理的、按照软件工程思想设计的课程设计指导书。(先设计后实现)

充分利用学院已有资源,在ACM网站开辟一个数据结构专区,按照ACM竞赛的模式设计一些题目供有余力的学生选择。对于已完成教师安排任务的学生,建议他们注册登录学院ACM网站去完成额外的题目,以此增强他们的实践动手能力。

课程设计的其中一个重要环节是验收。它不仅起着评定成绩的作用,而且还承担着训练思维,提高算法设计和沟通表达能力的作用。程序测试通过后,教师选择部分感兴趣的代码,要求学生解释。如果得不到满意的解释,教师可以暂停此次验收。这个环节可以考验学生的沟通表达能力,以及对系统的理解程度。在一定程度上的杜绝拷贝这种现象,退一步,就算是拷贝也必须完全理解整个系统,强制学生必须实际参与课程设计。

接着去提高代码的质量和效率。先一起分析具体的代码,研究算法的效率有无进一步提高的空间。若有该如何修改,教师根据学生的具体情况,讨论确定方案后,交由学生完成。效率提高后的系统,可以在下一次课再次要求验收。另外,教师需要明确指出明显不符合计算思维的代码,要求学生当堂修改。

最后根据题目难度、完成的质量以及验收时的表现,给出一个成绩并登录在册,作为最终成绩的一部分。每个验收的系统必须提交一个配套的课程设计报告。课程设计报告能让学生学会正确的测试和事后的分析总结,起到部分的自我评价功能。每份课程设计报告也有成绩,同样登记在册,作为评定最终成绩的一个标准。

在课程设计结束时,老师除了给每位学生的一个成绩以外,再对出现的问题进行分析总结并以文档的形式反馈给学生。内容包括语言的掌握程度以及还存在的问题;数据结构的基本内容掌握情况,提交程序的效率、有无按照软件工程的思想完成,还需重点解决的问题;创新能力、沟通和团队协作能力如何等等。

参考文献:

[1] John Malmqvi st. The Application of CDIO Standards in the Evaluation of Swedish Engineering Degree Programmers[J].World Transaction on Engineering and Technology Education,2006,5(2):361-364.

[2] 查建中. 面向经济全球化的工程教育改革战略[J].计算机教育,2010(11):2-7.

[3] 中国CDIO网站. CDIO简介[EB/OL].http:///vNews.asp?typeID=30&parentID=29. 2011.

[4] 苟喜霞.车载导航系统最优路径规划的研究[D]. 北京:北京交通大学,2009.

[5] 任雪萍,王立波,赵葆华.融入PIC-CDIO理念的“数据结构”课程教学改革[J].计算机教育,2012(7):29-32.

[6] 殷旭,胡景繁,张红.基于CDIO教育模式学生学习评估方法的探索[J].高教论坛,2010(2):24-25.

数据结构课程设计范文第2篇

摘要:本文针对传统数据结构课程设计教学过程中出现的问题,提出一种案例驱动的数据结构课程设计教学方式,以帮助学生理解和掌握分析问题、解决问题的方法,提高自主学习能力,锻炼设计创新能力。实践表明,此教学方式能够弥补传统教学的不足,开阔学生的思路,提高自主完成率,达到课程设计目的。

关键词:课程设计;数据结构;案例驱动;教学改革

中图分类号:G642

文献标识码:B

1引言

数据结构课程是计算机相关专业的专业基础课程,属于专业课程体系中的核心课程。该课程着眼于对基本数据结构进行阐述和分析、讲解基本数据结构的应用并介绍典型的基本算法等三个方面,内容比较抽象枯燥,掌握起来相对困难。数据结构课程设计是一门独立的实验环节,是对数据结构课程教学理论的延伸和补充,是对理论知识的综合应用,其目的是发挥学生的主动性,培养学生分析实际问题并加以解决的能力,锻炼学生的设计创新能力。

传统的数据结构课程设计教学轻讲授,主要以对学生的单独辅导为主,督促学生完成课程设计。这种方式存在后文所提及的一些问题,随着互联网资源的日益丰富,部分问题更加突出了。为了能让学生通过课程设计更好的掌握数据结构的内容,我们设计了案例驱动的数据结构课程设计教学改革,实践证明,该项教改能够填补传统教学过程的不足。

2传统教学过程中暴露的问题

(1) 缺乏驾驭全局的能力。本科二年级学生计算机建模能力弱,没有软件工程的思想,因而缺乏驾驭全局的能力。软件工程课程一般都开设在数据结构课程之后,在进行数据结构课程设计前,学生也基本没有分析、编写较大程序的经验,这种情况造成了学生拿到问题后不知该从何下手和如何规划好课程设计的整个过程。

(2) 生搬硬套基本数据结构。数据结构教材中都是最原始的数据结构,不进行扩展和修改基本上是不能直接用到课程设计中解决实际问题的,而采用多种数据结构解决问题并加以比较找寻最优方案对于学生来说就更为困难。

(3) 对高级程序语言掌握不到位。数据结构课程设计是需要用高级程序语言来编写的,学生对该程序语言的掌握程度直接影响到课程设计的质量,常见的问题包括:变量定义不规范、函数功能划分不合理、代码可读性较差、文件读写掌握不好、调试程序能力较弱等。

(4) 照搬、照抄他人课程设计的现象存在。由于完成课程设计的时间有限,有的学生在无法自主完成的情况下,通过网络、书籍等方式来查找解题方法。本来通过查阅资料消化吸收他人的解题思路来求解自己的课程设计问题是毋庸置疑的正规途径,然而一方面课程设计的题目每个学校每届学生都相对比较固定,致使存在抄袭往届学生程序的现象,另一方面互联网的发展使得查找相似题目的课程设计源代码并非难事。此外,市面上还存在着大量快餐式的课程设计书籍在售,这类书籍良莠不齐,多是搜集、罗列了若干课程设计题目,源码、光盘附上,草草分析讲解了事。许多学生也习惯了这种快餐式的学习,能做到独立思考、举一反三的越来越少。

3案例驱动的数据结构课程设计教学改革特点

案例驱动的数据结构课程设计教学改革是将案例教学法引入数据结构课程设计教学中,教师通过讲解一个完整的案例分析解决过程,辅以多媒体的手段与学生交流、互动,达到培养学生分析并解决实际问题的能力,锻炼学生的设计创新能力的目的,同时也弥补了目前数据结构课程设计教学重实践、轻讲授的不足,丰富该项课程设计的教学内容。该方法有以下特点:

(1) 提前熟悉软件工程思想。案例的分析解决过程就是一个实践软件工程思想的过程,学生可以在讲解的过程中体会软件开发的完整流程,进而对自己的课程设计有全局性的考虑。

(2) 举一反三,定制合适的数据结构。对于案例讲解中所涉及到的数据结构,教师将进行细致的分析。采用不同数据结构解决同一问题,在性能和功能上会有所区别,学生可以在与教师的互动讨论中提高对各种数据结构的认识,从而设计适合解决自己课程设计的数据结构,甚至能够采取多种解法。

(3) 养成良好的编程习惯。优秀的代码就像优美的文章一样能使阅读者心情舒畅,教师讲解的案例都是代码级别的,定义规范、流程清楚、可读性强、具备参考价值,这样就促使学生养成良好的编程习惯。教师以多媒体手段演示代码的编制调试过程,使学生对编程环境更加熟悉,能够灵活运用跟踪、断点等调试手段,开发过程事半功倍。

(4) 最大限度避免抄袭课程设计的现象。大多数学生事实上都希望能够自主完成课程设计,只是因为不会做才导致抄袭往届学生或是市售相关书籍源码的现象存在。授之以鱼不如授之以渔,通过对典型案例的讲授,教师教给了学生解决课程设计的方法,学生找到了突破口,便愿意通过自己的努力完成任务,自己能制作“大餐”,也就不再求助于“快餐”了。

4典型数据结构课程设计案例分析

“活期储蓄帐目管理”是常见的数据结构课程设计题目,下面以其讲解过程为例简单描述一下案例驱动的数据结构课程设计教学的过程。

此课程设计需要实现的功能一般是:(1)采用交互工作方式;(2)实现储户开户;(3)实现储户销户;(4)向某账户存款;(5)从某账户取款;(6)排序显示所有账户信息;(7)查询某账户余额;(8)查询某账户交易记录;(9)所有账户及其交易信息存储至文件,程序运行时从文件中读入。该课程设计考察的知识点包括:选择并构造数据结构;使用与特定数据结构相应的算法来实现具体功能;对文件读写结构化数据;对程序设计语言的灵活运用等。

首先应对题目进行大致的分析,该题目包括两方面的信息。一方面是储户的信息,可设计为包含账号、姓名和余额等字段;另一方面是交易记录信息,可设计为包括账号、存取时间、存取标志、金额等字段,两方面信息通过账号字段关联起来。使用顺序存储结构、链式存储结构或树形结构都可以存储这些信息,但其中各有利弊。顺序存储结构设计简单,但容量固定,账户插入删除需要进行记录的移动,单个账户的交易记录信息存储不易连续导致列举时需要对全部交易记录进行完整遍历,对已排序顺序表查找某一记录时可以采用特定算法(如二分法)提高效率,总体上来说实用性和整体效率相对较差。链式存储结构设计略复杂,容量不设上限,账户插入删除较方便,采用链式结构存储的交易记录形式上连续,列举时很方便,但在查找某一记录时需要遍历整个链表效率较低,总体上来说实用性和整体效率中上。树形存储结构相对最复杂,容量也不设上限,插入、删除算法也相对复杂,采用特殊树形结构(如二叉排序树)能够提高查找记录时的效率,交易记录仍可采用链式结构存储,总体上来说实用性和整体效率较好,现实中的数据库管理系统(DBMS)多是用树形结构来实现的。从实现难度上来说,顺序存储最简单,链式存储次之,树形存储最难。因此,对学生一般要求其用链式存储来实现,对能力较强的学生可以鼓励其用树形存储来实现,以链式存储为例继续讨论。

账户信息和存取记录之间是通过账号来关联的,在链式存储结构中可以用指针来表示两者的联系,即每个账户节点(数据域可包含账号、姓名和余额等字段)具有两个指针域,一个指针指向下一个账户节点,另一个指针域指向该账户的存取记录链表(存取记录节点的数据域可包含存取时间、存取标志、金额等字段),如下图所示。

从功能上分析,储户开户、储户销户就是在账户链表中进行插入和删除操作;对账户存、取款时,首先找到相应账户,然后添加一条存取记录,同时修正该账户的余额;排序显示所有账户信息,就是对账户记录依据某一关键字进行排序并显示排序结果;查询某账户余额,就是遍历账户链表,找到对应记录并显示出来;查询某账户交易记录,就是先找到该账户,然后遍历显示该账户对应的存取记录链表。可以看出,对账户链表进行遍历查询在账户存取款、查询余额和查询存取记录是都有用到,因此在设计时,可以考虑编写查询账户函数,以供其他功能模块调用。

在文件存取方面,存取时都是以存储节点为单位进行的,即一次性存取一个结构体。该课程设计有其特殊之处,有两种类型的结构体需要存取,即账户信息和存取款记录,这两种结构体所占用的空间不尽相同,若是都保存在一个数据文件中则需要一定的技巧。以保存记录到文件为例,可以采用存一个账户信息,再存一个整形数,该整形数的数值为此账户对应存取记录节点的数量,然后再逐一保存每条存取记录,存储完毕后再用相同方法保存下一个账户的记录。读取文件过程则是存储过程的逆过程,这样可以保证存取时,账户信息和存取记录一一对应,不至于混淆。

在确定了上述思路后,便可以着手编码,值得注意的是数据结构的定义。由于采用了链式结构,许多同学便直接将链式结构的节点(包括指针域)直接存储到文件中。事实上,这个指针域是没有保存价值的,尤其在读取时如果也将指针域读出并赋值,将很有可能导致不可预知的错误。可以采取的方法是,先定义只包含数据域的数据结构体,再定义链表节点结构体将数据结构体封装起来并加上指针域,在文件读写时只对数据结构体进行操作。给出该课程设计数据结构参考定义如下:

typedef struct log //存取记录

{

char DateTime[25]; //存取时间

char W_D; //存取标志

float Amount; //存取金额

} log;

typedef struct node_log //存取记录节点

{

log data; //存取记录

struct node_log *next; //下一存取记录节点指针

} node_log, *p_node_log;

typedef struct account //账户记录

{

char ID[10]; //账号

char Name[10]; //姓名

float Balance; //余额

} account;

typedef struct node_account //账户记录节点

{

account data; //账户记录

struct node_log *nlog; //存取记录节点指针

struct node_account *next; //下一账户记录节点指针

} node_account, *p_node_account;

其他功能模块便可以参照数据结构教材上的相关算法设计实现。

5结果与结论

我们将来自3个不同专业(计算机、网络工程、软件工程)10个班级的57名同学分成了两组,一组(试验组)通过上述方法进行了课程设计教学,一组(对照组)仍采用传统方法教学,课程设计题目相同。课程设计对比统计情况如下表,其中试验组优良率达到44%,不合格率13%,对照组优良率21%,不合格率26%。同时,试验组采用了多种方式来实现了课程设计,且雷同情况较少,对照组多数采用顺序存储方式实现,程序雷同情况较多。很明显,试验组的学生思路更加开阔,自主完成率更高。

时代在变迁,信息获取更加便捷,部分学生的学习积极性在某种程度上也发生了蜕变,随之的教学方式也应有所改变,教师应从正面加以引导。在以案例驱动的数据结构课程设计教学改革实践中,教师通过对典型案例的细致分析,比较不同数据结构的优缺点,一方面使学生更加牢固的掌握了数据结构知识,另一方面让学生找到入手之门,激发学习兴趣,提高动手能力,更重要的是能让学生掌握分析和解决问题的方法,自主完成课程设计,这对今后其他课程的学习也是有所裨益的。

参考文献:

[1] 张培,肖天庆. 基于网络环境下教学设计与课程开发的合作模式研究[J]. 电化教育研究,2007,(9):60-63.

[2] 吴宏伟,张殿龙,梅险. 高校网络辅助教学的探索与实践[J]. 计算机教育,2007,(7):18-21.

[3] 张敏霞. 程序设计语言课程教学方法改革的探索与实践[J]. 中国高教研究,2004,(2):90.

[4] 姜芳,杨晋明. 浅析研究性教学在高校教学中的运用[J]. 教育与现代化,2004,(1):13-16.

数据结构课程设计范文第3篇

中图分类号:G642

摘要:介绍数据结构课程设计辅助教学平台的设计过程,说明其构建思路、系统结构和实现方法,阐述该平台集内容提供、多媒体资料库浏览、流媒体播放和交流互动于一身,采用Adobe Flex、PHP、MySQL、Apache和Flash Media Server等技术,以纯Flash方式展现,指出使用该平台可以更好地发挥教师引导、启发、监控教学过程的主导作用,同时又能充分体现学生作为学习过程主体的主动性和创造性,有利于教师启发教学和学生自主建构知识体系。

关键词:数据结构;课程设计;教学平台

0 引 言

数据结构是计算机相关专业的核心基础课程,根据教学大纲安排,各章节安排相应教学内容的验证性上机实验,还设置针对课程内容的综合设计实验环节,这是考查学生理论联系实际动手能力的重要环节,对锻炼学生发现问题、解决问题的能力也很有裨益。数据结构课程设计实验步骤如下:需求分析――选择并构造合适的数据结构――功能函数设计――具体编码实现――运行测试――完成课程设计说明书。在传统的教学安排中,实验过程由学生独立完成,教师的作用主要是答疑、过程监督和成果验收等方面,这种强调学生的“学”而忽视教师主导作用的教学过程虽然会涌现出一些优秀的作品,但也存在一些问题:一是学生自由度过大,容易偏离课程设计教学目标;二是部分学生由于缺乏专业训练,没有形成正解的思维方法,拿到题目无从下手,只能生搬硬套基本数据结构;三是代码编写不够规范,可读性差,也不注重文档的整理;四是存在照抄他人课程设计的现象。

数据结构课程设计是个综合性实践环节,不仅需要数据结构知识,还是对计算机程序设计语言、离散数学和软件工程等课程的综合运用。学生的自主学习和教师的主导学习相结合十分重要,为更好地发挥教师引导、启发、监控教学过程的主导作用,结合当前互联网应用开发的主流技术,我们设计实现了数据结构课程设计辅助教学平台,用于指导和帮助学生完成课程设计。

1 设计过程

1.1 目的与思想

数据结构课程设计辅助教学平台的主要目的包括:①通过优化学生自主学习环境,完善学习策略,充分发挥教师引导、启发、监控教学过程的主导作用;②为学生自主建构知识体系创造条件,使学生系统掌握数据结构课程内容、锻炼和提高编程能力,充分体现学生的主动性、创造性并得到成就感。设计思想主要体现在:①充分发挥互联网作用,互联网应用已成为学生课余生活的重要组成部分,教师应因势利导,利用互联网对学生进行指导和辅导;②要激发学生的兴趣,兴趣是最好的老师,教学平台的界面要美观大方和简洁明朗,注重多媒体组件的选择和使用;③学习环节的设计要贯穿整个课程设计过程,覆盖不同知识层面的学生;④注重新媒介和新技术的使用,紧跟时展步伐;⑤尊重互联网规律,在知识大爆炸时代,微课堂、“短平快”是主流,注重化繁为简和突出重点。

1.2 内容构建力,规范编程风格并实践软件工程。

(5)注重沟通交流,授人以渔。平台中开设释疑解惑栏目和课程设计论坛,预留微信公众账号,学生可以提出问题及求解,促进和强化师生间、学生间的互动交流,从点点滴滴中积累学习。

2 实现过程

(1)教师可结合数据结构实验环节的特点,挑选综合性强、涉及知识面广、适合学生自主创新的经典案例,由教师制作成设计分析讲解、代码编写讲解和运行测试讲解等分段视频,学生根据需要可自主点播。教师通过引导和启发,开拓学生思维,鼓励学生自主构造更合理的数据结构,实现更完善的功能。平台选取的案例均可用多种数据结构实现,适用于不同层次的学生,同时也考查学生对于算法设计、内外排序、文件存取和实现效率等各方面知识点的掌握情况,是对学生综合能力的考验。

(2)为了使学生能够学以致用,教师可通过咨询社会上相关领域的工程师、系统分析师和从业人员并对历届毕业、就业的学生进行问卷调查,在资源选择和案例讲解中注重理论联系实际,着力从项目管理、软件工程、测试驱动开发等方面传授从业经验,为提高学生的就业能力打下坚实基础。

(3)在教学资源的运用上,教师可提供视频、音像、文档、幻灯片、表格、图形图像和电子书籍等多种媒体形式,涵盖数据结构课程设计涉及的C语言程序设计、C++语言、算法设计、离散数学等资源内容;尊重原创者的版权,培养学生的版权意识,对所有引用的资源均详细标明来源及版权信息。

(4)注重有教无类,使不同能力水平的学生都能从中汲取养分。对于初级水平的学生,通过学习视频讲解、参考优秀作品和阅读教师点评,找到完成课程设计的入口,自主完成课程设计;对于能力强、学有余力的学生,通过查看共享资源和在自主探索中挑战自我,锻炼驾驭问题的能

2.1 系统架构

数据结构课程设计辅助教学平台的系统架构如图1所示。

数据结构课程设计辅助教学平台Web服务器采用Apache服务器,以纯Flex技术实现,数据库采用MySQL,由PHP从数据库中读取数据形成XML文件提供给Flex使用,用户通过浏览器以HTTP协议访问该平台。媒体播放采用两种形式:一是普通的媒体文件,均以Flash形式提供,包括幻灯片、课件、文档和书籍等;二是流媒体,通过FMS( Adobe Flash Media Server)流媒体服务器以RTMP协议向客户端推送。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户可以边下载边观看。采用流媒体方式和流媒体服务器还可以减轻服务器的访问压力,使得平台能够同时处理更多的用户视频点播请求。

2.2 技术特点

(1)平台是一个典型的富互联网应用(richinternet application,RIA),RIA的好处在于比用HTML能实现的接口更加健壮,反应更加灵敏,可视化特性更加出色。RIA的实现技术包括Ajax、Flex和Silverlight等,本平台使用的是Flex技术。Flex结合了音频、视频和实时通讯,用户体验极佳,具备桌面应用程序的用户交互感和传统网络应用的部署便利性。

(2)平台开发坚持跨平台、跨浏览器的特性,使用技术及组件包括Adobe Flex、Apache、PHP、MySQL、Adobe Flash Media Server等,均具备良好跨平台特性,后台服务器支持Windows、Linux和Unix等不同操作系统。平台以纯粹的Flash形式展现,具备良好跨浏览器特性,只要装有Flash Player的浏览器都能够正常浏览,支持所有主流浏览器,如IE、火狐、UC、Chrome等,客户端支持Windows、Linux等主流操作系统,同样也支持移动互联网以及基于Android、iOS的平板电脑、手机等便携设备。

(3)平台中使用到的视频、音像、文档、幻灯片、表格、图形图像和书籍等统一转换为flv格式文件,用户只需要通过浏览器就可以在线查看上述各种形式的媒体资源,不需安装任何其他插件或应用软件(如Word、Excel、Powerpoint等),充分考虑了客户端的跨平台和多样性。

(4)视频点播和视频直播中采用了FMS(Adobe Flash Media Server)流媒体服务器,该技术是主流的视频传播实现技术。通过FMS,流媒体文件将通过RTMP协议向客户端推送,图像压缩率更高,播放流畅清晰。与下载视频文件到本地后观看的网络播放形式相比,流媒体的典型特征是用户可以边下载边观看,浏览速度快,播放中支持拖拽和定位。此外,FMS还具备良好的可扩展能力,可根据用户群规模增加边缘服务器(edge server)迅速提高访问能力。

(5)流媒体视频讲解中充分利用了电子黑板软件,结合数位板硬件,在多媒体教学结合“板书”讲解,既“现代”又“传统”,让教师能够把握教学的主线,学生有充分的消化时间,弥补了多媒体教学中的不足。

(6)设计细节上注重界面设计,功能分区清晰、导航明确、操作简便、提示信息丰富;而Flash的动态特点可以增强平台的动感效果,使得颜色搭配赏心悦目、色调把握得当并以CSS样式表统一平台的风格,提高学生的使用兴趣。

2.3 功能模块

平台目前具备7个模块,分别是首页、影音中心、堂件集萃、资源共享、自主探索、优秀作品和释疑解惑,如图2所示。

1)首页模块。

首页模块(如图3所示)是平台的门面,介绍平台的目的和特色,展示最新的信息和媒体介绍。首页分为4个功能区域:1是新闻区,用来最新的通知、相关信息、教师布置的作业等;2是最新媒体资源展示区;3是平台的菜单导航区;4是网络资源链接区。

2)影音中心模块。

影音中心模块(如图4所示)集中展现平台中所有的媒体资源,包括flv形式的流媒体视频,Flash形式的教学堂件、幻灯片,Flash形式的文档、表格、书籍、代码和资料,分为3个功能区域:1是资源类目区,以树型结构展示;2是媒体放映区,支持各种格式的文档(如图5所示),也能进行视频点播和在线视频直播;3是资源区,显示当前类目对应的视频、幻灯和文档资源。

3)堂件集萃模块。

堂件集萃模块(如图6所示)以图像列表方式展现理论课堂教学和案例视频教学中的堂件,每个堂件均配有标题、所属类目、内容介绍等文字信息。所有堂件都是以Flash的形式展现,支持声音、动画、切换等功能(如图7所示)。

4)资源共享模块。

资源共享模块汇集教师和学生提供的电子书、国内外经典数据结构教材等信息资源和学习辅助材料,每个文档均注明资源名称、来源、所属类目、内容介绍、版权信息等情况。该模块以文字列表形式展现,通过点击单条记录可在线阅览相应文档。所有文档资料均采用FlashPaper形式提供在线阅读,不需安装其他插件或软件。

5)自主探索模块。

自主探索模块提供一些课程设计实践环节要求之外的、富有挑战性的课题,方便学生开拓思维、勇攀高峰、锻炼挑战自我能力,促进学生自学。

6)优秀作品模块。

优秀作品模块提供历届学生的优秀作品,这些作品均完成得较为出色且富有创新性,具有参考价值,可供广大学生下载和学习。每个作品都包含作者信息,详细注明题目要求和设计内容,有些还附有教师点评。

7)释疑解惑模块。

释疑解惑模块(如图8所示)是师生之间、学生与学生间互助学习的园地,分为3个功能区域:1区显示既往学生提出的问题及教师的答复;2区是学生向教师提出问题的区域;3区提供“中北大学数据结构论坛”的链接。

3 结语

数据结构课程设计范文第4篇

关键词课程设计数据结构教学模式问题驱动

1 引言

课程设计是课堂理论教学的延伸和补充。作为一门独立的课程,它应该完成如下基本目标:应能够完成理论与实践的结合,应能够锻炼学生的设计创新能力、分析和解决问题的能力。

数据结构与算法课程是计算机科学与技术专业以及相关专业的一门专业基础课程,同时它也是计算机科学与技术专业课程体系中的核心课程之一,它在计算机科学与技术专业的课程体系,特别是软件系列课程体系中处于承上启下、联系左右的中心地位。大量的实践表明,是否学好数据结构与算法课程对于能否学好计算机本科课程有着相当重要的作用,同时也对后续的工作和研究有着深远的影响。

现今,各大学的数据结构与算法课程和教材的内容都主要集中在“基本数据结构的阐述和分析、基本数据结构的应用、典型基本算法的适当渗透”这三个方面。其中,前两部分是重点,并占据了较多的篇幅,而这些内容的教与学离不开大量的实践,所以在数据结构与算法课程教学中经常会有大量的课程实验作为辅助。

通过进一步的深入分析可以看出,上述基本知识的学习并不是最终目标,而是为到达最终目标打下的基础。显然,从计算机科学与技术专业的知识体系可以看出:如图1所示,学习数据结构与算法更深层次的目标是能够针对实际问题来选择、扩展甚至是设计全新的数据结构,然后设计相应的存储结构并加以实现,从而最终完成问题的求解。可以看出,这一过程是一个融会贯通的过程,是不能通过课程实验完成的,也不可能在课堂教学中就可以建立完整意识的,所以在课程之后需要进行课程设计。

为此,数据结构与算法课程设计应能达到如下基本目标:培养学生应用数据结构基本知识来分析问题、解决问题的综合能力;帮助学生建立计算机问题求解的全局意识,主要是通过认识数据结构在问题求解中的地位来完成全局认识的建立(这一全局认识如图1所示);训练学生从系统的、规范的观点来进行计算机问题的分析、设计、编码、测试等。

上面分析得出的数据结构与算法的课程设计目标是符合一般的课程设计规律的。但数据结构与算法课程具有自身的、明显区别于其他课程的地方,再结合计算机专业的特点,就决定了还需要分析并建立适合数据结构与算法课程设计特点的教学模式。所以本文在第2节就数据结构与算法课程设计和其他课程的课程设计进行了对比分析,在第3节提出了一种基于问题驱动的教学模式,并就其中的关键部分给出了详细的描述。

2数据结构课程设计的特点分析

任何事物都是一般性和特殊性的统一,数据结构与算法课程设计也是一样的。和许多其他课程的课程设计一样,它有着课程设计的共性,也有自身的特性。经过和其他课程的课程设计的对比,作者认为数据结构与算法的课程设计主要具有如下特殊性。

2.1不具有明显的整体性

这是由数据结构与算法课程本身的特点决定的。由于该课程的核心内容主要集中于对各种数据结构的认识上,虽然各种数据结构之间总是存在许多内在的联系,但总的来说还是自成体系、较为独立的。

就这一点而言,数据结构与算法课程就和其他许多课程存在不同,也就使得数据结构与算法课程设计具有相应的特点。比如计算机组成原理的课程设计,可以通过做一个完整的、简化的计算机硬件系统(包括的简化的存储器、控制器、运算器等部件)来完成课程内容的全面训练,并让学生建立对计算机组成的整体认识。机械原理的课程设计可以是一个简单的机械系统的设计,完成对机械原理各部分内容的综合训练。而对于数据结构与算法的课程设计来说,几乎不可能构造一个题目把所有的数据结构都包含进去。实际上这样做是毫无意义的,因为数据结构本身就是不断扩展的,在学习、掌握基本数据结构的基础上能够对知识加以扩展并灵活运用才是真正重要的。

所以在数据结构与算法的课程设计中,应强调问题求解能力的培养,而不像其他课程的课程设计那样来强调综合设计能力。

2.2课程内容具有很强的可伸缩性

从发展状况来看,数据结构与算法的发展是极其迅速的,不断地有新的数据结构和新的算法出现,而且针对不同的问题,数据结构与算法可以做出非常灵活的调整。在这一点上它和许多其他课程不同,比如操作系统中可能会不断出现各种各样的调度算法,但都集中在进程管理中,并总归结于资源管理这一基本框架下,只要冯・诺伊曼体系结构不变,操作系统的资源管理框架就不会改变。而数据结构就不同,如就树结构而言,二元树虽然在概念上较为规整,但在实际问题中,大多都采用树结构的变形,如B树以及其他新型变形等,似乎两者都可成为教学的重点。

正是因为数据结构与算法的可收缩性,培养针对问题的数据结构设计能力才是最重要的。

2.3具有极其广泛的渗透性

计算机问题领域包括许多其他行业的问题,如经济领域问题,只要涉及到对数据的组织与处理,都能或多或少地找到数据结构的用武之地,所以培养依托数据结构完成各类问题求解的“嗅觉”是十分必要的。

总的来说,基于数据结构与算法课程的特点,建立起与之相匹配的课程设计教学模式,这样才能更好地完成教学。

3基于问题驱动的课程设计教学模式

在以上分析基础上,如图2所示,本文提出一种基于问题驱动的课程设计教学模式。

3.1问题来源

数据结构与算法课程设计的问题来源(即教学内容)主要包括:基本数据结构在解决实际问题中的应用;基本的算法策略在解决实际问题的应用;新兴数据结构的相关问题;新兴算法的相关问题及实践;经典问题的经典算法;典型系统的计算机模拟;需自行设计数据结构和算法来解决的实际问题。

3.2问题描述

在问题的描述上,侧重于用半自然语言进行描述。完全的形式化描述将减少问题分析能力的培养力度,完全的自然语言描述有包含太少的启发信息。

一般来说,要求问题的描述必须能够清晰地说明问题的含义和目标,并就采用的数据结构适当地给出启发,其中,也可以设计一些题目故意将问题的目标隐去,加强对学生问题定义能力的培养。

3.3问题求解的迭代性

问题求解是不能够一蹴而就的,一开始设计(选取)的数据结构与算法往往存在这样或那样的问题,建立逐步求精、多次迭代的问题求解思维是必要的。

为此,我们需要在学生的课程设计过程中,鼓励学生对其解决方案进行理论分析和实验分析,鼓励学生大胆提出优化方案,鼓励其积极主动的创新意识。

3.4结论形成

最终的结论(体现为课程设计报告)应以数据结构的描述为核心,并集中体现如何针对问题来完成数据结构的设计与优化。

其中,数据结构的描述应以抽象数据型(ADT)为基本手段,并在抽象数据型的基础上,引导学生深刻理解和掌握数据的逻辑结构、性质、特点、基本操作和存储结构的特点、实现和优化,并引导学生在实际应用中有意识地去为实际问题选择恰当的存储表示。

结果分析应采用理论分析和实验分析并重的方式,应适当加大实验分析的力度,使得学生能在分析结果的基础上形成总结并产生启发,最终能形成问题求解过程的全局意识。

3.5结果考核

鼓励学生选择需要设计新型数据结构(至少需要对已有数据结构作出修正)的题目,而不仅仅是实现一个定义明确的数据结构;鼓励优化方案的提出、分析和验证;鼓励学生扩展知识体系,并建立问题求解的修养;鼓励创新意识和主动学习意识的培养。

4 结束语

针对数据结构与算法课程设计的一般性和特殊性分析,本文在提出该课程设计的基本要求后,更提出了适合于数据结构与算法课程设计的“以问题求解为核心”的教学模式。近年来,经过对计算机科学与技术专业本科生的多次实践,可以看出,这一模式可以取得很好的教学效果。

参考文献

1 耿蕊,李敬有,邓文新.关于计算机基础课课程设计的研究.高师理科学刊,2005,5

2 郭福顺,廖明宏等.数据结构与算法基础.大连:大连理工大学出版社,2000

3 王伟,王东宏.计算机控制技术课程设计的实践.江苏大学学报(高教研究版),2003,10

数据结构课程设计范文第5篇

中图分类号:G642

摘要:结合高等教育心理学中的学习迁移理论,对数据结构课程设计的教学进行了思考与教学实践。文章针对数据结构课程设计的教学目标制定、设计题目设计、考核方式等各个环节的特点与问题,阐述了学习迁移理论对数据结构课程设计的指导作用;在此基础上给出了所制定的课程设计题目及一些有代表性的学生作品欣赏;对课程设计与课程实验的区别进行了论述。对今后数据结构课程设计教学具有很好的参考和借鉴价值。

关键词:学习迁移;课程设计;题目设计;作品欣赏

0 引 言

数据结构是北京林业大学信息学院的计算机科学与技术、数字媒体艺术、信息管理与信息系统等专业的一门重要专业基础课,也是必修课。它的总学时为64学时,其中理论授课48学时,实验16学时,课程设计(实习)一周,通常安排在第3学期或者第4学期开课。数据结构也是软件开发与设计、计算机算法研究与实现等课程的基础,其主要内容包括线性表、栈和队列、串、数组和广义表、树、图、查找算法和排序算法等。数据结构课程设计通常是在数据结构的授课环节以及实验环节之后,单独安排学生用大约一周的时间来完成一个较大的作业,以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。

学习迁移一般是指学习者已有的知识经验、技能等对另一种学习的影响。学习迁移是知识学习过程中普遍存在的。由数据结构课程实验到课程设计,是对数据结构基础知识到综合能力的一种自然过渡,这个过渡即为学习迁移。学生在课程学习过程中,如果能够很好地应用学习迁移,将有利于完善知识结构,收到举一反三、触类旁通的良好学习效果。可见,从数据结构基础知识到数据结构课程设计能力培养,是一种学习迁移的过程。因而,在课程设计的教学实施过程中,学习迁移理论对提高教师的授课质量和学生的学习效果起着非常重要的作用。

笔者对学习迁移基本理论进行了分析,并结合其在数据结构课程设计的实际教学实施过程中的体现,阐述了如何有效应用学习迁移理论来提高授课质量和学生的学习效率。

1 学习迁移基本理论

学习迁移是指一种学习中学得的经验对另一种学习的影响。迁移的基本过程是一个概括出新旧学习本质特征的过程。它是学习者运用已有的认知经验和技能,在对新的学习内容进行分析概括的基础上实现的。学习迁移有顺向和逆向两种,先前学习对后来学习的影响称为顺向迁移,反之则为逆向迁移。不论顺向迁移还是逆向迁移,都有正负之分。正迁移指一种学习对另一种学习起促进作用,反之起阻碍作用则为负迁移。按照迁移的方向来划分,可以分为水平迁移和垂直迁移。水平迁移指已习得的概念、规则或解决问题的方法等在同一抽象概括层次的新情境中的运用;垂直迁移指低级概念和规则向高级概念和规则的迁移。学习迁移理论主要包括以下几种。

(1)形式训练理论。该学说以官能心理学为理论依据,认为通过一定的训练,可以发展心的官能,从而将其转移到其他学习上去。

(2)相同要素理论。该理论认为原先的学习能够迁移到新的学习中去的前提条件是两种学习情境有相同的要素。并且相同要素越多,迁移的程度越高。

(3)泛化理论。泛化理论是指将在一种情境中得到的经验进行“泛化”并运用到另一种情境中去。因此在教学过程中,为使学生能够掌握学习迁移,应该让学生学会思考泛化。

(4)转化理论。支持该理论的心理学家认为学习迁移实际上是一个关系转化的问题。产生迁移的原因,是由于两者之间存在着相同的关系。我们平时强调通过理解而不是机械记忆来学习是因为理解可以转化到各种情境中去,减少知识的错误运用。

(5)学习定势理论。该理论指出迁移取决于通过练习而获得的定势或学习能力。通过练习某一种学习问题,可以帮助解决另一种不同的问题。

(6)认知迁移理论。该理论认为迁移的可能性取决于在记忆搜寻过程中遇到相关信息或技能的可能性。所以,如何增加学生在面临实际问题时提取所学知识的可能性尤为重要。提取的可能性与交互联结的数量直接有关,所以任何增加交互联结网络的“丰富性”的教育方法,对增加迁移的可能性均是有利的。

2 基于学习迁移理论指导的数据结构课程设计

依据前面对学习迁移基本理论的分析,以下将结合数据结构课程设计在教学目标、教学内容与基本要求、题目设计、考核方式以及学生作品欣赏等各个环节的特点与问题,阐述学习迁移理论对数据结构课程设计的指导作用。

2.1 课程设计教学目标

2.1.1教学目标

学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。根据形式训练理论的观点,学习技能的掌握是经过反复训练达到的,学生对知识的理解程度和技能的熟练程度越高,正迁移的可能性越大。因此实践教学环节非常重要。通过课程设计,一方面,使学生学会综合分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术;另一方面,通过课程设计中的算法设计和上机实践的训练,培养学生全面的数据抽象能力、综合的程序设汁能力等。通过此次课程设计主要达到如下目的。

(1)了解并掌握数据结构与算法的设计方法,掌握数组、链表、队列、堆栈、树、图、查找、排序等基本数据结构,具备初步的独立分析和设计能力。

(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

(3)提高独立分析和解决问题的能力。

(4)训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

2.1.2 教学实验中的迁移

教学实验侧重于帮助学生详细理解相应章节的知识点,具有针对性强、目的明确等特点。同时帮助学生树立起动手编程的信心,逐步提高学生对该章节所涉及算法的理解与动手能力。这是由基础理论知识到编程实践的一种迁移,是正迁移。我们以实验1(基于线性表的学生信息管理)为例,该实验要求学生重点掌握线性表的定义与线性表的基本操作,如建立、查找、插入和删除等。其实验内容详细地介绍了需要实现的每一个功能。同时,为了使动手能力差、基础薄弱的学生也能快速地掌握编程技术,教学实验通常会给出一些代码不完整的参考程序供他们参考,只需添加需要实验的线性表功能的代码即可。这样,使学生能够对前面学习过的理论知识的理解更加清晰、深刻,有利于学生扎实地掌握理论知识。可见,这是后面编程实践所获得的经验对前面所学理论知识的一种迁移,是逆迁移。按照泛化理论,我们需要把一种情境中得到的经验进行“泛化”并运用到另一种情境中去,应该让学生学会思考泛化。为此,为了满足编程能力强的学生的需求,实验要求中除了必做题目外,还安排了选作内容供他们选择实现,充分调动不同能力的学生的编程积极性。

与教学实验不同,数据结构课程设计强调的是学生综合运用知识点与基础算法,设计出较为复杂的用来解决实际问题的算法。题目要求往往只是提出对课程设计题目的描述,而非一条一条的具体功能,这就要求学生具有一定的分析问题的能力和学习迁移的能力,综合运用所学知识解决题目中所描述的问题。所以,课程设计强调培养学生综合运用知识来分析问题、解决问题的能力,这也是泛化理论的体现。

总之,课程设计的目标是使学生能将数据结构课程中所学的基本知识融会贯通,综合运用所学的知识解决相关的实际问题,能够把所学知识(包括算法和结构)在计算机上用编程语言加以实现,并且能够根据实际需求创建自己的数据结构和实现自己的算法。而学习迁移是实现这一目标的有效途径。只有在掌握好基础理论知识的基础上学会迁移,才能更好地解决问题、达成目标。

2.2 课程设计的内容及基本要求

合理安排课程设计的内容才能充分发挥其迁移的功效。从学习迁移的角度来说,合理安排课程设计的内容的标准就是使课程设计内容与课堂教学内容具有一定的关联性和一致性,这有助于学生在做课程设计的过程中巩固课堂所学知识,加深对知识的理解,重构教学内容的结构,为知识迁移提供很好的支撑。

课程设计的内容既要遵循基本的授课内容,又要从一定的高度上对基本内容进行抽象与发展,使之能够真实、准确地反映出由基础知识到综合运用能力的迁移过程。因而本文中课程设计的内容主要包括:①设计准备:理解实习任务,明确相关算法,搜集可用资源,熟悉实习环境。②方案设计:完成设计目标、设计路线的确定,并进行模块设计和任务分工。③代码编写:各模块代码编写、模块测试。④代码测试:模块组装、整体测试。⑤设计报告:完成设计文档,制作设计报告。

为了保证综合、灵活运用基础知识的迁移效果,课程设计有如下基本要求:首先,学生应该独立思考、独立完成。在课程设计过程中各任务的设计和调试要求小组独立完成,遇到问题可以讨论,但不可以拷贝。其次,要做好上机准备。每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。再次,按照课程设计的具体要求建立功能模块,每个模块要求按照以下几个内容认真完成,包括需求分析、概要设计、详细设计、调试分析、课程设计总结。最后,课程设计结束后需要对课程设计结果进行检查和演示,并提交程序源代码和文档文件、课程设计报告等内容。

课程设计过程中的编程环节是从程序设计语言课程到数据结构课程的另外一种重要的知识迁移,需要用面向程序或者面向对象的思想来完成数据结构中线性表等基本的结构定义以及操作。本文中课程设计需要重点注意的事项有:①注意备份源文件;②不要轻易删除代码,如需要修改,最好用注释方法来代替删除;③熟悉常用的调试技巧。

2.3 课程设计题目设计

为了促进学生正迁移学习,教师要科学合理地设计课设的题目,要建立在学生主动、适度、适量、适时且形式多样化的基础上,引导学生综合利用所学知识和经验,深入思考分析问题,学以致用。按照形式训练理论,我们需要通过一定的训练进而发展学生心的官能,从而将其前面所学知识转移到其他学习上去。为此,通过教学实验内容的训练,我们已经训练了学生在基础理论与基础编程中的能力,这些经验为先前知识的转移打下了坚实的基础。按照泛化理论,我们将在一种情境中得到的经验进行“泛化”并运用到另一种情境中去,需要让学生学会思考泛化。为此,与教学实验的细化要求不同,我们所设计的课程设计题目主要是给出题目要求的概括性描述,之后是一些要求与提示,还会有一些对题目中个别语句的解释,但不会给出参考的代码,全凭学生自己的知识组成以及算法设计来完成题目要求。我们从泛化理论出发,2011级数字媒体艺术专业的课程设计共8个题目,其中题目1-7具体给出所做题目的描述,同时为了发挥学生的学习积极性,允许学生自拟题目,给学生一定的自由发挥的空间,但是需要教师对自拟题目的难度以及实验小组的组成进行一定的把关。

2.4 课程设计成绩评定体系

课程设计成绩评定体系是对学习迁移理论在课程设计中应用的成果的一个重要体现,因而需要我们更客观、更公平地评价学生的实习成果。为了避免片面的评价,本文中课程设计将综合考虑小组成员各自完成的任务与工作态度情况、机房中源代码系统与PPT的演示与答辩情况、课程设计报告书的质量等,请三位老师分别对上述项目分别打分,最终按照一定的权值进行综合求和。为了体现编程实践、报告在课程设计最终目标中的知识迁移效果,规定源代码演示未通过、末提交报告等情况记为不及格。

3 学习迁移效果展示

学生最终的作品是学习迁移理论应用于课程设计成果的具体体现。课程设计过程中,每个小组对各自的题目进行了深入研究,从基础知识向深度、广度上进行探索与综合,经过团队协作,完成了各自作品。我们选取了3个具有代表性的作品向大家展示。图1展示了某小组学生完成的手机通讯录系统界面,该系统具有大多数其他手机通讯录系统所不具备的动态常用联系人标定功能。图2展示了某小组学生完成的贪吃蛇游戏。该游戏通过MFC设计界面,通过链表组织贪吃蛇的结构,完成了贪吃蛇游戏的功能,但没有处理蛇碰壁的情况。图3展示了某小组学生完成的电梯模拟系统。该题目是学生自选题目,该系统可以自动模拟电梯的不同运行情况,同时考虑了用户请求的优先级问题。自选题目使学生充分发挥自己的主观能动性,更好地将理论知识迁移到综合设计能力上来。

4 课程设计分析

本次课程设计以学习迁移理论为指导,为了调动学生的积极性,并适合不同学生的风格和能力,这次课程设计共出了7个指定题目供学生选择,如果学生有自己的想法,也可以自拟题目,充分发挥学生的主观能动性,同时要求学生以软件工程的要求来实现这次课程设计,从需求分析到概要设计,再到详细设计,最终是调试分析。

从学生最终的作品来看,选择《手机通讯录功能模拟》的学生比较多,其次是《文章编辑系统》,其他题目选择的人数较少,《教学计划编制问题》无人选择。这主要是因为《手机通讯录功能模拟》题目与实验1有很多相似之处,只要对实验1做合理的改动以及扩充,即可完成手机通讯录的功能。从学生课题完成情况看,绝大多数学生完成了课程设计的基本功能要求,一部分学生还综合考虑了用户界面、程序健壮性等因素,课题完成质量较高。数据结构课程设计是在所学基础知识之上,对数据结构的深层次应用,既引导学生深入熟悉编程技巧,又加深对课程知识的理解,这体现了学习迁移的过程。实践证明,这在一定程度上激发了学生的积极性,有效提高了学生的编程能力,使得部分以前不怎么会编程的学生体会到了编程的乐趣。不过,还有一些学生并没有找到自己编程的方法,对数据结构的基本概念不是很清晰。这一方面与学生自身的编程基础较为薄弱有关,另一方面也是需要教师在指导过程中进一步加强基础知识与编程环境之间的联系,引导学生积极主动掌握学习迁移,并且能够针对实验中出现的问题及时进行一些专门讲解。实际情况表明,这次课程设计不但使得学生可以充分了解算法设计,而且能使学生了解软件工程的设计过程,为后续课程的进行提供一个好的开始。同时锻炼了学生的学习迁移能力,对后续学习是非常有利的。

5 结语

数据结构课程设计范文第6篇

【关键词】项目驱动;课程设计;应用型院校

Abstract:Project driven teaching method is a teaching activity of the teachers and students carry out a complete“project”together,the traditional project driven teaching methods focus on the task-driven in the process of teaching and cultivate students’learning enthusiasm in class,however the“project-driven + course design”of teaching and testing mode not only emphasizes on classroom teaching,but also pays more attention to learning effect.First,it will break up the teaching contents and integrate them according to the knowledge task modules,then group the students and organize the discussion according to the knowledge task in different stages.In the end,it hands in the learning results in the form of a report and then completes the process of learning.This kind of teaching process is particularly suited to the applied college students.This paper is based on the“data structure”of the computer professional course teaching,provides the method of division of knowledge task modules to the teachers and helps teachers guide students to ask questions,analyze problems in practice and solve the problem at last,so as to improve students'learning enthusiasm and initiative,make students'theoretical level and skills operation reach a new level.

Key words:project driven;course design;applied college

1.《数据结构》课程授课现状

《数据结构》课程是计算机及其相关专业的核心基础课程,是一门理论与实践相结合的课程,在整个计算机专业教学体系中处于举足轻重的地位,特别在软件方向的课程体系中处于承上启下的中心地位。长期以来,《数据结构》课程的教学备受相关学院领导高度重视,然而,大部分高校《数据结构》课程的教学效果都不尽如人意,影响教学效果的原因大致如下:

(1)理论教学与实践教学严重脱节。目前对于《数据结构》的理论教学主要是教师首先讲解基本的结构思想,然后再引导学生读懂由类C++语言编写的算法,最后布置作业让学生思考针对这些算法的问题。在实践教学方面,学生通常要做的事是将课本上写的很详细的代码翻译成相应的高级程序语言并调试通过,甚至不会去自己解决一个稍微复杂点儿的综合问题。基于上述两种原因,学生在学习的过程中可以不用费神思考就能将问题解决,但是离开课本遇到一个新的具体的问题就不知所措,体现不出学生独立思考问题的能力,实践教学环节更是流于形式,加之学生程序设计的基本功不扎实,久而久之对学习编程和思考问题失去兴趣。

(2)传统单一的考核形式,不能体现学生的技能水平。现阶段大多数高校对于《数据结构》课程的考试形式总是以笔试为主,考核的内容还是单一的理论知识,尽管最后有编程题目或者分析题,但是均不能体现学生的技能掌握的如何,90%的学生感觉学习了《数据结构》这门课程对自己以后的学习和工作没有用处,进而减弱了学习的信心,导致学生再学习后续的数据库和编程方面的课程的时候,缺乏模型构建的能力。

2.项目驱动教学法在《数据结构》课程中的应用分析

项目驱动教学法是以学生为主体,以项目知识为主线,教师参与引导的教学方法,它不再是“教师讲,学生听”的被动教学模式[1]。该教学方法的主要目的是让学生真正的参与到课堂中来,培养他们主动思考问题和创新的能力,特别适合于像《数据结构》这种内容延伸性强、抽象思维要求特别高的课程。

2.1 项目驱动教学法的特点

项目驱动不同于简单的任务驱动,它更侧重于培养学生解决未遇到的关键问题的能力,在教学过程中表现为以项目为本位、以学生为主体的重要特征,要求教师设计的项目要具有一定的应用价值,并且最好与企业实际生产过程或具体问题有直接的关系。项目教学法的特点如下:

(1)具有实践性:项目的主体与现实世界密切相连,学生的学习内容更加的具有针对性和实用性。

(2)具有自主性:学生自由、自主的分组进行学习,根据自己的理解发挥想象力,从而促进学生创造能力的发展。

(3)具有发展性:长期项目与阶段项目相结合,构成为实现教育目标的认知过程。

(4)具有综合性:项目的设计本身需要综合多个学科,所以培养了学生综合运用知识的能力。

(5)具有开放性:学生需要围绕问题进行探索和解决,所以学生的学习形式不再局限于课堂[2]。

2.2 师生角色的相互转变

项目驱动教学方法要求每位学生均要真正的参与课堂中来,在老师的引导下,发挥想象、参与研究、参与创造。因此,项目驱动教学法较以往的传统教学实现了两个打破:

第一,打破教材章节顺序,以项目为主线完成课程的培养目标。教师须在完全吃透课程培养目标的基础上,熟悉教材知识点,然后根据要传授的知识点结合该专业的就业方向和岗位构建项目,教师的主要精力应放在项目的设计、布置和引导方面,教师设计项目的优劣直接影响学生的学习效果。另外,在教学的初级阶段,教师还应该全面把握项目实施过程中学生可能出现的问题以及如何解决。在项目的实施阶段,教师只是起到引导和督促的作用,而不参与讨论,当各组学生都提出普遍不懂的问题时,可以先引导其查阅相关的资料或略微指导一二,教师在整个的过程中完全成了一名向导和顾问。当然,如何引导学生在项目实践中发现新问题和掌握新知识,这对老师提出了更高的要求。

第二,打破教师在台上泛泛的讲,学生在台下静静的听的局面。项目驱动教学法要求先将学生分组,每一组学生接到教师的项目后就开始自行分配任务,并且在指定的时间内将相关的问题解决,这期间可能会查资料、相互讨论、请教师长等,学生的教材理所当然的当成了查找知识的工具书,或者有些教材甚至可以不用给学生征订,节约了教育成本。这样,我们的教学才真正做到了注重过程、以学生为本。

2.3 项目驱动下的《数据结构》课程划分

以《数据结构》课程的教学为例,在采用了项目驱动教学法后,我们将课程的知识点划分成了10个项目:

表1 《数据结构》课程项目示例表

项目名称 相关知识点 参考课时

通讯录信息管理系统 线性表、查找、排序 6

某高校学生成绩管理系统 线性表、串、查找、排序 6

婚姻的稳定性情况调查 数组、栈 8

理发馆的经营状况分析 线性表、队列 6

十进制四则运算器设计 栈、树结构、浮点数运算 8

汽车零部件的库存模型设计 广义表、查找、排序 8

因特网域名查询系统 树结构、查找 6

小型汽车牌照的快速查找系统 线性表、查找、排序 10

管道铺设施工方案设计和选择 图结构 8

文章系统设计 文件、查找、排序 10

受现阶段高校授课时间的限制,针对不同的学生层次,这10个项目可能不能全部做完。根据学生的特点,教师可以有针对性的选作期中的5-8个,进而分配相关的课时。实践证明:在标准课时之内,只有30%的学生能够完成一个完整的项目,但是90%的学生能够利用课后的时间积极的查阅资料和咨询老师,这种授课方法对学生的主动学习起到了一个积极的推动作用,并且学生愿意牺牲课后休息的时间泡在图书馆。

3.具体项目实施过程

下面以“通讯录信息管理系统”为例,阐述在《数据结构》课程中实施项目驱动教学法的过程。

3.1 项目名称:通讯录管理系统。

3.2 培养目标:第一,使学生掌握线性结构的特点、线性结构的表现形式。第二,使学生领会数据在计算机中存储的概念,并掌握两种重要的存储形式。第三,掌(下转第179页)(上接第171页)握线性表和链表的区别,能够根据实际情况选择不同的存储结构。第四,能够对实施的算法进行性能评价。

3.3 项目预备知识:C语言编程基础、线性表的定义、线性表的存储结构、线性表的创建、线性表中元素的查找、插入、删除、修改等操作。

3.4 项目延伸知识:线性表中元素的排列(按照某种规则进行排序)。

3.5 项目的功能描述:该系统是普通的电话通讯录管理系统,要求实现能够根据姓名或者电话号码查询一个用户,能够实现对新用户的添加操作和删除一个用户,能够统计出该通讯录中的用户总数。比如:用户有一个电话号码,但不知道此电话号码是谁的,则需要输入号码来查询该号码是不是此通讯录中已记录的人的号码,若是可以输出该号码及姓名,若不是可以输出“无记录”。同学们在此基础上发挥想象力,结合实际可以扩展更多的功能。

3.6 项目实施步骤:

(1)根据学生的特长进行团队划分。按照一个班级35人的标准,我们将学生分成5-6个团队,每个团队在5-6人,然后推荐一名队长。

(2)教师开始下发项目书,要求每一个团队根据项目书撰写项目的可行性报告,每个团队以文字的形式上交一份报告,在此期间至少要保证每个团队的队长明白项目的完成目标,然后由队长写出项目过程的具体划分和阶段性成果。

(3)教师要不间断的引导,当完成项目的可行性报告之后,每个团队就开始查找资料和相互讨论,教师在旁边起到一个引导和监督的作用,对于学生普遍问及的问题可以进行统一解答。教师有目的的讲课,学生有目的的听课,所以实现了共赢的局面。

(4)教师总结阶段,每个项目完成之前,教师要对各个团队的成果进行演示和评价,指出每个团队的不足之处。

(5)学生整改阶段,学生根据教师的评价,完善自己的不足,然后形成阶段性课程设计报告。

4.《数据结构》课程的考核形式及评价

《数据结构》课程不同于其他的专业课,该课程中所设计到的算法和思想具有可收缩性,它应强调对于问题求解能力的培养,我们需要在学生的课程设计过程中,鼓励学生对其解决问题的方案进行理论分析和实验分析,鼓励学生积极主动的创新并大胆提出优化设计方案。对于该课程的考核形式是让学生根据自己平时的课程项目,将项目整理成课程设计报告,最终上交纸质的课程设计报告书,然后教师对报告进行评价。

考虑到《数据结构》这类课程一直以来是计算机相关专业学生学历层次提升考试的重要专业课,在进行课程考核的时候,有些学校除了让学生形成最终的课程设计报告书之外,还让学生参加一次笔试考试,以了解学生对于基础知识的掌握水平。

采用了项目驱动+课程设计的教学模式以后,学生普遍反映对数据结构的学习非常感兴趣,老师们则感觉采用这种方式以后,学生的学习积极性提高了,但是同时老师们的教学压力也变得大了,因为增加了老师准备课堂的负担,但是总体感觉是利大于弊的。

5.实施项目教学法的总结与展望

通过《数据结构》教学中实施项目驱动教学法,我体会到项目教学在专业基础课中实施的必要性,当然该教学方法也不是万能的,它不是适合于所有的课程,通常来讲:这种教学方法比较适合实践操作性强,学科比较综合的课程,同时,我有如下几点体会:

(1)项目教学法重要的是项目的设计,它可能直接影响教学的效果。在进行项目设计时,我们需要考虑学生对项目的理解、项目包括的知识点的范围、课程的前驱后继关系等,否则,我们设计的项目将是没有意义的。

(2)教师的有力引导是确保项目顺利完成的重要保障,学生在进行项目设计的过程中遇到棘手的问题需要老师第一时间进行指导。再者教师要事前全面掌握学生的学习层次,进行有目的性的指导,并能给学生留有思考的空间。

(3)做过的项目必须要有总结。作为教师除了开课前需要对所有的教学项目设计明白了之外,对于每一组学生做过的每一组项目必须都要有总结,这样一方面可以让学生觉得教师对他们的重视,另一方面是通过总结可以让学生之间取长补短、互相提高。

与传统的教学方法相比,项目教学法对教师和课堂提出了更高的要求,切实提高了学生对于知识的综合运用能力,切实提高了学生的实践操作能力,也切实增加了老师的教学工作量。但是,整个的教学过程中,教师发挥了主导作用,也体现了学生的主题地位,所以整个课堂的教学教师和学生的心态都是愉悦的,使课堂的教学效果有了很大的提高。

参考文献

[1]李萍.浅谈项目教学法[J].企业导报,2011(10):235.

[2]徐肇杰.任务驱动教学法与项目教学法之比较[J].教育与职业,2008(11):36.

[3]章亚钧.创新项目教学法在通信技术课中的应用探讨[J].中国教育技术装备,2011(11).

[4]郑丽娟,付宇明,宜亚丽,陈革新,曾达幸.项目教学法下对教师角色的思考[J].教育教学论坛,2010(24).

[5]龚毅.项目教学法在通信技术课程中的应用研究[D].上海师范大学,2012.

数据结构课程设计范文第7篇

关键词:CDIO模式;教学改革;创新意识

CDIO是Conceiving,designing,implementingandoperating的缩写,即“构思、设计、实现、运作”。2014-2015年度第一学期,我们对辽宁工业大学(以下简称我校)电信学院数据结构课程,以CDIO模式进行了数据结构课程设计教学模式的探索。数据结构课程是一门实践性很强的专业核心课程,将CDIO教学模式在数据结构课程设计运用,就是培养学生创新能力、分析设计能力和团队合作能力的重要途径。培养学生充分考虑数据结构特性、响应速度、处理时间、存储空间和单位时间的处理量技术参数,鼓励学生自己去尝试各种设计方案,找出最有效的解决办法,着重培养学生专业能力、分析设计能力和合作能力。

一、传统实践教学存在的问题

实施教学改革前,传统的数据结构的课程设计是一般性设计。课设布置题目是针对教学内容的小型练习题,让学生独立完成程序设计与实现。从学生的认知规律以及学生不同个体差异来看,把一些难懂的、晦涩的、抽象的东西原封不动地给出并采取传统的教学模式进行教与学有几点弊端:第一,学生在毫无知识背景的前提下,要完全理解这些抽象概念及抽象数据类型比较困难。第二,课设涉及到的知识点内容单一,不需要学生考虑创新思维方面的设计方案。只要将课堂讲过的内容直接拿来用就可以,对于课设中各种技术参数的要求可以说没有理解,导致设计解决方案不是最合适的。课程设计没有达到预期收获。第三,学生缺乏团队合作过程,自己完成一个小型题目,在设计方案和算法设计过程中锻炼的层次和涉及面都比较窄。没有体现数据结构在处理大规模复杂问题时才能体现出的优势,使学生没有真正认识数据结构存在的意义。对以后学生参加实践类课程活动有很大影响。

二、课程设计的改革措施

《数据结构》课程设计采用了CDIO教学模式,强调知识的综合运用,锻炼学生对复杂问题进行分析与求解的能力,在项目实施过程中始终围绕“构思、设计、实现、运作”。它的指导思想是:以工程设计任务为导向,以培养学生创新能力、团队合作能力为主要目标。通过利用综合性课程设计,培养学生进行复杂程序设计这个主线,将学生在课堂上所学的比较抽象的理论知识具体化,提高了理论和实践相结合的能力。具体做法如下:

(一)课程设计内容改革

第一,从课程设计选题上精心准备:需要介绍题目内容,介绍算法产生的背景。明确数据内在的必然联系,分析数据的逻辑结构;确定解决问题所需要用到的算法及设计参数的要求,设计数据的存储结构;解决该课设到底应该怎么做的问题。题目规模适宜,课程设计题目覆盖的知识点应尽可能避免单一,设计内容要新,具有综合性。第二,扩大知识面:要求学生从需求分析开始,通过查找大量的资料,充分理解设计技术参数的要求及实现方式,根据设计要求对空间复杂度、处理时间、时间复杂度和单位时间的处理量等技术参数,分析数据进行哪些操作,建立数据的存储结构。第三,数据结构课程特点逻辑结构强,概念抽象,学生对于知识点的综合运用能力差。在课设中明确知识点的前后序关系和知识点的归属,解决学生只见树木不见森林的盲目性和随机性。

(二)课程设计实施方法

我们对辽宁工业大学电子与信息学院数据结构课程,以CDIO模式进行了数据结构课程设计教学模式的探索,并且实施如下改革:第一,采用启发式的设计思路,引导学生围绕课程设计目标,通过查找与分析有关参考资料,培养和鼓励学生的学习兴趣,同时提高学生查阅资料的能力。第二,让学生能够按照软件工程的思想进行软件的分析、设计与实现,提高学生实践动手能力和协作开发大型软件项目的能力。第三,在项目实施中,进行探究式的学习,不应该只是“手把手”地教,要给学生留出发挥想象力和创造力的空间,激发学生创造的意识和能力。第四,努力使学生对规范性的软件开发不仅仅是以实现相应的程序为目标,更重要的是培养学生今后从事软件开发所需要的各种能力与素质,包括测试能力和文档写作的能力。因此,在课程设计实施中,我们考察学生程序编写、测试以及实验报告撰写工作。

三、实践情况及效果

CDIO模式在国际高等教育中已有共识,通过实践,根据软件工程专业本科教学的培养目标,解决了传统教学方式存在的问题,提高了实践能力,体会到数据结构课程设计实践教学采用CDIO模式,突出了学生在理论教学与实践教学过程中的主体地位,提高了教学的针对性和实效性。将CDIO教学模式引入到数据结构课程设计教学中,改变了该课程的教学理念,重理论,轻实践;重课堂,轻课外。改变了教师单向的知识传授与学生被动接受之间的教与学模式,实践情况及效果表现在:(1)学生学习方式发生了转变,从被动接受知识,到主动查阅资料,对于题目要求的设计技术参数有了进一步理解,使学生学会分析和研究计算机处理的数据结构的特点,分析数据的逻辑结构及设计存储结构,设计算法的基本思想,提高了理论和实践相结合的能力。对知识有比较全面深刻了解,实际解决问题的能力有了明显的提升。(2)采用CDIO教学模式,对于课程设计题目精心安排,给学生留出发挥想象力和创造力的空间,提高了学生运用知识分析问题和解决问题的能力。培养学生的创新能力和创造性思维。(3)实践中,培养学生充分考虑数据结构特性、响应速度、处理时间、存储空间和单位时间的处理量技术参数,鼓励学生自己去尝试各种设计方案,找出最有效的解决办法。着重培养学生专业能力、分析设计能力和合作能力。

参考文献:

[1]张洪奎,等.部级实验教学示范中心建设的探索与实践[J].高等理科教育,2009,83(1):22-26.

[2]方恺晴,等.信息技术实验室教学示范中心的建设与改革[J].实验室研究与探索,2009,28(4):93-95,100.

[3]陈春林,等.基于CDIO教育理念的工程学科教育改革与实践[J].教育与现代化,2010(1):30-34.

[4]顾佩华,等.从CDIO到EIP-CDIO-汕头大学工程教育与人才培养模式探讨[J].高等工程教育研究,2009,12(1):12-19.

数据结构课程设计范文第8篇

关键词: 《数据结构》课程 教学效果 教学改革

1.课程介绍

《数据结构》是计算机专业的一门重要的专业基础必修课程,是计算机专业后续课程的基础,主要用于处理非数值计算问题。学习《数据结构》就是要让学生掌握数据在计算机中的表示、组织和相应结构上的算法设计,以便学生在软件的开发过程中能选择适当的逻辑结构、存储结构,高效设计算法,并初步掌握算法的时间和空间分析技术。

《数据结构》课程主要介绍:线性表、栈、队列、数组、串、树和二叉树、图等基本数据结构及其应用;排序和查找的原理与方法。通过本课程的学习,学生能较熟练地掌握数据结构的基本概念、特性,存储结构及其相关算法;熟悉它们在计算机科学中最基本的应用;培养和训练运用高级程序设计语言编写结构清晰、可读性好的算法及初步评价算法的能力;为《编译原理》、《操作系统》、《数据库系统原理》等后续课程的学习,以及计算机软件的研制和开发打下一定的理论及实践基础。

2.教学效果不佳的成因分析

《数据结构》课程的基础性,以及该课程在计算机专业全国考研统考专业课程中所占的比重,使得大多数学生都能较认真地对待本课程。但在实际的教学过程中,我发现教学效果一直不尽如人意,不仅表现在期末考试补考率居高不下,还表现在课程实验和课程设计两个实践环节中,学生难以将课堂教学内容转化为可实际运行的程序,以及解决实际问题的能力较差。学生普遍反映的问题是:课堂上听老师讲解觉得很好理解,但等到要学生自己选择数据结构,并设计算法来解决实际问题的时候就感觉力不从心了。部分学生觉得数据结构理论性太强,过于抽象,在实际的应用中很难抽象出各种数据类型。另外一个常见的现象就是只知道本课程很重要,但不知道重要在什么地方,与实际生活相脱节,不能用来解决实际问题。教学效果不佳,我认为大致有如下原因。

2.1先修课程基础不扎实

《数据结构》的直接先修课程主要是高级程序设计语言(我校为C语言),但是同时也要求学生具备一定的数学知识。对大多数学生而言,数学课程和高级程序设计语言的学习也是有一定难度的,所以部分学生无法理解课堂上讲的例题和思路,难以进行算法分析、比较算法性能和算法的编程实现。

2.2教学方式单一

现在很多高校在《数据结构》教学过程中都已经采用多媒体的形式进行教学,我院就是这样。我认为,多媒体教学是把双刃剑,即使用不当不但不会带来任何益处,反而会带来弊端。曾有学生向我反映,通过PPT,传授的信息量太多,同学们理解困难,跟不上节奏,严重影响了教学效果。

2.3没抓好课程实验环节

课程实验环节是紧密配合理论教学,通过实验,帮助和加深学生对相应数据结构的物理结构和逻辑结构和编程实现等各个环节的整体理解。但是学生面对程序错误的时候,总是显得手足无措,老师如若不能采取相应的措施,抓好课程实验环节,则会直接影响教学效果。

2.4理论教学与实际应用相脱节

数据结构课程是建立在抽象数据类型的基础上,用于解决非数值计算问题的一门学科,内容相对比较抽象、琐碎、庞杂,并且涉及很多概念和技术。因此,如果单纯地按照课本照本宣科,就不能和实际应用相结合,学生就会很难接受。而即使有相关的实验,但是由于基本上都是一些验证性实验,做完结束,实际上也并没有体会到知识的实质,更别说做到融会贯通了。

3.教学改革探讨

3.1做好课程衔接

数据结构课程的直接先修课程虽然只有高级程序设计语言一门(C语言),但实际上与高等数学和离散数学中的相关知识点也联系甚密,做好课程衔接是数据结构教学改革中必须探讨的问题。例如,算法分析的研究必须以一定的数学理论为基础;非线性结构的分析必须用到树和图的基本知识。另外,数据结构编程实现过程中,高级程序设计语言中的指针和结构体是频繁出现的知识点。因此,针对课程衔接过程中的重要知识点,一定要采取适当的办法加以回顾,我院在实际教学中就已经安排了一到两次的衔接课程。

3.2教学方式的合理运用

在多媒体辅助教学普及的今天,一定要根据数据结构课程的各知识点的特点,将多媒体辅助教学与传统教学有机结合。所以在数据结构的课程教学中利用多媒体技术时,一定要注意扬长避短,并根据该课程概念多、内容抽象、逻辑性强等特点,精心设计、制作多媒体课件,进行一些必要的动态演示,并适时地运用传统教学模式,组织必要的课堂讨论、课堂提问等形式多样的课堂交互环节。

3.3课程实验设计与安排

课程实验是伴随着《数据结构》课程的课堂教学而进行的实践教学环节。与课程设计实践教学环节不同的是,课程实验的时间安排上是松散的;根据实验教学大纲的要求,依据不同的章节内容安排不同的实验项目。课程实验的目的主要在于掌握各种数据结构的物理实现方法和掌握基本算法的设计实现方法。通过实验,强化培养“结构―算法―编程”三者密切相关的意识。所以在课程实验的设计上,一般较偏重于如何编写功能单一的“小”算法的问题;而在实验安排上,一定要充分调动学生的积极性,并严格要求学生做好实验前的准备工作:主要是实验程序的准备和相关知识点的温习。我在实际教学过程中,一般在安排实验的前一次课堂教学中,会安排足够的时间,阐明实验项目要求,并演示实验效果,以便学生根据要求和效果做好实验前的准备工作。

3.4通过课程设计锻炼学生理论与实践相结合的能力

课程设计是《数据结构》课程课堂教学和课程实验的延续,是重要的一环。我院将其列为一门单独的考查课,主要是锻炼学生根据实际问题的要求,正确选择合理的逻辑结构,并采用适当的物理结构,解决实际问题的能力;更深层次的目标则是希望学生能够针对实际问题选择、扩展甚至设计全新的数据结构,然后设计相应的存储结构并加以实现,从而最终完成问题的求解。由此可以看出,课程设计环节是一个融会贯通的过程,是不能通过课程实验完成的,也不可能在课堂教学中就建立完整的意识。所以在具体的课程设计实践教学环节中,一定要让学生充分认识课程设计的重要性;通过给定学生不同的求解问题,让学生培养应用数据结构基本知识来分析问题、解决问题的全局意识;训练学生从系统的、规范的观点来进行计算机问题的分析、设计、编码测试等。总之,课程设计要有利于锻炼学生理论与实践相结合的能力。

4.结语

我针对《数据结构》课程的特点,分析了教学效果不佳的成因;并结合实践,总结了从做好课程衔接、教学方式的合理运用、课程实验设计与安排、通过课程设计锻炼学生理论与实践相结合的能力四个方面,尝试对《数据结构》课程进行教学改革。

参考文献:

[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2008.

[2]叶双,吴清江等.提高“数据结构”课程教学效果的方法初探[J].计算机教育,2009,(11).

[3]郝宗波.数据结构课程教学改革探讨[J].计算机教育,2011,(2).

[4]朱小梅,杨先凤等.数据结构课程教学方法探析[J].探索研究,2011,(5).

[5]邱保志.多媒体技术在《数据结构》课程教学中的应用研究[J].廊坊师范学院学报(自然科学版),2010,(2).

[6]李群,赵玉霞等.《数据结构》实验课程设计与探讨[J].中国现代教育装备,2007,(3).

数据结构课程设计范文第9篇

关键词:实践课程;能力结构;研究性学习;创新实践能力;模块化教学

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)49-0135-03

“十五”期间,国家教育部计算机科学与技术专业教学指导委员会发表了《高等学校计算机本科专业发展战略研究报告暨专业规范(试行)》。《规范》中提出了“专业方向分类”发展的基本思想和三个辅助建议,辅助建议其中之一是“加强学生实践和动手能力的培养”。

数据结构课程是计算机科学与技术专业的一门专业基础课。该课程的任务是学会从解决问题入手,为所加工的数据选取适宜的逻辑结构、存储结构及其算法。初步掌握算法的时间与空间复杂性的分析方法,同时进行复杂程序设计的训练,使编写的程序代码结构清晰、易读理解,符合软件工程的规范。教学计划是一个整体,实践教学体系是整体教学计划的一部分。数据结构实践课程是数据结构课程的重要组成部分。本文从支持研究性学习及创新实践能力的数据结构实践课程教学体系的构建、以提高创新实践能力为重点的数据结构实践平台的完善以及以能力结构教学目标为依据的知识单元模块化教学的具体实施等三个方面进行实践课程的教改探索。

一、以能力结构培养目标为驱动,构建数据结构实践课程教学体系

知识结构、能力结构和综合素质是人才培养与人才评价的三个主要因素。其中,能力结构是第一位的,知识结构与综合素质都是为能力结构做支撑服务的。要强化学生的能力结构,就必须形成较完备的实践教学体系,将实践课程教学体系作为一个系统来构建。理论课程体系的设计主要体现专业结构、知识结构的培养目标要求,从而确定理论课程的知识领域、核心知识单元和知识点。而实践课程体系的设计应主要体现能力结构的培养目标要求,从而确定实践课程体系的各个单元目标和具体指标。数据结构课程的能力结构目标主要包括:学会从解决问题入手,识别典型的数据结构的逻辑结构特性的能力;能够为所加工的数据选取适宜的存储结构的能力;设计及实现问题求解主算法和主函数的能力;基本掌握算法的时间与空间复杂性的分析能力;基于高级编程语言,编写复杂软件的程序代码的基本能力等。数据结构实践课程的教学体系由六个部分构成:课程实习、课程实验、课程设计、课程社会实践、实践教学评测和实践教学文档及资源。

1.课程实习是指对课程实验和课程设计的基本技能和综合技能的研究性学习和实践技能的训练。课程实习的基本技能包括:高级程序设计语言编辑器及语言的使用;程序的模块化划分的技能;常用人机交互界面的简单设计等。综合技能包括:应用抽象数据类型的设计思想,在实现数据结构基本操作的基础上,确定功能模块间必要的联系,设计、调试主算法和主函数,系统的可视化界面的初步设计,对所完成的算法进行时间和空间的性能评价,从而完成数据结构的基本应用。

2.课程实验是指配合课堂理论教学、以增强学生能力结构为目标的专业技能训练。实验课题的基本内容包括:线性表类应用实验、栈和队列类应用实验、树和图类应用实验、查找和排序类应用实验以及自主研究性应用实验等。通过课程实验,使学生加深对课程内容的理解,培养将原理应用于实际的能力。

3.课程设计是指对理论课程的核心知识点以及能力结构的综合技能的专业训练。课程设计的课题包括:综合训练性题目和研究学习性及创新设计性题目两大类。例如,立体化停车场管理、电梯运行模拟、二进制堆及其应用、线段树及其应用等。课程设计的目的是全面落实课程教学大纲,激发学生自主研究性学习及完成创新性实验的积极性,提升学生软件设计的综合实践技能。

4.课程社会实践。课程社会实践是指对课程实验及课程设计的课题所进行的社会调研与实践。课程实验的调研主要是对设计性和研究性课题做调研,课程设计则主要是对应用性和创新性课题做调研,为提高创新实践能力打基础。

5.实践教学评测。实践教学评测是指对实践课程教学效果的评价和对学生实践课程成绩的评定。实践教学评测的目的是依据课程的能力结构培养目标,科学合理的评定学生的实践课程成绩,使课程教学效果得到及时反馈,以促进实践课程教学的不断改进。

6.实践教学文档及资源。实践教学文档及资源是指为了保证实践课程教学体系的各个环节有机结合、正常运转的课程教学文件和参考资料。实践教学文档及资源包括:课程实习、课程实验、课程设计、课程社会实践的教学大纲和实施方案,实践课程教学考核与评价的实施方案,以及实践课程教材与多媒体实践课件等。

数据结构实践课程的教学体系要从自身的特点出发,对课程实习、课程实验、课程设计、课程社会实践、实践教学评测等诸多教学环节进行整体、系统的优化组合。以能力结构培养目标为驱动,并将支持学生的研究性学习及创新实践能力机制纳入到体系中。

二、以提高创新实践能力为重点,完善实践课程教学平台

大学生的实践能力包括基础性实践能力、综合性实践能力和创新性实践能力。如何在数据结构实践课程教学体系中,通过日常的教学活动和过程管理,形成以提高创新实践能力为重点的教学机制,是实践课程教学体系建设的中心任务。研究性学习是指在教师指导下,根据所选择的课题,主动地获取和应用知识、解决问题的教学活动。创新的基础在于研究性学习,研究性学习的核心活动是实践和创新,创新能力的培养在于实践。课程实验和课程设计的研究性学习是以研究和设计为中心的实践性教学活动。在构建实践课程教学体系的基础上,通过设计课题项目、组建课题项目团队、开展项目教学法、注重项目过程管理、鼓励研究性学习和实践创新能力、实施创新评测机制等,逐步完善以提高创新实践能力为重点的实践课程创新实践平台。图1是基于数据结构实践课程教学体系,以提高创新实践能力为重点的实践课程创新实践平台的总体框架设计。其中,课程实习、课程实验、课程设计是创新实践平台的核心内容。

1.开展项目教学法,注重项目过程管理。项目教学法是通过实施一个完整的项目而进行的教学工作。在数据结构实践课程教学中,将项目教学法应用到课程实习、课程实验、课程设计等各个教学活动中,培养学生良好的科研素质。通过课题的立项与开题、组建课题小组、方案分析、方案设计、方案实现和项目验收的工作流程对学生进行科技创新活动的工程实践训练。抓好课题项目的过程管理是十分重要的工作任务。其中,抓好课题组长的业务培训、课题组项目的认定、课题的阶段验收是项目过程管理的重点。

2.重视课题项目设计,促进拔尖创新人才发展。依据培养目标的能力结构和教学规律,科学、合理的设计课题项目,是开展项目教学法和项目过程管理的第一要素,也是教师发挥教学活动中的主导地位的首要任务和关键环节。课程实验的课题类型有验证性实验、应用性实验和创新设计性实验。验证性实验属于学生自主研究性学习的课下实验;设计应用性试验和自主创新性实验是课上实验,还要完成相应的实验课题报告。课程设计的课题类型有综合训练型和研究创新型。遵从教育规律和认知规律,将课程设计的课题项目分级分类设计,以促进学生的阶梯式发展。

3.组建课题小组,形成研究性学习氛围。根据多元智能理论,每个人都拥有不同程度的八种智能,由于智能组合形式以及每种智能的表现形式不同,每个人的智能是独一无二的,这也体现了个体的差异性。以学生自愿为原则,组建课题小组。课题小组的人员构成要考虑学生的气质和性格差异,达到智能互补和优势互补,促进学生的个性发挥和全面发展。通过组建项目团队,竞争项目负责人,在课题组长的带领下,开展课题项目研究,协同合作、相互交流,体现团队精神,营造研究性学习氛围,还可以使拔尖创新人才脱颖而出。

4.建立创新评测机制,激励创新人才。建立一套完善的实践教学的评测机制是十分重要的,实践课程教学评测的指标中,应有创新人才的激励机制。只有将学生的课程实习、课程实验、课程设计、课程社会实践等实践教学环节都纳入到评测机制中,才能对学生进行综合全面的考核和评价。

对于学生实践环节的成绩认定,要依据能力结构指标考核并单设成绩计入学分,不合格的同样需要补考或重修。以课题组为单位,组员和组长间都可以互评,作为考评依据。

三、以能力结构目标分解为依据,实施技能知识单元模块化教学

计算机科学与技术专业学生的能力要求可以归纳为计算机思维能力、算法设计与分析能力、程序设计与实现能力和系统能力。数据结构实践课程的能力结构要求在上述能力结构中都有相应的体现。可以按能力结构培养目标的要求,将目标分解,采用分阶段的技能知识单元模块化教学。

1.能力结构教学目标分解。采用质量目标管理方法,将实践课程能力结构的教学目标以计算思维能力为基础,通过层次分解,将数据结构课程教学目标分解为理论知识单元和技能知识单元,再分解为若干知识模块,每个知识模块又蕴含若干知识点。例如,可以将数据结构课程中线性表的基本技能知识目标分解为静态顺序表、动态顺序表、单链表、双链表、循环链表等具体的存储结构、基本操作和简单应用等实践教学目标。通过对实践教学目标的分解,使得师生都清楚具体的质量目标定位,掌握学习进度,激发教师的主动性、学生的自主性及研究性学习热情,将充分的精力投入到提升创新实践能力的活动中。

2.技能知识单元模块化教学。依据分解的数据结构实践课程的能力结构教学目标,打破传统的以理论知识为中心的学科式课程内容体系,取消章节限制,把密切相关的理论和实际操作技能有机地结合起来,组成知识领域,建立若干知识模块,每个知识模块又可由若干子模块构成。每个子模块又由若干个知识单元或课题组成,从而使实践课程的教学形成一个“积木组合式”的模块化教学模式。例如,数据结构实验课程的基本技能模块包括:线性表子模块、栈和队列子模块、树和图子模块、查找和排序子模块及自主研究性应用子模块等。线性表子模块又包括顺序表子模块和链表子模块。子模块的内容又根据目标分解的技能指标构成。技能知识单元模块化教学是以技能训练为核心的一种教学模式。通过技能模块化教学方法的实施,可以强化学生的技能训练,促进学生动手能力的提高。

3.打造实践课程教学团队。建设一支由课程主讲教师、实验指导老师、实验基地组成的实践课程教学团队,针对实践课程教学的各个环节,从课程实习与实验指导、实践环境维护管理、课程设计与课程社会实践、研究性学习与创新实践能力等方面全力指导,由团队负责课题项目的设计、组织和实施,统一于教学目标,服务于教学质量。

4.搞好实践课程教学评测与教学资源建设。构建实践课程教学体系及完善实践课程教学平台,这是培养创新人才的硬件要素;搞好实践课程教学评测与教学资源建设,则是培养创新人才的软件要素,二者缺一不可。对数据结构实践课程引入技能单元模块化教学后,每个模块是一个相对独立的能力实体,每个模块结束后,都可以进行考核,及时检验模块化教学的学习效果。课程实验成绩的评定可以采用百分制,由平时实验课成绩、实验报告成绩、实验程序验收成绩组成,按一定的比例折算到实践课程的总成绩。

四、结语

实践课程教学改革在计算机科学与技术专业2010级的学生中试行,在2011~2012级的两个年级中实施,实际受益人数达600余人。经过两个年度的实践课程教改探索,确定了数据结构实践课程的总体改革方案以及实施方案,精心准备并完善了课程实验和课程设计实践课题,组建了课题小组,培训学生课题组骨干,完成了相关的教学文档建设和课程资源建设。综上所述,通过对数据结构实践课程体系的分析和研究,论述了以能力结构培养目标为驱动出发,构建研究性学习与创新实践能力的实践课程教学体系,以提高创新实践能力为重点,完善实践课程教学平台,以能力结构教学目标分解为依据,实施知识单元模块化教学的措施,从而实现数据结构实践课程的具体教学目标,推进计算机专业的整体化教学改革。

参考文献:

[1]教育部高等学校计算机科学与技术专业教学指导委员会.高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M].北京:高等教育出版社,2006.

[2]孟凡荣,贾杰,王兴伟.网络工程专业创新性实践课程体系构建与实施[J].计算机教育,2013,14(194):104-108.

数据结构课程设计范文第10篇

关键词:CDIO;数据结构与算法;创新能力

0.引言

当今世界已进入信息化、网络化时代。西部地区特别是青海作为经济欠发达地区,实现青海省对信息化人才培养提出的“以培养应用型人才为目标”,已成为一个重要的研究课题。计算机科学与其他学科之间的互相渗透与融合对复合型人才的需求日益增加,从科学技术发展方向和构建复合型人才知识结构的角度出发,我们开设了数据结构与算法课程。该课程所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其他课程,还是对从事软件工程的开发,都有着不可替代的作用。2010年10月,数据结构与算法课程被列入青海大学2010年学校重点建设计划。为了实现青海省对信息化人才的培养目标,我们将CDIO理念引入数据结构与算法课程的建设中。

1.CDIO与课程的定位

CDIO工程教育模式是一个崭新的教育模式,是近年来国际工程教育改革的最新成果,包括个人所具备的科学和技术知识以及终生学习、团队交流、系统协调等方面的能力。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),从“培养什么”和“怎样培养”两个根本问题出发探索教育问题,以产品研发到产品运行的生命周期为载体,旨在培养大学生的实践能力和创新精神。

数据结构与算法课程是计算机科学课程体系中核心课程之首,作为学科的专业基础课,具有承上启下的重要作用。这门课程既包含较多的抽象概念、算法和编程思想,又包含许多前驱课程的知识,还对程序实践有一定的要求,因此该课程的教学难度很大;而学生在学习过程中经常感到困难,甚至产生厌学情绪。此外,学生对前导课程程序设计基础I、程序设计基础II学习得不够扎实,尤其对结构体、指针这两种数据结构与算法课程中常用数据类型的认识和理解不够透彻,这就需要我们在数据结构与算法课程教学过程中,通过具体实践来弥补。在数据结构与算法课程的传统教学模式中,一般都存在“重理论讲解、轻实践应用”的现象,教学难度大,学生感到在课堂上似乎听懂了,但是又难以运用学过的知识解决具体问题,其中一个重要原因在于理论教学难以系统化表达理论的适用环境和应用效果。久而久之,有的学生对学习逐渐失去兴趣,这严重阻碍了学生专业素质、应用能力以及创新能力的提高。

“纸上得来终觉浅,绝知此事要躬行”。课程组教师以CDIO教育理念为指导,以“提高课堂教学质量和效果,加强学生的实践动手能力”作为突破口,将课堂教学与实践教学融为一体,让学生在做中学,目的是充分调动学生的学习热情并激发求知欲望,提高和增强学生的实践能力、社会适应能力以及创新能力,从而使其适应新经济条件下社会对信息技术人才的需求。

2.数据结构与算法课程建设

数据结构与算法课程的内容可以从概念表述、数据模型、设计算法3个层面描述,同时也显示了该课程的3个阶段:数学模型抽象数据类型数据结构与算法。课程组教师按照CDIO理念中“构思设计实现运作”的过程,首先提出将“建设优秀的教师队伍,组织合理的教学内容,采用科学的教学方法,培养高素质的应用型计算机人才”作为课程建设的目标;然后紧扣课程教学改革发展方向,充分体现现代教育思想,制定并修订该课程的教学大纲;最后形成80学时的教学计划,其中包括48学时的课堂讲授,32学时的实验,实验课包括基础实验和课程设计。数据结构与算法课程建设过程主要从教师队伍建设、课堂教学、实验与课程设计、学生自主性学习等方面开展。

2.1教师队伍建设

为保证数据结构与算法课程及实践教学环节的教学工作,我们经过几年实践,已形成由5名教师组成的授课团队,他们承担该课程的讲授和课程设计指导工作。课程组教师中有副教授1人,讲师4人;30岁以上教师2人,20-30岁教师3人;博士1人,硕士研究生4人。教学梯队的学历结构、年龄结构、职称结构基本合理。年轻的教师队伍表现出较强的团队精神,具有良好的敬业精神,是一个团结向上的集体,能够保证各项教学工作顺利进行。

课程组教师抓住清华大学对口支援的帮扶契机,跟随清华大学计算机科学与技术系教师进行数据结构与算法课程的单科进修学习。在进修学习过程中,课程组成员以清华大学的数据结构与算法课程教学大纲和计划为基础,以CDIO教育理念武装自己,结合青海大学计算机技术与应用系的生源、目标和资源实际情况,与清华大学教师进行多次讨论,制定了较为符合青海大学计算机技术与应用系学生的教学大纲和计划,为计算机技术与应用系的专业教学工作搭建了一个高起点的平台,实现了该课程教学“高起快走”的目标,从而极大地提高了课程组全体教师的总体水平。

课程立项以来,课程组教师多次拜名师,访名校,进行外出培训和交流。通过进修学习与交流,课程组全体教师提高了学术水平,更新了知识结构,在很多方面获得较大进步。教师队伍的知识结构越来越趋于合理化,课程组全部教师已经进入专业学术研究的团队之中。

2.2课堂教学

当今社会是一个多元化的社会,崇尚个性与创造,而学生的心理和学习习惯也是多样化的。在数据结构与算法课程的教学过程中,我们采用“指导一实践一反馈”的方式组织教学,注重启发学生思维,积极探索趣味教学法与基于项目导向的教学方法,以激发学生的求知欲,调动学生的学习积极性与主动性,引导学生自己发现问题并逐步解决问题,培养学生思考问题、分析问题和解决问题的能力。

1)趣味教学法。

在数据结构与算法的第一堂课上,教师可以跟学生一起回忆学生入学报到、就餐排队、加入学生会、去市里购物和每学期期末考试时的情景等。通过几位学生的发言,教师可以自然地引出这些活动与数据结构与算法课程的联系,如学生入学后填的学籍表可以用线性表实现;学生就餐时排队的过程可以用队列实现;学生会的组织机构可以用树实现;去市里购物乘车的路线以及花费的时间,可用图中的最短路径实现;而大家所关心的期末考试成绩的查询与排名情况,则可以通过查找和排序技术实现。

通过这样的提问与总结,我们向学生一一展示了他们身边的数据结构,让学生觉得该课程与他们的学习和生活息息相关。这也就引出了数据结构与算法课程的主要内容,从而激发学生的学习热情。我们在具体内容的讲解过程中,让学生参与其中,如讲排序时引入课堂角色扮演,这同时培养了学生的学习兴趣;在具体算法的讲解过程中,不仅介绍算法本身,而且通过形象生动的动画演示增强学生的感性认识。

兴趣是学习之母。趣味教学法可以使学生在一种轻松、愉悦的环境中学习,从而激发学生的求知欲,调动学生的学习主动性,帮助学生培养良好的学习习惯和养成浓厚的学习兴趣。

2)基于项目导向的教学方法。

在理论课的讲解中,主讲教师以学生成绩管理案例、景区旅游管理案例以及航空订票管理案例的工作步骤为主线,以项目工作任务为驱动,将数据结构与算法中的线性表、栈、队列、数组、树、图、查找与排序等知识点和一些方法、技能有机融合,让学生在问题解决过程中学习,从而真正做到通过学习该课程建立起数据结构和数据处理的概念,掌握数据逻辑结构分析、存储和算法编写的基本流程、步骤、内容及操作方法,具备完成相关工作的能力。

这种以项目为导向的教学方法既突出知识的应用性,又使得学生对项目开发工作的整体框架有更清晰的了解,可以对不同知识水平的学生,特别是青海少数民族学生,进行个性化培养,激发他们的学习热情,培养和锻炼他们的创新精神和实践能力,使他们都能在不同程度上得到提高和发展。这种教学方法能将书本上的知识变“活”,可以帮助学生更好地理解课堂教学内容,拓展知识面,延伸和扩展课堂教学,提高学生的抽象能力、思维能力、算法和数据结构的设计与分析能力,从而学会如何把从书上学到的知识用于解决实际问题,培养实践动手能力,充分体现CDIO理念。

此外,课程组教师还积极探索启发式教学法、互动式教学法、共性化与个性化相结合教学法,以激发学生的求知欲,调动学生的学习积极性与主动性,引导学生自己发现问题并逐步解决问题,培养学生思考问题、分析问题和解决问题的能力。在整个授课过程中,课程组教师注重在学生的平时学习与生活方面多给予关心和帮助,用爱心抚慰学生,用情感教育打动学生的心扉,这样,学生在不感到压力的情况下,在喜爱授课教师的前提下,就会乐于学习。

2.3实验与课程设计

我们在实验课中提倡同学之间相互指导,加强学习交流,引导大家分享学习成果,从而共同进步。在学生学习该课程的过程中,我们将全班学生分成若干个学习小组,每组3-4人,将班里编程能力好的学生分插到各组。教师在完成每章教学内容讲授后,除了让每名学生必须完成基础实验外,还会布置几道题,让学生分组讨论并在实验课上分组讲解,然后由其他同学提问,最后教师作总结。通过这样的锻炼,学生意识到有时只靠一个人的学习是不够全面、不到位的,同学之间必须互相学习,遇到问题互相协助,共同思考解决方案,这样才能真正地掌握解决问题的真本领。这种学习方式同时也提高了学生的团队合作精神,为后续的课程设计打下坚实基础。

在课程设计中,教师提供多个不同项目化的题目供学生选择,这样可以给予学生更广阔的思路实现课程设计的任务,从而达到巩固所学数据结构知识的目的。同时,题目多样化的方式也杜绝了学生之间互相抄袭现象的产生。学生以学习小组作为一个项目组,按照要求进行构思并共同商讨设计思路,然后进行算法设计,接着由项目组长组织分工,安排组员各自负责的部分,组员分头实现算法,最后项目组将各组员的算法实现部分汇总在一起,运作整个项目并撰写课程设计报告。在整个课程设计过程中,学生在完成自己负责模块的同时,还需要不断地参与讨论和设计其他学生的模块,通过这种方式使得自己可以在较短的时间内,对该课程的知识进行较全面的复习和巩固。

在验收课程设计时,教师会安排开展一个集研究、研讨、趣味于一体的数据结构与算法课程设计答辩会,并邀请系里教师作为嘉宾出席。整个活动由学生策划和设计并推荐主持人。在课程设计过程中,学生经过查阅资料、构思整体方案、算法设计、编码实现、调试运行和总结等环节并在整个过程中不断讨论和解决问题,每一个环节都可以锻炼学生的沟通、解决问题以及团队协作的能力,让学生受益匪浅。这些也充分体现了CDIO整个教育理念的核心内容。

2.4学生自主性学习

学生通过各种实践环节更好地理解了课堂教学内容,拓展了知识面,延伸和扩展了课堂教学,全面地提高了抽象能力、思维能力、算法和数据结构的设计与分析能力、科学报告的撰写和表达能力,同时在这个过程中也培养了独立分析实际问题的能力。此外,我们在作业批改过程中采用作业相似度检测工具,从而杜绝学生抄袭编程作业现象的出现,进而培养学生程序设计的实践能力。

实验与课程设计使学生不仅能够较早地了解计算机科学的最新发展方向和科学研究的方法,而且能够学会如何利用所学知识解决实际问题。对于教材未涉及的内容,学生通过自己查资料完成相应的数据结构设计,提高了文献查阅能力和科研能力。这种过程也真正体现了学生的主体地位,将被动学习和无兴趣学习转变为主动学习和积极学习的过程。此外,教师还让学生积极参与到教师的科研中,激发学生对知识的渴求,提高学生的学习兴趣。正是有了这些方面的能力训练,一些学生在大三还申请到了大学生国家创新性实验项目与青海大学创新性实验项目。

总之,通过CDIO理念下的实验与课程设计训练,学生提高了组织数据及编写大型程序的能力,复习和巩固了前导课程程序设计基础I、程序设计基础II。此外,学生在学习该课程的同时,还学习了Java程序设计课程。在数据结构课程设计环节,一部分学生还用Java语言实现编程,既巩固数据结构基础知识,又熟练地掌握Java语言,为大三上学期更好地学习本专业的课程打下良好基础。

3.建设成效

课程组教师对数据结构与算法课程进行了近2年多时间的建设,在充分把握国内外专业教育的最新动态、吸纳融合本学科最新研究成果和实践经验的基础上,不断更新和丰富课程内容并有效运用典型算法分析方法、多媒体教学等现代化教学手段和工具,最终在教学资源、教学方法、课程改革等多方面取得了可喜成绩。

在教学素材库建设方面,课程组教师完成了数据结构与算法课程教学大纲、课件、实验指导书的修订和习题库、试题库的建设;在教学改革与研究效果方面,课程组教师在2年内公开发表4篇有关教学改革和教学研究的论文,其中2篇EI检索,1篇国家核心,1篇省内核心;在申请教改项目及获批方面,申请并获批1项青海省教育厅教改项目,1项青海大学教改项目;在教师获奖方面,5名教师获得青海大学毕业论文(设计)优秀指导教师,1名教师获得青年教师小岛奖励金,1名教师获得“135高层次人才培养工程”创新教学科研骨干人才;2008级、2009级、2010级学生申请并获批3项国家大学生创新型实验计划项目、3项青海大学大学生科技创新基金项目及2项清华大学携手Google助力西部教育科技创新项目。

根据青海大学课程建设规划及课程建设管理办法,教务处对数据结构与算法课程进行验收评审。数据结构与算法课程顺利通过验收并获得“青海大学精品课程”称号,此外还被列入青海大学2012年学校重点建设计划项目。

4.结语

上一篇:课程教材教学研究范文 下一篇:it课程范文