数据结构与算法课程教学大纲

2024-11-06

数据结构与算法课程教学大纲(通用10篇)

数据结构与算法课程教学大纲 篇1

教学大纲

数据结构与算法(Data Structures)

计算机技术已成为现代化发展的重要支柱和标志,并逐步渗透到人类生活的各个领域。随着计算机硬件的发展,对计算机软件的发展也提出了越来越高的要求。由于软件的核心是算法,而算法实际上是对加工数据过程的描述,所以研究数据结构对提高编程能力和设计高性能的算法是至关重要的。

非数值计算问题的数学模型不再是传统的数学方程问题,而是诸如表、树、图之类的数据结构。因此,简单地说,数据结构是一门研究非数值计算的程序设计问题的学科,主要研究数据的逻辑结构、存储结构和算法。

一、教学目的与要求---了解数据的逻辑结构和物理结构;

教学要求在每章教学内容给出,大体上为三个层次:了解、掌握和熟练掌握。他们的含义大致为:了解是正确理解概念,掌握是学会所学知识,熟练掌握就是运用所学知识解决实际问题。

教学目的为:了解算法对于程序设计的重要性 ; 学习掌握基本数据结构的描述与实现方法,熟练掌握典型数据结构及其应用算法的设计。了解算法分析方法。

二、教学重点与难点--数据结构中基本概念和术语,算法描述和分析方法。

1、链表插入、删除运算的算法。算法时间复杂度

2、后缀表达式的算法,数制的换算

利用本章的基本知识设计相关的应用问题

3、循环队列的特点及判断溢出的条件

利用队列的特点设计相关的应用问题

4、串的模式匹配运算算法

5、二叉树遍历算法的设计

利用二叉树遍历算法,解决简单应用问题 哈夫曼树的算法

6、图的遍历

最小生成树

最短路径

7、二叉排序树查找

平衡树二叉树

8、堆排序

快速排序 归并排序

三、教学方法与手段-充分利用多媒体教学工具,配合黑板上的教学内容较难部分的算法实现过程演义

四、教学内容、目标与学时分配

教学内容 教学目标 课时分配

1、绪论

数据结构的内容

逻辑结构与存储结构

算法和算法分析

2、线性表

线性表的定义与运算

线性表的顺序存储

线性表的链式存储

3、栈

栈的定义与运算

栈存储和实现

栈的应用举例

4、队列

队列的定义与基本运算

队列的存储与实现

队列的应用举例

5、串

串的定义与基本运算

串的表示与实现

串的基本运算

6、树和二叉树

树的定义和术语

二叉树树的基本概念和术语 遍历二叉数和线索二叉树

二叉树的转换

二叉树的应用

哈夫曼树及其应用

7、图

图的定义和术语

图的存储结构

图的遍历算法

图的连通性

8、查找

查找的基本概念与静态查找 动态查找

哈希表

了解

了解

掌握

熟练掌握顺序表存储地址的计算

掌握单链表的结构特点和基本运算

掌握双链表的结构特点和基本运算

掌握栈的定义与运算

掌握栈的存储与实现

熟练掌握栈的各种实际应用

掌握队列的定义与基本运算

熟练掌握队列的存储与实现

掌握循环队列的特征和基本运算

了解串的逻辑结构

掌握串的存储结构

熟练掌握串的基本运算

了解

了解二叉树

熟练掌握二叉树定义和存储结构

了解二叉树的遍历算法

掌握

掌握哈夫曼的建立及编码

了解

了解

熟练掌握

熟练掌握

了解

熟练掌握

了解哈希表与哈希方法

4学时

1学时

1学时

2学时

8学时

2学时

2学时

4学时

8学时

2学时

2学时

4学时

6学时

2学时

2学时

2学时

6学时

2学时

2学时

2学时

12学时

2学时

2学时

2学时

2学时

2学时

2学时

8学时

2学时

2学时

2学时

2学时

8学时

4学时

2学时

2学时

9、排序

12学时 插入排序

熟练掌握基本思想

3学时 快速排序

了解各种内部排序方法和特点

3学时 选择排序

掌握

2学时 各种排序方法比较

掌握

2学时

实验内容 实验目标 课时分配 算法编程实验:

1、用指针方式编写程序 复习C(C++)语言指针、结构体等的用法

2、对单链表进行遍历

链表的描述与操作实现

3、栈及其操作

描述方法及操作

4、编写串子系统1 串的特点及顺序定长存储、操作、查找

5、编写串子系统 2 串的特点及顺序定长存储、操作、查找

6、编写树子系统1 二叉树的特点及存储方式、创建、显示、遍历等

7、编写树子系统2 二叉树的特点及存储方式、创建、显示、遍历等

8、图子系统

图的邻接矩阵的存储、遍历、广度/深度优先搜索

9、查找子系统

理解查找基本算法、平均查找长度、静态、动态查找等

五、考试范围与题型

1、考试范围与分数比例

1)绪论

12% 2)线性表

17% 3)栈

7% 4)队列

6% 5)串

4% 6)树和二叉树

14% 7)图

15% 8)查找

4% 9)排序

21%

2、考试题型与分数比例

1)名词解释

18% 2)判断对错

16% 3)填空

16% 4)单项选择

18% 5)应用

32%

六、教材与参考资料

1、教材: 实用数据结构基础(谭浩强)中国铁道出版社

2、参考资料: 数据结构(严蔚敏)清华大学出版社

数据结构实用教程(徐孝凯)清华大学出版社

(撰写人:

,审核人: 2学时 2学时 2学时 2学时 2学时 2学时 2学时 2学时 2学时)

数据结构与算法课程教学大纲 篇2

关键词:算法与数据结构,教学研究,教学改革

近年来, 信息技术已经改变人类社会生活的模式, 计算机技术的教育与应用得到了极大发展。数据结构作为计算机专业的七大核心课程之一, 被列为计算机科学与技术、软件工程、网络工程等信息类专业的全国统考研究生考试课程之一, 也是编译原理、操作系统、数据库原理、计算机网络等专业课程的先导课程, 在计算机专业课程体系中发挥着承上启下的核心作用。

一、数据结构与算法教学现状的分析

(一) 学生的课程学习现状

在传授学生学习算法和数据结构时, 学生的计算机编程的理论基础和应用经验往往是不同的, 因此很容易引起学生理解和掌握能力的偏差。

在实际授课中, 教学时间是有限的, 而且有的学生经常在听课的过程中聊天或玩游戏, 不按照训练复习。还有一些学生是为了应付期末考试和学习, 学习的方法和策略都没有用, 而且很难获得对知识的全面理解, 学习质量不高。

(二) 教学环节缺乏创新

以往的教学模式单一, 都是以教师为中心进行教学, 注重教学过程, 忽视学生的学习过程。学生只是被动接受学习, 根本无法提高学生的学习兴趣。

教师对计算机知识型内容的教学方法是比较熟悉的, 能够强调重点知识、讲解难点知识, 使学生能够有重点、有目标地进行学习, 但针对操作型内容教学则显得经验不足, 教学方法不当。

(三) 考核环节的缺陷

传统的考核模式是“以教师评价为主”, 强调最终评价结果, 当面临应用性评测时, 则暴露了它的缺点。学生本来就很难对一些知识进行运用, 而为了通过测试, 就抄袭、拷贝其他同学的程序, 所以经常出现全班的程序都是一个模版的情况。这样的考试不能考核出学生的真实水平。

二、教学研究中需要探索的内容

(一) 教学大纲的更新

教学大纲在教学中起着指导性的作用, 因此教学研究中务必跟踪新技术发展与数据结构的新算法, 不断更新教学内容, 完善教学大纲的编制。以算法与程序设计能力培养为主线, 提升学生应用基本结构分析问题、算法设计与编程的能力。结合《数据结构课程设计》等实践环节, 夯实学生的应用技能。

在教材方面, 可以选用张乃孝等人编著的高等教育出版社出版的最新版《算法与数据结构———C语言描述》作为主教材, 同时选用唐策善等人编著的高等教育出版社出版的《数据结构———用C语言描述》作为参考教材, 实现教材内容的高低配合, 理论算法与算法的相互补充。

(二) 教学模式的变革

在数据结构的教学改革中, 应摒弃传统的陈旧的教学模式。由浅入深、由线性到非线性、横向与纵向比对教学模式, 找出每种数据结构教学的优缺点。

(三) 强化实验和考核

数据结构实践教学要突出“理论与实践”的原则, 通过对问题的抽象, 选择合适的数据结构来解决实际问题, 提高应用能力。

考核评价设计紧密结合数据结构与算法课程, 注重过程考核、算法设计评价考核、实际解决问题能力的考核。加大实践环节考核的比例, 以阶段性课外作业的形式加强阶段性考核, 体现考核形式的多样化、考核标准的合理化以及考核的不间断性。

三、基于CDIO的多元教育模式教学改革

通过对当前数据结构教学的研究和分析, 笔者尝试将一种全能的工程理念———CDIO工程教育模式应用在指导数据结构教学的过程中。CDIO, 即构思 (conceive) 、设计 (design) 、实现 (implement) 和运作 (operate) , 它以产品研发到产品运行的生命周期为载体, 让学生以主动、实践、课程之间有机联系的方式学习工程。CDIO模式作为先进的多元教育模式可以很好地培养新型的优秀的工程人才。

(一) 教学指导思想的定位

CDIO模式突出了工程基础知识、个人能力、人际团队协调能力和工程系统能力。在完善数据结构课程教学指导思想时应当充分考虑以下几个方面。

1. 制定一体化教学计划。

新计划要大幅减少基础理论的权重, 可将涉及工程的一系列课程进行整合, 增加知识的综合运用能力。比如, 数据结构课程可以和C语言进行整合安排。

2. 以CDIO模式为基本环境。

应当以“基于项目的教育学习”为宗旨, 着力培养四种能力, 并围绕上述目标进行详细规划, 制定目标和标准。

3. 职业训练计划。

纳入CDIO模式后, 必须将学科学习与职业训练相结合, 要在大学期间融入优秀工程师的职业训练, 实际上也是四种能力培养的又一次强化。

(二) 精选实际问题用于设计性实验, 提高学生实际算法设计能力

由于数据结构课程与实际工程问题的融合, 在设计实验时, 要摒弃传统验证性的实验, 通过设计性实验来引导学生运用数据结构基础知识, 指导学生如何分析选择合适的数据结构, 传授正确的算法设计理念。通过设计一些实际的小型应用课题, 让学生自主探索实际运用算法的能力, 使学生有更多的创造空间。

(三) 以工程任务为牵引, 提高学生的算法设计创新能力

探索以实际的工程任务为牵引, 引导学生主动学习的新教学模式。改变传统教学中的先给学生布置作业, 然后再进行课堂教学的缺乏主动创新动力的模式。选取的工程任务力求既结合实际, 又能涵盖课程教学的要求。教师重点关注学生自学、开发和研究的进度。以工程任务为牵引的教学模式, 打破了算法设计类课程一贯采用的“填鸭式”教学模式, 变“要我学”为“我要学”。以任务为主线展开, 重在分析实际任务所涉及的数据结构、算法思路, 培养学生算法设计的创新能力。

(四) 考核评定的新标准

制定考核评定的标准应基于两个方面的考虑:一方面, 通过考核使教师和学生自觉以CDIO模式为前提开展数据结构课程的教与学, 避免推行CDIO模式流于形式化。另一方面, 考核标准要纳入CDIO模式原则和相关标准, 要实现从基础理论考核为主转变为“实践中学习”, 自主学习的实际动手能力考核。新标准要确立两个主体、三个客体:两个主体就是学生和教师。不仅考核学生的基础知识、自主学习能力、团队合作能力和工程软件项目能力, 而且要考核教师的CDIO模式运用能力、教师专业素质能力和调动学生兴趣的能力。三个客体是指考核的测评方:一是学校教学部门。主要考核教师的CDIO教学能力和学生最终的学习实践能力, 通过考核促进CDIO模式的推广和学生全方位适应用人单位的要求。二是合作项目单位。合作项目单位通过项目完成情况, 对学校、教师、学生的实际能力给予评价。三是授课教师。授课教师通过全过程的授课情况、学生完成项目情况、在项目合作中的表现和全课程中的自我学习情况, 结合基础知识考核给出学生综合分。

四、结语

CDIO模式是解决当前软件人才培养中学用脱节、不适应职业特征要素的有效举措。本文结合数据结构课程的教学改革与实践经验, 重点培养学生对基本数据结构的理解能力和应用能力, 提高算法设计和解决实际问题的综合能力, 为后续课程的学习与学生综合素质的提高打下坚实基础。

参考文献

[1]胡文龙.基于CDIO的工科探究式教学改革研究[J].高等工程教育研究, 2014 (1) .

[2]张伟, 王丽云.CDIO教学改革中的教学质量评估系统[J].辽宁大学学报, 2013 (3) .

[3]张国斌, 张树军, 刘春城, 等.基于CDIO模式的学生实践能力的培养[J].实验室科学, 2014 (1) .

[4]范会联, 仲元昌.基于CDIO理念的软件人才培养模式探索[J].实验室研究与探索, 2012 (1) .

[5]张婧, 韩雁, 梁志星.基于CDIO项目式教学的教师能力培养[J].重庆理工大学学报, 2013 (11) .

数据结构与算法课程教学大纲 篇3

关键词: 数据结构; 独立学院; 教学改革; 上机实践

中图分类号:TP312 文献标志码:A 文章编号:1006-8228(2012)09-62-02

Teaching reform of data structures and algorithms in independent colleges

Nie Yan, Zhao Yiming, Sun Xia, Zhou Guobing

(College of Science and Technology Ningbo University, Ningbo, Zhejiang 315202, China)

Abstract: The teaching situation of the course “data structure and algorithms” in independent colleges is analyzed. The reform in teaching content and classroom teaching are described and practice on the machine instruction is proposed. The purpose is to enhance the quality of classroom teaching on the one hand, on the other hand, to meet better the independent college''s goal of fostering students'' abilities and training applications expertise. In the teaching process, by summing up, adjustment, implementation, improvement, students will improve their understanding of the course, It plays a positive role in learning professional follow-up courses.

数据结构与算法课程教学大纲 篇4

《数据结构与算法课程设计》任务书

一、课程设计目的

数据结构与算法课程设计是《数据结构与算法》课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。

2二、课程设计题目

2.1 棋盘覆盖

【间题描述】

在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。

【基本要求】

(1)输入k以及特殊方格所在的行号dr和特殊方格的列号dc。

1(2)要求输出每一步用什么形态L型骨牌覆盖,覆盖后得到的棋盘图形。(3)如果输出的结果只是用矩阵表示则为良好,用图形表示则为优。【测试数据】 【实现提示】

使用分治策略,把棋盘划分成4个小棋盘,然后用一个L型骨牌覆盖将这4个小棋盘变为都具有特殊方格的棋盘。

2.2 Hanoi塔问题(*)

【问题描述】

设a,b,c是三个塔座。开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠放在一起,各圆盘从小到大编号为1,2,„,n,要求将塔座a上的这一叠圆盘移到塔座b上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:

规则(1)每次只能移动一个圆盘;

规则(2)任何时刻都部允许将较大的圆盘压在较小的圆盘之上;

规则(3)在满足移动规则(1)和(2)的前提下,可将圆盘移至a,b,c中任一塔座上。

【基本要求】

(1)设计出Hannoi塔游戏,供用户玩;(2)提供正确的搬运方法。【实现说明】

正确的搬运方法使用递归方法实现。【测试数据】

2.3 矩阵连乘问题

【问题描述】

给定n个矩阵{A1,A2,...,An},其中Ai和Ai1是可乘的,i=1,2,„,n-1。考察这n个矩阵的连乘积A1A2,...,An,通过加括号方式,找出矩阵乘积所需的最少计算量的方法。

【基本要求】

输入每个矩阵的行和列,要求输出最少计算量的矩阵乘积方法,如(A1(A2(A3A4)))。【实现说明】 使用动态规划方法。

2.4 多边形游戏(*)

【问题描述】

多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。

游戏第1步,将一条边删除。随后n-1步按以下方式操作:

选择一条边E及由E连接着的2个顶点v1和v2;

用一个新的顶点取代边E及用E连接着的2个顶点v1和v2,将由顶点v1和v2的整数值通过边E上的运算得到的结果赋予新顶点。

最后,所有边都被删除,游戏结束。游戏的得分就是所剩顶点上的整数值。【基本要求】

设计该游戏供用户玩;

对于给定的多边形,给出最高得分计算。【实现说明】 使用动态规划方法。

2.5 0-1背包问题

【问题描述】

给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为c。问应如何选择装入背包种的物品,使得装入背包种物品的总价值最大。

【基本要求】

使用动态规划、回溯法以及分支界限三种方法实现。【测试数据】 【实现提示】

2.6 排序方法

【问题描述】

给定n个元素,要求对这n个元素进行排序。【基本要求】

使用多种排序方法,越多越好;

比较每种排序方法的时间复杂度和空间复杂度。【测试数据】 【实现提示】

2.7 哈夫曼编码译码器

【问题描述】

设计一个哈夫曼编码/译码系统,对一个文本文件中的字符进行哈夫曼编码,生成编码文件

(压缩文件,后缀名.cod);反过来,可将一个压缩文件译码还原为一个文本文件(.txt)。

【基本要求】

(1)输入一个待压缩的英文文本文件,统计文本文件中各字符的个数作为权值,生成哈夫曼树;

(2)将文本文件利用哈夫曼树进行编码,生成压缩文件(后缀名cod)(3)输入一个待解压的压缩文件名称,并利用相应的哈夫曼树将编码序列译码。【实现说明】

(1)在构造哈夫曼树时,可以利用不同的线性表存放二叉树:用顺序表、单链表、5 循环单链表、双向链表、循环双链表;

(2)在构造哈夫曼树时,可以利用优先队列存放二叉树:顺序队列、链队列(可以是单链表、双链表等,还可以用静态结构去实现),可以分别在入队列或出队列时实现优先级;

(3)二叉树本身也可以用静态数组模拟;(4)使用贪心算法

2.8 迷宫问题(*)

【问题描述】

设计一个迷宫并给出正确走法。如: *** *** *** *** *** *** *** 其中0表示可以走,1表示不能走,每一步只能向上下左右移动。【基本要求】

(1)给出迷宫的正确走法,包括没有解的情况;(2)要求界面友好。【测试数据】

【实现提示】 使用回溯的方法。

2.9 继续邮资问题

【问题描述】

假设某国家发行了n种不同面值的邮票,并且规定每张信封上最多只允许贴m张邮票。连续邮资问题要求对于给定的n和m的值,给出邮票面值的最佳设计,在1张信封上贴出从邮资1开始,增量为1的最大连续邮资区间。

【基本要求】

输入任意的m和n都能设计出最佳的方案,并给出连续邮资区间。【实现说明】 【测试数据】

2.10 图的m着色问题

【问题描述】

给定一个地图,要求给出该地图的最少着色方案 【基本要求】

(1)把地图以及最少着色的方案显示出来则为良好。(2)有友好的界面则为优 【实现说明】

2.11 猜数字游戏(*)

【问题描述】

孩子想1个由4种颜色组成的序列(4种颜色不一定完全不同)。每种颜色只能是6种颜色之一。方便起见,我们用数字1到6表示6种颜色。

计算机必须根据孩子的回答找出孩子所想的颜色序列。计算机在屏幕上显示一个序列,孩子用键盘回答以下两个问题:

猜对的颜色中位置不对的有几个? 猜对的颜色中位置对的有几个? 【基本要求】

编程使至多6次问答后猜出序列,如果办不到,至多10次问答后猜出序列。【实现说明】 【测试数据】

如孩子想的是4655 计算机猜想 颜色对位置错的数目 颜色和位置都对的数目 1234 1 0 5156 2 1 6165 1 1 5625 1 2 5653 1 2 8 4655 0 4 2.12 大整数计算器

【问题描述】

设计一个计算器实现两个任意长得整数的加、减、乘、除。【基本要求】

设计一个实现任意长的整数进行四则运算的演示程序,要求输入任意长的整数进行四则运算,都能得到精确的结果。

【实现说明】

2.13 查找搜索技术

【问题描述】

给定任意的数组,对于给定的数,查找是否在数组中,如果在,则返回给定数在数组的位置,不在则返回不在信息。

【基本要求】

(1)使用多种搜索方法,越多越好,其中二分搜索技术、线性时间选择是必须的;(2)比较每种排序方法的时间复杂度和空间复杂度。【实现说明】

2.14 Tom,Jerry和奶酪(*)

【问题描述】

猫Tom和鼠Jerry同住在一矩阵地窖中。猫要吃鼠,鼠要吃奶酪。地窖中有2种地砖:有洞砖与无洞砖。一个洞足以让鼠钻入,但猫不能。

以菜单形式完成以下任务:

随机地生成一个地窖,并给猫、鼠和奶酪安排一个位置。如: fffffffffffffff fppppppppppppCf fhfffffffffffpf fpppjhppppppppf fpffffffpffffff fppppppppppTppf fffffffffffffff 其中c表示猫,j表示鼠,h表示洞,f表示不能通行(2)鼠先行,猫后行。两者皆满足以下规定: 1)必须上、下、左或右移动 2)鼠必须走1步(穿过p或h)3)猫必须走1或2步(穿过p)

(3)当鼠吃到奶酪或猫抓到鼠时,游戏结束。【基本要求】 【实现说明】

2.15 布线问题

【问题描述】

印刷电路板将布线区域划分成n×m个方格阵列,精确的电路布线问题要求确定连接方格a的中点到方格b的中点的最短布线方案。在布线时,电路只能沿着直线或直角布线。为了避免线路相交,已布了线的方格做了封锁标记,其他线路不允许穿过被封锁的方格。

【基本要求】(1)解决题目的问题(2)提供友好的界面 【实现说明】 使用分支限界法。

2.16 魔方工具包(*)

【问题描述】

一个魔方是一个由3×3×3个小立方体组成的立方体。最初立方体的6个面分别涂上不同颜色,我们称之为“最初魔方”。魔方的每一面上的3×3个小立方体组成它的一层。

魔方所能见到的每一层(6个面)都能旋转90,180,220或360度。所有层的旋转轴都垂直于面且通过其中心。旋转的结果是另一个魔方,它的所有面的颜色都改变了。

现在我们用字符来代替颜色:U=上,D=下,F=前,B=后,L=左,R=右。任何一个序列的旋转都能表示成{U,R,F,B,L,D}中一些字符组成的字符串,其中每个字符表示它所 11 指定的面顺时针旋转90度。

【基本要求】

(1)编程完成以下3个任务(菜单形式),你可以假设任何输入的字串长度都<=35。你的算法能处理非法输入的情况,如: 输入 输出 L L LL LL LLL LLL LLLL “”(空串 LLLLL L LLRRRFFFFRLB LLLB HELLO “error”

(2)判断输入的2个字串的旋转结果是否相同。如 输入一 输入二 输出 RU UR no RRFFRRFFRRFFRRFF FFRRFFRR yes RRFFRRFFRRFFRRFF RRFFRRFF no(3)求出输入字符串至少须使用几次才能将魔方转回到“最初魔方”(一定大于0)输入 输出 L 4 12 DD 2 BULB 36 RUF 80 BLUFF 180 【实现说明】

2.17 图的建立与输出

【问题描述】

建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。

【基本要求】

给出图的深度优先和广度优先遍历算法,并给出遍历过程的动态演示效果 【实现说明】

2.18 图的建立与输出

【问题描述】

建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出 13 图的邻接矩阵。

【基本要求】

给出图的深度优先和广度优先遍历算法,并给出遍历过程的动态演示效果。【实现说明】

2.19 以队列实现的仿真技术预测理发馆的经营状况(*)

【问题描述】

理发馆一天的工作过程如下:

1)理发馆有N把理发椅,可同时为N位顾客进行理发。

2)理发师分三个等级(一级、二级、三级),对应不同的服务收费。3)当顾客进门时,需选择某级别理发师,只要该级别的理发师有空椅,则可立即坐下理发,否则需排队等候。

4)一旦该级别的理发师有顾客理发完离去,排在队头的顾客便可开始理发。5)若理发馆每天连续营业T分钟,求

(1)一天内顾客在理发馆内的平均逗留时间;(2)顾客排队等候理发的队列长度平均值;

(3)营业时间到点后仍需完成服务的收尾工作时间;(4)统计每天的营业额;

(5)统计每天不同级别理发师的创收。

【基本要求】

1)模拟理发馆一天的工作过程:必须采用事件驱动的离散模型(参考教科书3.5节离散事件模拟p65);

2)每个顾客到达和下一顾客到达时间的间隔应是随机的; 3)理发师编号、理发师级别和每天的营业时间由用户输入;

4)某顾客挑选某一个级别的理发师而不得时,选第一个队列排队等待 ;

5)每个顾客进门时将生成三个随机数:(1)durtime:进门顾客理发所需服务时间(简称:理发时间);(2)intertime:下一顾客将到达的时间间隔(简称:间隔时间);(3)select:服务选项。

6)服务收费:应包含服务时间和理发师级别两个因素。

7)除了输出统计的数据外,还需要显示理发馆的状态,可以采用文本方式(横向显示每张椅编号、理发师级别。纵向表示等待该理发师理发的排队长度)。【实现说明】

用户输入每位理发师编号、级别号和营业的时间,结合随机数进行测试。

2.20 防抄袭管理系统(*)

【问题描述】

对于给定的文档,如word文档,txt文档等,找出文档的相似度。【基本要求】

(1)要求找出给定的两个文档的相似度以及标出相似的地方(1:1);(2)要求找出给定的一个文档与给定的文件夹的所有文档的相似度,以及标出相似的地方(1:n)(3)要求找出给定的文件夹下面所有文档的相似度(n:n)。【实现说明】

给定相似文档进行测试。

2.21.设计一个停车场管理系统,模拟停车场的运作

设计要求:通过此程序具备以下功能:

1、要求以栈模拟停车场,以队列模拟车场 15 外的便道,按照从终端读入的输入数据序列进行模拟管理;

2、要求处理的数据元素包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻;

3、该系统完成以下功能:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费);

4、要求栈以顺序结构实现,队列以链表实现。

2.22. 赫夫曼编码

设计要求:自己找一篇不少于200个单词的英文文章,分析该文章中每一个字符的出现概率(包括标点符号,区分大小写),根据分析结果对文章中每一个字符进行赫夫曼编码,并将编码原则储于一个独立的文本文件中。最后,根据这个编码原则,将英文文章转换为01 串存储于一个文本文件中,再编写一个解码程序,将编码解码为原文件。如:英文文章为 aaabbc 则编码规则为 a-----0 b-----10 c-----11 英文文章将被转化为 000101011 2.23.并查集:检查网络

题目要求:给定一个计算机网络以及机器间的双向连线列表,每一条连线允许两端的计算机进行直接的文件传输,其他计算机间若存在一条连通路径,也可以进行间接的文件传输。请写出程序判断:任意指定两台计算机,它们之间是否可以进行文件传输? 输入要求:输入若干测试数据组成。对于每一组测试,第1行包含一个整数N(≤10000),即网络中计算机的总台数,因而每台计算机可用1到N之间的一个正整数表示。接下来的几行输入格式为I C1 C2或者 C或者C C1C2或者S,其中C1和C2是两台计算机的 16 序号,I表示在C1和C2间输入一条连线,C表示检查C1和C2间是否可以传输文件,S表示该组测试结束。

当N为0时,表示全部测试结束,不要对该数据做任何处理。

输出要求:对每一组C开头的测试,检查C1和C2间是否可以传输文件,若可以,则在一行中输出“yes”,否则输出“no”。

当读到S时,检查整个网络。若网络中任意两机器间都可以传输文件,则在一行中输出“The network is connected.”,否则输出“There are k components.”,其中k是网络中连通集的个数。

两组测试数据之间请输出一空行分隔。

2.24.教学计划编制问题(图的应用)

[问题描述] 大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。[实现提示]

1、输入参数应包括:学期总数,一学期的学分上限,每门课的课程号(可以是固定占3位的字母数字串)、学分和直接先修课的课程号。

2、应允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。

3、若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式可以自己设计。

4、可设学期总数不超过12,课程总数不超过100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。

============================= 17 2.25.药品销售统计系统(排序应用)

【问题描述】

设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。【实现提示】

在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。

药品信息的元素类型定义: typedef struct node { char num[4];/*药品编号*/ char name[10];/*药品名称*/ float price;/*药品单价*/ int count;/*销售数量*/ float sale;/*本药品销售额*/ }DataType;存储药品信息的顺序表的定义: typedef struct { DataType r[MaxSize];int length;}SequenList;

2.26梯运行仿真程序

[问题描述] 办公大楼有若干层(例如,十层),每层有电梯,同时有步行楼梯;

全楼有若干部(例如,不多于10部)电梯同时供使用,电梯容量为24人,速度每上下一层需5秒,在某一层停下至少15秒。其运行状态可分:向上、向下、停止,当前乘客数,当前所在层数。它设有一个“按钮数组”,例如第五层的按钮按下,意味着有乘客在第5层到达目标层,等等。在楼的每一层,有电梯数,有按钮表示有人等待向上或向下,由若干人在等待,有若干电梯在本层停下,等等。

在大楼中(包括进出)的总人数不超过500 人,每个人站在电梯前有个目标层,他有一个最大的忍受等待时间,因为他可以选择电梯或是步行走楼梯,等等。

还有下面若干假设:在每个时间段要进大楼的人数在0~199 之间随机取值;

用电梯的每个人的目标层在1~10 之间取值;一个人在进电梯或改走楼梯之前的等待时间在180~360 秒范围内随机发生;一个人到达目标层后第二次再乘电梯中间的工作时间在400~6600 秒间随机取值。[基本要求] 编写一个程序,模拟办公大楼中全部电梯的工作过程。这个仿真程序可以用来监测系统运行情况,改善大楼管理,它也可以看成是一种游戏程序。

2.27国交通咨询模拟

[问题描述]

处于不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅 途中的时间尽可能的短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供最优决策的交通咨询。

[基本要求]

(1)提供对城市信息进行编辑(如:添加或删除)的功能;

(2)城市之间有两种交通工具:火车或飞机,提供对全国城市交通图和列车时刻表及飞机航班表进行编辑的功能。(信息的输入方式可以是文件输入和键盘输入两种方式)

(3)提供两种最优决策:最快到达和最省钱到达。(选作:旅途中转次数最少的最优决策)

(4)旅途中耗费的总时间应该包括中转站的等候时间。

(5)咨询以用户和计算机的对话方式进行。

a)由用户输入起始站、终点站、最优决策原则和交通工具;

b)输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详 细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

三、课程设计的基本要求

1.问题分析和任务定义。根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?

2.逻辑设计。对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。

3.详细设计。定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,20 写出数据存储结构的类型定义,写出函数形式的算法框架。

4.程序编码。把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚。

5.程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。

6.结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析。

7.编写课程设计报告并提交相关内容

设计最终需提交的内容包括:

A)课程设计报告(1份,A4纸打印,同时包括一份电子版)报告要求版面清晰,格式规范,否则重新编写。报告内容要求包括:

(1)问题的概述、分析及研究意义;(2)数据结构的逻辑设计和物理存储设计;(3)重要算法的设计、流程描述或伪代码描述;

(4)数据结构的时空复杂性分析以及重要算法的复杂性分析;

(5)程序最终实现结果(包括重点结果界面的抓取,能过说明问题的重要实验结果数据的打印或其可视化结果等)。

(6)参考文献(如果需要)。

(7)附录部分附上关键数据结构的定义及关键算法的源代码。

B)完整的程序系统(电子方式提交)

能够对输入产生相应的输出,同时尽量的完成可视化演示。

该部分包括源代码和可执行文件两个部分(提交的时候需清楚的注明个人姓名,班级)。

C)源程序文档(电子方式提交)

源程序代码要求结构清晰、可读性好。应对源程序中的类说明(如果采用面向对象方法设计),函数说明,接口说明,关键变量说明等进行注释;源程序要进行适当的缩进编排。

D)答辩报告(编写Power Point答辩报告,电子方式提交)要求突出重点,思路清晰。同时就此报告准备答辩。

E)所有以电子方式提交的文件全部存在一个目录中,并对其进行压缩(用Winrar或Winzip均 21 可),压缩后的文件按规定格式进行命名,命名格式为:学号+姓名.rar(如060701014石海杭.rar)。8.每位同学只能选择一个题目并完成

四、评分标准

1、基本功能:

50分。

通过功能的实现情况、界面的完成情况、软件的实现情况进行评分。

2、设计报告及使用说明书: 20分 按照报告的要求进行评分。

3、回答问题:

4、平时考勤:

5、核分标准:

15分 15分 100分

(90~100为优、80~89为良、70~79为中、60~69为及格、,60以下为不及格)

五、参考书目

严蔚敏.《数据结构》(C语言版).清华大学出版社 刘玉龙.《数据结构与算法》.电子工业出版社.严蔚敏等《数据结构题集》(C语言版).清华大学出版社

数据结构与算法课程教学大纲 篇5

通过两周的课程设计,完成了预定的目标,其中有很多的随想。

老师的题目发下来的很早,大概提前了3周,当时就着手搜索有关线索二叉树的思想,思路,借了一本《数据结构-c语言描述》,在大体上就有了一个轮廓,先是输入二叉树,在对二叉树进行线索化,依次往下,但在具体实现时,遇到了很多问题:首先是思想的确定,其非常重要,以前有了这个想法,现在愈加清晰起来,因此,花了大量的时间在插入删除的具体操作设计上,大概三个晚上的时间,对其中什么不清晰明确之处均加以推敲,效果是显著的,在上机上相应的节约了时间。

通过具体的实验编码,思路是对的,但是在小问题上摔了一次又一次,大部分时间都是花在这方面,这个节点没传过来啊之类的,以后应该搞一个小册子,记录一些错误的集合,以避免再犯,思想与C语言联系起来,才是我们所需要的,即常说的理论与实践的关系。

数据结构是基础的一门课,对于有过编程经验的人,结合自己的编程体会去悟它的思想;而且我觉得随着编程经历的丰富对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。看了这次课程设计的题目,虽然具体要求没有看清,但是总结一下,可以看出,其需要我们能把一个具体案例或一件事情反映为程序来表达,数据结构就是桥梁,通过自己的设计,使应用能力得以融汇,对与问题,具有了初步的分析,继而解决之的能力,感觉对以后的学习会有很大的帮助,学习无非是用于实践。

数据结构与算法课程教学大纲 篇6

此次课程设计时间为其两周,它的目的是检查我们对《数据结构与算法》这 门课的掌握情况,并且能够利用其中的一种数据结构对实际问题进行解答,从而 锻炼并提高我们分析和解决实际问题的能力。

本次我所做的题目是英文文件的压缩与解压缩,由于在任务书当中已经要求 用哈夫曼树来解决这个问题,所以在数据结构的选择上面很轻松了,一开始 做这个题目的时候就遇到了一个问题,如何从一个英文文件中读出字符并统 计各自的数目。开始考虑了所有字符的可能性,用数组解决并且每个元素为结构体,其中结构体包括了字符和数目,这样做很是麻烦也很浪费空间,经网上搜索后,了解到一种简单的方法,就是利用ASCII码的知识,每一个字符分别对应着一个数字,利用这个数字作为数组的下标,s[ch]++,从而解决开始遇到的问题。从此可见有时候上网查一些资料会比自己的想法好些,我们不能过分依赖网上的资源,但是借鉴一下网上资源还是可以的,学会把握分寸就行了。在此次课程设计当中还遇到一个问题,就是在英文文件扩大的时候发生了一些错误,编码和译码都发生了错误,从后就开始一步步的检查错误,从译码函数开始分析,一直到发现错误在编码的时候,终于发现那个选取的最大值已经小了,所以会导致编码和译码发生错误。从中可以学到,当我们写好一个源程序后这只是一个开始,真正的麻烦才开始,调试这个源程序才是关键,这就需要我们能够耐心的去一步步的发现错误并改正错误。因此这需要一个很好的毅力。

数据结构与算法课程教学大纲 篇7

一、教学方法的改革

1.注重理论, 侧重应用性知识点的讲授

《数据结构与算法》是计算机专业的核心基础课程之一, 属于应用性学科, 有着多学科交叉覆盖的特点, 从理论到理论的教学方法显然是不适宜的。经过不断地实践和总结, “应用”应该是本课程教学的中心。强调理论是本课程教学过程中一个重点, 但是与此同时, 也需多注重理论联系实际, 用理论来解释现实生活中的问题 (比如, 关键路径、停车场管理等) , 通过调整讨论课和实验课的比重, 提高学生在学习过程中的主观能动性。

2.合理利用多媒体技术, 有效整合网络资源, 提高学生自主学习的能力

采用以教学设计为前提, 系统网络为支撑, 学生学习为中心, 多种媒体教学资源为依托的方式, 培养学生的自主学习能力。利用现代网络技术, 在任课教师上完课之后, 把相关的教学资源 (课件、教案、复习题、练习题等资料) 上传到专用的服务器上, 供学生下载。学生根据应该给定的网络地址下载相关的学习资料, 在课余的时间自行复习巩固。

3.辅导答疑方式多样化, 有效提高时间利用率

对于学生在学习过程中产生的问题, 采用课下答疑、平时辅导和期末答疑相结合的方式及时解决学生学习过程中的疑惑, 使学生能够及时、扎实的掌握课程内容。

课下答疑:即学生在听课期间有问题或疑问, 可以利用下课的时间现场提问、答疑, 以便学生及时解决问题。

平时辅导:充分利用周一到周五某个学生没有课的时段或者周末空闲时间, 在办公室为学生答疑, 解决学生在日常学习过程中碰到的问题。每周可以安排一次或者两次。

期末答疑:临近期末, 专门安排一天或者两天的时间, 全天候为学生答疑, 解决学生复习过程中产生的疑问。

4.建立多样化的评价体系

传统的考核方式全是笔试, 学生需要背诵和记忆书本上的知识, 在实际动手较弱。针对上述情况, 我们对考核方式做了调整。

《数据结构与算法》课程建立了形成性+终结性的多样化教学评价体系, 以达到对教与学的过程及结果实施有效的监控, 并对学生的学习质量做出客观的评价。学生每学期的成绩由平时 (课堂) 成绩、实验成绩和期末成绩组成, 实行结构化成绩。其中平时成绩及词汇测试成绩占10%、实验成绩占20%、期末成绩占70%。

二、教学手段改革

根据课程内容的特点, 本课程灵活地采用了以下多种教学方法和手段:

1、讲授法与实验法相结合。计算机专业是实践能力要求很强的一个专业, 针对以往学生实践操作能力普遍较差的情况, 在现在的教学中我们更注重学生实践能力的培养。通过讲授法与实验法的结合运用, 使理论教学与实践教学紧密结合, 在理论教学过程中穿插实践教学, 实践与理论步步紧随。

2、问题法。根据教学要求, 教师创设问题, 引导和启发学生积极思考, 调动学生学习的主动性, 培养学生解决实际问题的能力。

3、多媒体教学法[2]。随着科学技术的迅速发展, 利用现代化教学手段进行课堂教学是信息时代的必然趋势。多媒体教学的关键是课件和教学软件的制作。运用传统教学法的同时, 结合多媒体课件演示, 能够增强教学的直观性和可理解性, 增强课堂气氛的活跃性, 提高学生的积极性。课题组教师自行研制开发的多媒体应用软件, 内容丰富, 动画交互性强, 融知识性、趣味性、启发性为一体, 有利于提高课堂教学质量和教学效果。

三、教学改革成果

以上的教学改革和教学手段改革运用于计算机专业的学生。和非计算机专业的学生相比, 在相同题目的期末考试中, 计算机专业的学生在平均分、最高分和最低分这几个指标上面, 明显高于非计算机专业的学生, 不及格率和非计算机专业的学生相比偏低。

摘要:《数据结构与算法》是计算机专业学生比较重要的一门专业课程。本文重点探讨了该课程在教学方法和教学手段方面的改革。

关键词:数据结构,教学方法,教学手段

参考文献

[1]余艳, 刘燕丽.数据结构教学方法探讨[J].计算机教育.2013 (09)

数据结构与算法课程教学大纲 篇8

【摘 要】《算法导论与体系结构》课程是电子信息技术类的基础课程,但也比较强调实践性。本文针对当前该课程教学中存在的问题,探索基于案例驱动的算法导论与体系结构教学改革,探索算法导论与体系结构教学中案例设计,并将其应用于实际教学过程中。

【关键词】算法 体系结构 案例驱动 教学改革

IT技术已成为社会发展的主要核心技术之一,在过去短短的几十年时间里,IT技术涉及通信领域(移动通信的交换设备、基站和手机、IP电话等)、消费类电子设备(数字照相机、摄像机、机顶盒、家庭影院系统等)、机器人及各种自动控制系统等典型应用,这些都离不开算法实现。对电子信息类学生而言,《算法导论与体系结构》课程的开始,能够使其了解和掌握算法与体系相关的实用技术。但是算法与体系结构技术的发展,其速度都超出我们的预料。同时,应用的发展又不断地对技术的发展提出许多新的更高的要求,形成一个相互促进的良性循环。

1. 课程特点及教学现状

《算法导论与体系结构》顺应这一发展方向而为电子信息科学与技术专业信号处理方向学生开设的专业课。但是就目前的课程内容和教学体系来看,本课程虽然介绍了一些经典算法相关的知识,但针对性不强,无法有效激发学生主观能动性,而且当前所采用教材主要还是以传统理论,与本系其他课程如数字图像处理、智能信息处理、模式识别等方面联系不是很紧密,并且也不符合目前IT技术新的应用特别是多媒体相关领域的发展方向。因此,如何利用《算法导论》课程平台,使学生能对数字信号处理、数字图像处理、模式识别等方面有一个更为深入的认识,并使本专业毕业生具有利用实际算法解决实际问题的实践能力是本教改项目所要解决的重要问题。

针对上述问题,从C语言、数据结构等基础知识介绍入手,以面向应用为导向进行课程开发和设计,强调实践教学行动的过程属性,按照典型的实践项目开发过程逻辑编排课程内容,设计教学环节,组织教学过程。通过该课程的实践探索,开发一套行之有效的课程教学体系,进而推广到其他类似课程,全面提升学生的就业竞争能力

2. 算法导论与体系结构教学中案例设计探索

在案例教学中,教师根据课堂教学目标和教学内容的需要,以现实生活中的一些应用为蓝本,通过设计具体教学案例,让学生把自己纳入案例场景,引导学生参与分析、讨论、实践等,通过讨论或者研讨来进行学习的一种教学方法。

案例教学首先要有明确的教学计划,主要包括特定的教学对象、明确的教学目的、具体追求的教学效果和对教学过程的整体设计及其控制。课程教学中所使用的案例既不是编出来讲道理的故事,也不是写出来阐明事实的事例,而是为了达成明确的教学目的,基于一定的事实而编写的故事。

在《算法导论与体系结构》课程中,我们采用了以下几个方面来探索案例设计:

2.1 课程定位与目标

《算法导论与体系结构》在强调算法原理的基础理论的同时,与实践和应用紧密结合,在教学中占有举足轻重的地位。在课程设计上本着以“实际、实用、实践”为原则,淡化理论知识,突出应用技术。通过本课程的学习,使学生较系统地掌握算法开发编程环境,对其编程语言和开发流程有基本的了解,具备基本的算法设计开发与实现能力。

以应用实践引领知识、技能和态度,让学生在完成具体应用的过程中学习相关知识,发展学生的综合能力;掌握用所学知识解决实际问题的方法与手段,增强对各种问题能以多角度探寻解决问题的道路的素质;并具有良好的科学态度和创新精神,合理地提出新思想、新概念、新方法的素养。

2.2课程内容与教学设计

《算法导论与体系结构》课程的内容设计应体现连续性、实用性和前沿性,旨在使学生了解业界最新的算法技术发展动态和发展方向并具备一定的实践能力,因此必须紧跟国际潮流重新选择课程内容。另外,由于学生在之前的学习过程中已经修完了数字信号处理、数字图像处理等必修课程,也有模式识别、机器视觉和多媒体技术之类的选修课程,因此在教学设计中也充分考虑与前面的课程相融合,从实际的角度来巩固所学知识。同时也注重教学内容的实用性和针对性,以实践性知识为主,陈述性知识为辅,使学生能更充分地了解相关算法在各个领域的应用状况。

在教材内容的筛选上,尽量选用近两年比较新的教材作为主要教材,以在网络中及时更新的IT公司笔试题目作为辅助材料,并将算法应用的成熟案例(如业界比较成熟的方案或自己的横向课题)作为实例介绍给学生。力求选择的案例来自生产实际,同时充分考虑其复杂度和实用性,以保证学生在完成时态度认真,并能有效促进学生兴趣,拓展学生能力。

在教学方法上,强调以学生为主体、以教师为引导,将理论教学和实践教学集成化,使课堂学习融“教、学、做”为一体。在教学过程中注重学生学习方案的设计,运用自学、讲授、答辩、咨询、示范、操作多种形式进行教学。在具体的教学方案中要注重目标、过程、情感、结果的设置,充分调动学生个体和班、组团体的主观能动性,激发学生学习热情,使学生能力得到全面的发展和提高。

2.3实践环节设计

在前期的课程如数字图像处理、智能信息处理等都具有相应的课程设计环节,在这一环节中,学生会根据教师要求用Matlab或C语言实现一个比较系统的算法或方案。而在《算法导论与体系结构》的实践环节,可以充分利用这些算法或方案设计的结果,与实际的IT应用相结合,让学生真正体会算法是如何实现的。选择比较成熟的项目或案例都,可以充分地把理论知识、实践技能与实际应用环境结合在一起。在课程实践过程中要充分发挥学生的主体作用,给学生以足够发挥的空间,让学生真正动起来,激发学生的学习积极性,培养学生独立分析问题和解决问题的能力、自我控制与管理能力、做计划的能力和评价的能力。同时,以小组协作式进行实验,有利于发挥学生的团队合作精神,培养学生的协调人际关系能力,增强社会责任感。通过完成典型项目或任务,激发学生的学习动机,使之获得完成工作任务所需要的综合能力,提高自身素质。

2.4 教学团队建设

在《算法导论与体系结构》课程建设的教师团队中,进一步加强与行业、企业及各种社会教育资源的深度合作,选择长期在一线从事相关科研工作的教师作为主体,同时邀请业界资深技术人员做补充。教师团队自于实际企业,有着丰富的、实实在在的企业生产、管理经验,这些教师的经历本身就是很好的案例。业界专业人士参与实践课程设计,直接走上讲台,把技术开发岗位中需要的技术能力以及开发过程真实的描述出来,加深学生融入案例场景。

3. 结语

《算法导论与体系结构》课程是电子信息技术类的基础课程,但也比较强调实践性。一定要与当前飞速发展的机器学习、数据挖掘等IT技术相结合,将导航、机器人、移动互联网等实际应用加入案例,才能不断完善该课程教学内容,提高案例教学效果。

【参考文献】

[1]冯杰,黄海,胡洁,曹丽. 基于案例驱动的《DSP应用技术》教学改革探索[J].科技信息,2011(33):19-20.

[2]渠丽岩. 让学生在快乐中学习:谈案例教学法在“单片机原理与应用”教学中的应用[J]. 计算机教育,2009(18):93-95.

数据结构与算法课程教学大纲 篇9

课程代码:

070417

课程性质:专业任选总学时:

学时

总学分:

开课学期:

适用专业:化工 先修课程:有机化学、物理化学后续课程:毕业论文

大纲执笔人:HJH

参加人: HGJGHJH

审核人:

JHHJH

修订时间:2012年8月

编写依据:

09化学工程与工艺专业人才培养方案(2009)年版

一、课程介绍

高分子材料结构与性能课程是以高分子结构-性能-应用为主线,联系其他材料科学,阐述了高分子材料的合成方法、结构性能和主要应用领域,并简要介绍了各类高分子材料的基础知识和有关的加工成型方法。通过本课程的学习,使学生能够了解高分子材料的基础知识,拓宽知识面,使学生进一步了解本专业。它是学生学习《材料物理》、《材料物理实验》、《树脂基复合材料》《复合材料科学与工程实验》、《高分子材料成型加工》、《高分子材料工程实验》等其它专业基础课的先修课程和基础,同时也是不同专业十几门选修课的先修课程,在专业培养中处于重要地位。同时,该课程也可作为化学化工类非高分子专业的本专科生,为拓宽知识面,认识基础高分子科学相关的选修课,有望发展成化学化工类大学生专业基础课程,为将来从事材料领域的研究和开发工作打好基础。

二、本课程教学在专业人才培养中的地位和作用 材料在生产与生活中占有非常重要的地位,并与人们生活紧密相联。而作为材料学中的一大类别——高分子材料正发挥着越来越重要的作用。本门课程作为应用化学以及化学工程与工艺专业本科生的一门专业选修课,目的在于让学生了解高分子材料学的基础知识,扩大知识面,培养学生掌握高分子材料基本知识与概念,并能初步分析和解决材料研究中的实际问题。高分子材料结构与性能是以高分子材料为基本研究对象的一门课程,是高分子科学的基础课程。与化学的其它二级学科相比,它与现代物理学有着更加深刻的亲缘关系,其发展更加依赖于化学与物理学的进步,同时也对这两大轴心科学的进步产生深刻的影响。由于近年高分子科学对各个工业部门和科技领域的渗透作用显著,所以在化学本科等非高分子专业作为选修课教学具有重要的意义。

三、本课程教学所要达到的基本目标

高分子材料结构与性能课程的内容主要包括高分子材料的结构-性能-应用的内在联系和塑料、橡胶、纤维、涂料、黏合剂与功能高分子等主要高分子材料品种的介绍,要求学生在掌握高分子材料的结构-性能-应用的内在联系的基础上,熟悉塑料、橡胶、纤维、涂料、黏合剂的一些主要品种,并能对一些材料性能及相关影响因素做出简单解释。通过教学提高学生运用高分子化学与物理的知识分析问题、解决问题的能力。

本课程的基本要求如下:

1、掌握高分子的基本知识、基本概念;

2、了解高分子各类材料的特点;

3、了解和掌握高分子材料的各种合成方法;

4、了解和掌握高分子材料的结构与性能的关系。

四、学生学习本课程应掌握的方法与技能

本课程较系统地阐述了高分子材料的合成方法,并以高分子结构-性能-应用为主线,介绍了各类高分子材料的基础知识,是关于高分子材料基础应用的实用课程,它的任务是使学生较熟练地掌握各类高分子材料的基本概念、制备及其应用,并能运用结构-性能-应用的内在联系,初步分析和解决材料研究中的实际问题。

五、本课程与其他课程的联系与分工 《高分子材料结构与性能》课程是材料化学、高分子材料与工程及其相近专业的一门重要课程,是在学生具备了必要的有机化学、物理化学等基础知识之后,在学习了高分子化学与物理基础上选修的专业基础课程,并为功能高分子材料化学,高聚物合成工艺学等后续专业课程的学习奠定坚实的基础。

六、本课程的教学内容与目的要求 【第一章】材料科学概述(共2学时)

1、教学目的和要求:

(1)熟悉材料的分类;了解材料的多层次结构。

(2)掌握复合材料及复合效应以及材料工艺及其与结构和性能的关系。

2、教学内容:

(1)第一节材料与材料科学(2)第二节材料结构简述(3)第三节材料的性能

(4)第四节材料工艺及其与结构和性能的关系(5)第五节材料的强化机制

3、教学重点和难点:

(1)重点:材料及材料化过程,复合材料,功能物性,材料结构及性能关系(2)难点:几个重要概念,复合材料,材料化过程

4、本章思考题: P289思考题与习题

【第二章】高分子材料的制备反应(共4学时)

1、教学目的和要求:

(1)熟悉连锁聚合反应与逐步聚合反应的基本反应类型。(2)了解高分子材料制备反应的新进展;掌握自由基聚合反应与自由基共聚合反应的概念、机理及应用以及聚合实施方法。

2、教学内容:

(1)第一节高分子与高分子材料(2)第二节连锁聚合反应(3)第三节逐步聚合反应

(4)第四节高分子材料制备反应新进展

3、教学重点和难点:

(1)重点:自由基聚合,乳液聚合,逐步加聚反应

(2)难点:连锁聚合反应与逐步聚合反应机理、反应条件

4、本章思考题:

P289-291思考题与习题

【第三章】高分子材料的结构与性能(共8学时)

1、教学目的和要求:(1)熟悉聚合物大分子联的组成和构造,聚合物凝聚态结构;了解高分子材料的力学性能、物理性能以及化学性能。(2)掌握聚合物分子运动的特点、聚合物的物理状态、玻璃化转变以及聚合物熔体的流动。

2、教学内容:

(1)第一节聚合物的结构

(2)第二节高聚物的分子运动及物理状态(3)第三节高分子材料的力学性能(4)第四节高分子材料的物理性能(5)第五节高分子材料的化学性能

3、教学重点和难点:

(1)重点:聚合物的柔顺性与构象的关系,聚合物分子运动的特点,聚合物的松弛现象,聚合物的力学三态,聚合物熔体特性,聚合物的力学屈服以及聚合物的力化学过程。(2)难点:聚合物的松弛特性,力学屈服现象

4、本章思考题:

P291-293思考题与习题

【第四章】通用高分子材料(共8学时)

1、教学目的和要求:

(1)熟悉几大类通用高分子材料的基本概念、分类;掌握通用高分子材料的结构、性能及应用。

(2)了解塑料、橡胶、纤维、黏合剂及涂料的制备工艺。

2、教学内容:(1)第一节塑料(2)第二节橡胶(3)第三节纤维

(4)第四节胶黏剂及涂料

3、教学重点和难点:

(1)重点:塑料的组成、作用及成型加工方法,热塑性塑料,工程塑料,热固性塑料,合成橡胶

(2)难点:几个重要概念,通用高分子材料的结构、性能及应用之间的内在联系

4、本章思考题:

P293-294思考题与习题

【第五章】功能高分子材料(共4学时)

1、教学目的和要求:

(1)以专题讲座的方式引入功能高分子的基本概念,分类及应用。(2)重点结合自己的科研成果,简单介绍几类功能高分子。

2、教学内容:

(1)第一节医用高分子及高吸水性树脂

(2)第二节智能高分子及功能高分子最新进展

3、教学重点和难点:

(1)重点:医用高分子及高吸水性树脂,智能高分子及功能高分子最新进展(2)难点:几个重要概念,刺激响应性,功能高分子的作用机理

4、本章思考题: P294思考题与习题

【第六章】聚合物共混物(共2学时)

1、教学目的和要求:

了解聚合物共混物的基本概念、制备方法及主要品种。

2、教学内容:

(1)第一节聚合物共混物及其制备方法(2)第二节主要品种

3、教学重点和难点:

(1)重点:几个重要概念,聚合物共混物的制备方法(2)难点:聚合物共混物,互穿网络聚合物,混炼挤出设备

4、本章思考题:

P294-295思考题与习题

【第七章】聚合物基复合材料(共4学时)

1、教学目的和要求:

了解聚合物基复合材料物的基本概念、制备方法及主要品种。

2、教学内容:

(1)第一节聚合物基宏观复合材料(2)第二节聚合物基纳米复合材料

3、教学重点和难点:

(1)重点:宏观聚合物基复合材料的基本类型及增强剂的类型,聚合物基纳米复合材料的类型

(2)难点:偶联剂在复合材料制备中的作用及作用机理

4、本章思考题: P295思考题与习题

七、本课程教学时数分配表 章节

标题

学时分配

讲授

实践

第一章材料科学概述

第二章高分子材料的制备反应

第三章高分子材料的结构与性能

第四章通用高分子材料

第五章功能高分子材料

第六章聚合物共混物

第七章聚合物基复合材料

合计 32

八、教材和主要参考资料

1、指定教材:

《高分子材料基础》张留成,翟雄伟,丁会利。化学工业出版社,2007年

2、主要参考资料:

《高分子材料》黄丽主编。化学工业出版社,2009年

《高分子材料科学导论》张德庆,张东兴,刘立柱编著,1999年

九、课程考核与成绩评定方法

1、命题要求

(1)命题内容要求

命题要着眼于所学课程的基础知识和基本技能的考核,要突出重点,注意覆盖面,要符合学生学习和生活的实际,贴近社会实际,要重视对学生在具体情景中综合运用所学知识分析和解决问题的能力的考查,要有助于培养学生创新精神和实践能力。试卷结构应简洁、合理,题量要适度。要根据课程特点处理好客观题与主观题的比例。能力层次分值分配为:了解占50%,理解占30%,综合应用占20%。

(2)命题的覆盖面、难易度、题型结构等要求

命题覆盖面涉及教学大纲规定教学内容的相关章节,考虑到本课程为专业选修课,难易应适中或偏易,题型主要有填空题、选择题(单选)、判断题、简答题和计算题。

2、考核方法及用时

本课程考核按考查课程的要求进行,考核采取课堂测验方式,完成时间为110分钟,成绩采用百分制。

3、课程考核成绩构成

数据结构与算法课程教学大纲 篇10

摘要;数据库课程是计算机及其相关专业的重要课程,具有较强的理论性和实践性。通过对该课程采用传统教学模式存在问题的分析,探索数字媒体技术专业背景下的教学改革措施,包括合理规划课程内容,优化课程体系和丰富实验课教学,以达到调动学生的积极性和动手能力,培养应用型人才的目标。

关键词:数据库课程;数字媒体技术;教学模式;实践教学;教学改革

中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2017)07-0141-02

随着信息技术的发展,数据库技术在计算机应用系统中占据越来越重要的地位。我校数字媒体技术专业根据自身的专业需求,已经开设了多年的数据库教学,总结近年来教学中的经验和不足,结合本专业的特点,对该课程进行了一系列的改革,以适应数字媒体行业人才的需要。

1教学现状和存在问题

我院数字媒体技术专业开设移动媒体和游戏开发两个方向,前者侧重网站和移动端应用开发人才的培养,数据库原理与应用课程主要为该方向学生开设,总计64学时,理论和上机各32学时。教学目标是学生理解数据库的基本原理,能够自己或配合团队进行数??库的设计和开发,从而掌握在实际项目中使用数据库的技术。移动媒体方向主要实践教学任务安排如表1所示:

本专业属于非计算机专业,计算机基础课程较少,侧重于应用型课程。同时结合独立学院学生的实际情况,本课程采用中国人民大学的优秀教材《数据库系统概论》,并未参照国外经典教材,授课内容也有所删减,主要包括数据库原理、设计和应用三个部分。三个部分的主要授课内容为:原理部分包括关系数据库基本概念、关系代数、SOL语句、数据库安全性和完整性。设计和应用包括关系数据理论、数据库设计、查询处理和查询优化、数据库恢复技术和并发控制。总结近几年来教学实践过程,存在的问题有以下几个方面:

1)学生计算机基础薄弱,对理论知识兴趣不大。本专业课程围绕数字媒体的应用设置,所以开设的计算机基础课程较少,学生基础知识较薄弱,编程能力不强,因此对于较抽象的原理知识,如:关系代数等内容,学生掌握存在一定难度;对于SQL语句的学习,学生只是照搬书上简单的例子来操作,对原理、设计和应用三个部分没有融会贯通。后续的项目实践中,不能从应用的整体角度进行规划,导致设计的数据库性能较差,实用性较弱。

2)相关课程缺乏联系,学生解决综合问题能力较弱。本专业的教学任务中,网站开发类课程和数据库课程相互独立,尽管第三学年的综合实践课程将两者结合,由于以学生练习为主,课时较少(16学时),较多学生仍旧不能掌握复杂的数据库设计。总结几年的毕业设计情况,网站开发类题目中,较多学生仍然无法解决数据库整体设计及其如何与前端页面交互的问题。

3)缺乏综合应用的实践平台。由于学时的限制,上机实验只是对理论知识的简单实现,与实际应用中的复杂设计相差甚远。同时,机房中数据库平台的部署基本都是单机环境,与现有实际网站系统中大型数据库的部署和使用存在较大差距,难以培养学生的实际项目开发能力。

2改革措施

根据数字媒体技术专业的特点,结合学生的实际情况,针对上述问题,我们坚持“应用性”和“渐进性”原则,对本课程进行了以下几个方面的教学改革:

2.1合理规划课程内容

对数据库原理中较难理解的概念,如;数据模型、关系模式、范式等,我们采用用案例式教学和验证性实验相结合;对数据库设计以团队实现项目的方式讲解,具体如下:

1)项目案例引入教学,实际案例中的用语和理论知识对应讲解。教学中所用到的项目案例由互联网下常见应用模型的提取,如:购物网站设计。用验证性实验加强对该部分基础知识的理解,即授课过程中边学边练。

2)对数据库设计章节,将复杂的实际应用划分为多个简单需求,鼓励学生从中选择单个或几个简单功能进行项目的模拟化设计和开发,然后在此基础上进行功能的扩展。实际执行时,3-5学生组成团队,以合作方式完成需求分析、E-R图、数据库设计、实施和安全性检测整个流程,采取集中演示和答辩方式进行成绩判定。

3)结合数字媒体的实际应用,讲解大型网站的搭建机制,增加学生兴趣的同时,课本中相关知识点与实际应用也有了较好的结合。

2.2优化课程体系

数据库课程在整个课程体系中并不是孤立的,所以其课程设计应该与网站开发等课程设计有机地结合起来。它们侧重点虽然不同,但是之间又有密切联系,让学生及早了解这种联系,十分必要。我们采取以下措施:

1)第二学年开始开展综合实践,内容是将WEB开发课程内容和数据库结合。教师演示项目案例的实际开发流程,学生以团队合作方式,选择自己感兴趣的应用,与传播学和艺术方向学生合作,分别完成技术实现、策划和艺术设计环节。这种方式与公司的项目运作方式相似,能够更好的锻炼不同专业学生之间的沟通能力。综合实践成绩通过学生答辩方式判定。

2)引入对非关系型数据库系统的介绍,这是应对大规模和高并发数据访问Web2.0网站常用的技术。教师介绍大规模网站架构中的数据存储和访问模块,学生分组了解某个相关的设计思想和开源软件。这有助于学生在掌握基本概念基础上进行扩展式自学,减小互联网应用对学生造成的神秘感。这部分内容属于书本外的扩充知识,以学习汇报方式进行考查。

2.3丰富实验课教学

应用能力的培养是数据库教学的主要目标之一,为此我们采取以下方法:

1)提供MySql和SQLServer软件平台,以及智能手机常用的Sqllite,另外提供实际应用中常见的Memcache、MongoDB等分布式系统,学生可自由选择使用。为了更好的模拟实际的网络环境,实验课上选定某个学生设计的数据库为服务器,其他学生对它进行远程访问。

2)增加大规模网站中分布式数据平台的介绍,开阔学生视野的同时,动手搭建MongoDB等开源系统。选择具有代表性的智能手机应用项目,重点训练其中数据库应用和设计部分,以适应移动互联网的发展,提高学生的动手能力和就业竞争力。

3结束语

我们对数据库原理与应用课程的教学改革取得了较好的效果,体现在学生对数据库的基本理论和实践能力得到了提升,能够独立或者合作完成相关毕业设计人数有了显著提升,毕设质量也有了显著提高。

数据库的发展非常迅速,新的信息技术不断更新,这对教师提出了更高的要求。教师不仅掌握原有的理论知识,还要加强自身研究工作,紧跟信息技术的前沿发展,才能更好地激发学生的学习兴趣。

上一篇:高校师德调查问卷下一篇:2016王毅部长答记者问,中英对照