数据结构与算法分析课程标准
《数据结构与算法》课程教学大纲(计
《数据结构与算法》课程教学大纲(Data Structures & Algorithms)一、基本信息课程编号:E1132107课程类别:学科基础必修课适用层次:本科适用专业:计算机科学与技术、网络工程、软件工程开课学期:3总学分:4.5总学时:72学时(理论课54学时,实验课18学时)考核方式:考试二、课程教育目标《数据结构与算法》是计算机学科基础的一门核心课程,它对提高学生的程序设计和算法设计与分析能力具有十分重要的作用。
通过本门课程的学习,使学生学会合理地组织数据、有效地表示数据和有效地处理数据,培养和训练学生能够根据实际问题的要求选择和设计合适的数据结构,编写质量高、风格好的应用程序,并具有初步的算法设计分析能力。
三、教学内容与要求1.理论课教学内容1)绪论主要包括:数据、数据元素、数据对象、数据结构、数据类型、抽象数据类型;算法、算法描述与算法分析。
基本要求:了解数据结构的重要性;了解算法分析的重要性;理解数据结构与算法的关系;掌握数据结构的基本概念和抽象数据类型。
2)线性表主要包括:线性表的(逻辑)定义与基本运算;线性表的顺序存储结构及基本运算的实现;线性表的链式存储结构(单链表、循环链表、双向链表)及其基本运算;一元多项式的表示及简单运算。
基本要求:掌握一般线性表的特点、存储表示、相应算法和实现方法及其典型应用。
并初步掌握基本算法分析技术。
3)栈和队列主要包括:栈和队列的结构特性、基本操作及其在顺序存储结构和链式存储结构上基本操作的实现;栈和队列的应用、递归算法的设计。
基本要求:掌握栈和队列的特点、存储表示、相应算法和实现方法及其典型应用。
4)字符串主要内容:字符串的定义、基本运算、存储结构、匹配算法及其应用。
基本要求:掌握字符串的的特点、存储表示、相应算法和实现方法及其典型应用。
5)数组和广义表主要内容:数组的定义、运算、存储结构、特殊矩阵及稀疏矩阵的压缩存储。
广义表的逻辑结构和存储结构以及广义表的遍历。
数据结构与算法课程设计
数据结构与算法课程设计一、课程目标知识目标:1. 理解并掌握常见的数据结构(如线性表、树、图等)的基本概念和应用场景;2. 学习并掌握基本算法设计与分析技巧,包括排序、查找、递归等;3. 了解不同数据结构和算法在实际问题中的应用和性能分析。
技能目标:1. 能够运用所学数据结构设计简单的程序,解决实际问题;2. 能够运用算法分析技巧,评价算法的性能,并进行优化;3. 培养学生的编程能力、逻辑思维能力和问题解决能力。
情感态度价值观目标:1. 激发学生对数据结构与算法的兴趣,培养其主动探究和钻研的精神;2. 培养学生的团队合作意识,使其学会在团队中协作解决问题;3. 培养学生严谨、踏实的学术态度,认识到数据结构与算法在计算机科学中的重要性。
课程性质:本课程为高中信息技术课程,旨在帮助学生掌握数据结构与算法的基本知识,提高编程能力和问题解决能力。
学生特点:高中学生已具备一定的编程基础和逻辑思维能力,对新鲜事物充满好奇心,但需加强对数据结构与算法的实践操作和深入理解。
教学要求:结合学生特点,注重理论与实践相结合,通过案例教学和任务驱动,让学生在实际操作中掌握数据结构与算法的知识,提高其编程能力和问题解决能力。
同时,关注学生的情感态度价值观培养,使其形成良好的学习习惯和团队合作意识。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 数据结构部分:- 线性表:定义、顺序存储、链式存储;- 栈和队列:基本概念、应用场景、实现方法;- 树:二叉树、遍历方法、线索二叉树;- 图:图的表示方法、遍历算法、最小生成树、最短路径。
2. 算法部分:- 排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序;- 查找算法:顺序查找、二分查找、哈希查找;- 递归算法:递归概念、应用实例、递归与栈的关系;- 算法分析:时间复杂度、空间复杂度、算法优化。
3. 教学大纲:- 第一周:数据结构概述,线性表的概念及存储;- 第二周:栈和队列,树的基本概念;- 第三周:二叉树及遍历方法,线索二叉树;- 第四周:图的表示和遍历,最小生成树和最短路径;- 第五周:排序算法,查找算法;- 第六周:递归算法,算法分析。
《数据结构与算法分析》课程教学大纲
本科生课程大纲课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修一、课程介绍1.课程描述:数据结构与算法分析是学习利用计算机语言编写质量更好的程序以及软件的一门课程,是提高计算机编程水平的必由之路,为日后学习相关课程打下一个坚实的基础。
本课程针对低年级地球信息科学与技术专业和勘查技术与工程专业本科生学生开设,课程主要内容包括:数据结构及其算法,文件读写,查找和排序算法等。
通过课程学习,要求学生能够掌握计算机存储(包括内存和外存)数据的基本方法和常用模式以及其算法,提高编写程序、调试程序的能力,课程结束后能够完成较复杂程序的设计和编制。
2.设计思路:本课程引导低年级地球信息科学与技术专业和勘查技术与工程专业学生掌握利用计算机语言编写实用可靠的程序的基础理论和实际操作方法,提升自身的科研和工作技能。
课程内容的选取基于学生掌握了一定的计算机语言知识。
课程内容分为四个模块:数据结构介绍;常用的数据结构及其算法;文件读写;查找和排序算法。
这三个方面相互关联,互为补充,覆盖了计算机数据存储、管理和处理等的主要模式和方法。
3. 课程与其他课程的关系:- 1 -本课程需要本科生在完成低年级阶段的计算机语言的基础上开设。
先修课程:《C 程序设计》。
二、课程目标本课程目标是为低年级地球信息科学与技术专业和勘查技术与工程专业学生提供一个深入学习计算机编程的平台,引导并培养学生使用计算机语言来描述、管理和处理数据的能力,提高计算机编程水平。
到课程结束时,学生应能:(1)熟练掌握常用的计算机数据在内存中存储的方法及其常用算法;(2)掌握文件的读写操作,合理的利用文件存储数据;(3)掌握查找和排序常用的算法;(4)掌握如何编制可靠的程序以及程序调试的技巧。
三、学习要求要完成所有的课程任务,学生必须:(1)按时上课,上课认真听讲,积极参与课堂讨论。
(2)按时完成上机练习,对地质数据进行分析和处理,提交正式的上机报告。
数据结构与算法课程标准
《数据结构与算法》课程标准主编:张扬主审:梁平职业教育及专业拓展平台: 职业技术课课程编码: 1102203 是否专业核心课程: 是总学时: 64 适用专业: 计算机应用技术实践比例(%): 15.6%课程类型: (理论+实践)课学分: 4精品课程: 有考核方式: 考试开设学期: 第二学期制(修)订日期: 2010年6月一、课程描述随着计算机软件和硬件的发展,计算机的应用已经深入到社会的各个领域,各行各业都需要对大量的非数值数据进行存储、加工和管理。
如何根据实际应用研究的要求,对这些大量的表面上杂乱无章的数据进行有效地组织、存储和处理,编制出相应的高效算法,这就是《数据结构与算法》这门课程所要研究并加以解决的问题。
《数据结构与算法》是计算机科学中一门综合性的专业技术基础课,也是计算机科学技术应用专业的必修课程,为计算机专业技术人员提供必要的专业基础知识和技能训练,同时也是计算机应用相关学科所必须掌握的课程。
通过本课程的学习,使学生熟练掌握计算机程序设计中常见的各种数据的逻辑结构、存储结构及相应的运算,初步掌握算法的时间分析和空间分析的技术,并能根据计算机加工的数据特性运用数据结构的知识和技巧设计出更好的算法和程序,并进一步培养基本的良好的程序设计能力。
《数据结构与算法》课程适用于三年制计算机应用技术专业,在第二学期开设。
二、课程培养目标本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。
通过本课程的学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析的技术;另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。
1.专业能力目标(1)掌握各种主要数据结构的特点、计算机内的表示方法,以及处理数据的算法实现。
(2)使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。
数据结构课程标准
《数据结构与算法教程》课程标准适用专业:计算机应用技术教研室:计算机应用总学时:72一、课程概述1.课程的性质与地位《数据结构》是通信工程、信息工程、电子工程、自动化、信息研究与安全、电子工程专业技术本科的专业基础必修课,主要学习各种常用数据结构的操作及应用,对后续课程的学习以及以后从事软件开发具有不可替代的重要作用和意义。
2.课程基本理念本课程的教学应坚持以人为本、以学为主、注重创新意识和综合素质培养的指导思想,坚持将知识学习、能力训练和综合素质培养融为一体,将各种数据结构与实际问题紧密结合,强调学员在学习和实践中发现问题、分析问题、解决问题的能力,注重对学员科学探索精神、创新意识的培养。
3.课程设计思路本课程教学包括三部分内容:先介绍一些相关的概念;再学习数据的表示,由浅入深的各种数据结构及相关算法;最后学习数据处理各种算法。
并及时安排相应的实题课,巩固和加深学员对所学理论的理解。
二、课程目标通过本课程的学习,要求学员理解并掌握各种数据结构及相关算法,为后续专业课的学习打好基础;通过上机实验,提高学员分析问题与解决问题的能力,尤其是通过对具体实际问题的分析,选择合适的数据结构,将与问题相关的数据组织起来,编写出能高效运行的算法。
三、内容标准(一)绪论1.基本内容:数据结构及其相关概念,算法的概念,算法分析。
2.学习要求:准确掌握数据结构及其相关的概念、数据的逻辑结构和存储结构之间的关系;了解算法的五要素、算法与程序的区别;熟练掌握语句频度和时间复杂度的估算方法3.教学要求:本单元共安排6学时,采用课堂讲授方法实施教学。
针对本单元理论性强、新概念多的特点,在教学过程中要准确解释各个基本概念,清晰阐明基本概念的内涵和相互联系。
充分利用电子课件,力求将抽象概念形象化、具体化,以加深学员对基本概念的理解。
激发学员对本课程的学习兴趣。
(二)线性表的顺序存储及其运算1.基本内容:线性表的逻辑结构,线性表上的运算,栈和队列的概念,栈和队列的运算,栈和队列的应用。
《数据结构与算法》教学大纲 一、课程目标与任务 数据结构课程是计算机
《数据结构与算法》教学大纲一、课程目标与任务数据结构课程是计算机类专业课之一。
本课程介绍了线性表、栈和队列、串、数组和广义表树和二叉树以及图等几种基本类型的数据结构,以及在程序设计中经常遇到的两个问题————查找和排列。
它的的教学要求是:学会分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构以及相应的算法,并初步掌握算法的时间分析和空间分析的技巧。
通过本课程的教学应使学生达到下列基本要求:1、熟悉掌握数据结构的的基本概念2、掌握线性表的逻辑结构与存储结构3、掌握栈和队列的结构与操作算法4、掌握串的结构与操作算法5、掌握数据和广义报表的结构与算法6、掌握树和二叉树的结构与算法7、掌握图的结构与算法8、掌握查找与排列的算法二、相关课程说明本课程的先行课程有计算机导论、高级语言程序设计。
三、教学环节安排四、课程内容及要求第一部分数据结构概述(一)教学内容:1. 基本概念和术语2. 算法的描述和算法分析(二)重点与难点:算法的描述和算法分析(三)基本要求:了解基本概念和术语第二部分线性表(一)教学内容:1. 线性表的逻辑结构2. 线性表的顺序存储结构3. 线性表的链式存储结构(二)重点难点:线性表的链式存储结构(三)基本要求:熟练掌握线性表的结构和算法第三部分栈和队列(一)教学内容:1. 栈2. 表达式求值3. 栈与递归过程4. 队列(二)重点与难点;栈和队列的操作算法(三)基本要求:熟练掌握栈和队列的操作算法编程第四部分串(一)教学内容:1. 串极其操作2. 串的存储结构3. 串基本操作的实现(二)重点难点:串基本操作的实现(三)基本要求:掌握串基本操作的实现与应用第五部分数组和广义表(一)教学内容:1. 数组的定义与运算2. 数组的顺序存储结构3. 矩阵的压缩存储4. 广义表的定义5. 广义表的存储结构6. 广义表递归算法(二)重点难点:数组的顺序存储结构、矩阵的压缩存储、广义表的递归算法。
《数据结构与算法》课程教学大纲
《数据结构与算法》课程教学大纲一、课程基本信息课程编号:jg05111010课程名称:数据结构与算法 Data Structures and Algorithms学时/学分:32/2实验学时:12课程类别:专业基础类课程课程性质:必修课适用专业:非计算机专业开设学期:第四学期先行课程:C语言程序设计责任单位:计算机技术与工程学院基础教学部二、课程简介用计算机解决任何问题都需要进行数据表示和数据处理,而数据表示和数据处理正是《数据结构与算法》要研究的内容。
《数据结构与算法》是某些类计算机专业中的一门专业基础课。
主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法的分析和评价。
通过本课程的学习,使学生较深入地理解数据的逻辑结构、物理结构,掌握相关算法,培养基本的、良好的程序设计能力,能够运用数据结构的理论、方法与技术解决相应的实际问题,有效的提高学生的编程能力,为以后应用计算机解决专业问题打下坚实的基础。
三、课程目标及学生应达到的能力通过本课程的学习,应达到的目标及能力如下:目标1:掌握各种基本数据结构的概念、存储和操作算法,能够根据具体问题选择适当的数据结构、存贮结构及相应算法。
目标2:掌握基本数据结构的核心思想,具备对数据结构分析设计的能力和算法设计的思维方式。
目标3:掌握每种数据结构的多种存储方法,以及其上基本操作,包括查找和排序操作的多种方法,能够根据实际问题选择较优方法。
目标4:具备对基本算法问题的分析、设计与实现的能力,能够设计高效的算法并编程实现。
四、课程目标对毕业要求的支撑五、课程教学内容(一)绪论1.主要教学内容1)数据结构的兴起和发展;2)数据结构的基本概念及数据结构中的术语;3)抽象数据类型的定义、表示和实现方法;4)算法的基本概念以及算法的时间复杂度和空间复杂度分析;2.知识点与能力点要求知识点:熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系;了解抽象数据类型的定义、表示和实现方法;熟悉C语言描述算法的规范;理解算法五个要素的确切含义;掌握计算语句频度和估算算法时间复杂度的方法。
2024版《数据结构》课程标准
•课程概述与目标•基本数据类型与操作•复杂数据类型与操作目录•算法设计与分析基础•排序与查找算法专题•文件组织与处理技术•实验环节与项目实践指导01课程概述与目标数据结构定义及重要性数据结构定义重要性课程要求学生应具备一定的编程基础,熟悉至少一门编程语言;教师应具备丰富的数据结构教学经验和实践经验,能够灵活运用多种教学方法和手段进行教学。
知识目标掌握数据结构的基本概念、基本原理和基本方法,了解各种数据结构的特性、适用场景以及相互之间的联系与区别。
能力目标培养学生运用数据结构解决实际问题的能力,包括抽象问题能力、设计算法能力、编写程序能力以及调试程序能力等。
素质目标培养学生严谨的科学态度、良好的团队合作精神以及创新意识,提高学生的综合素质。
课程目标与要求教材选用及参考资源教材选用参考资源02基本数据类型与操作线性表线性表的定义与基本操作01线性表的顺序存储结构02线性表的链式存储结构03栈和队列栈的定义与基本操作队列的定义与基本操作栈和队列的应用串和数组串的定义与基本操作串的存储结构数组的定义与基本操作特殊矩阵的压缩存储03复杂数据类型与操作树和二叉树树的基本概念二叉树树的遍历哈夫曼树及其应用线索二叉树树和森林图的基本概念图的存储结构图的遍历最小生成树最短路径拓扑排序和关键路径图论基础及应用顺序查找、折半查找、索引顺序查找等。
静态查找表动态查找表哈希表查找算法的分析与评价二叉排序树和平衡二叉树等。
哈希函数的构造方法、处理冲突的方法等。
时间复杂度、空间复杂度等。
查找技术04算法设计与分析基础算法概念及表示方法算法定义算法表示方法时间复杂度空间复杂度其他指标030201算法性能评价指标将原问题分解为若干个子问题,分别分治策略类似于回溯法,但在搜索过程中通过剪枝等操作来减少搜索空间,提高效分支限界策略通过保存子问题的解,避免重复计算,提高效率。
动态规划贪心策略通过探索所有可能的解来求解问题,当发现当前路径无法得到解时,回溯回溯策略0201030405典型算法设计策略05排序与查找算法专题内部排序方法比较插入排序简单插入排序、希尔排序交换排序冒泡排序、快速排序选择排序简单选择排序、堆排序01020304哈希表查找技术06文件组织与处理技术文件概念及分类方法文件定义文件分类根据文件的性质和记录的组织方式,文件可分为顺序文件、索引文件、散列文件和链式文件等。
《数据结构与算法》教学大纲
《数据结构与算法》课程教学大纲一、课程简介及教学基本要求《数据结构与算法》是计算机程序设计的重要理论基础,是计算机相关专业的核心专业基础课程,针对我校计算机学院大学二年级学生开设,它前承高级语言程序设计和高等数学,后接操作系统、编译原理、数据库原理、人工智能等专业课程。
程序设计就像搭积木,数据结构是零件,而算法则是设计图纸。
高效运行且节约存储空间的程序,取决于数据结构和算法的设计。
课程的学习效果不仅关系到后续课程的学习,而且直接关系到软件设计水平的提高和专业素质的培养,在计算机学科教育中有非常重要的作用。
本课程将按照“线性结构,树型结构,图形结构,集合结构”四大模块循序渐进展开,重点学习线性表、字符串、栈和队列、树和二叉树、图以及集合在计算机上的存储和处理。
课程采用“线下+线上”“课程+思政”“理论+实践”六位一体,“课前导学→理论精讲→小组实验→闯关训练→实践扩展→答疑反馈”六阶递进的混合教学模式。
二、课程教学目标通过本课程的学习,使学生掌握数据结构的基本理论与知识,算法设计与分析的基本方法与技巧,培养学生分析和解决实际问题的能力,并为其开展计算机学科应用奠定数据结构与算法方面的基础。
通过解决工程问题,践行学术道德教育,增强学生软件岗位职业道德和团队合作意识,理论联系实际、精益求精的工作态度以及勇于开拓的创新精神。
具体目标如下:目标1.理解数据结构和算法的基本概念。
掌握常用基本数据结构的逻辑特征、存储表示和基本运算。
掌握常用查找和排序算法,并能够分析不同算法的适用场景。
目标2. 具备初步的算法分析能力,会计算算法的时间、空间复杂度。
目标3. 提升分析解决问题的能力,学会分析数据对象的特性,选择(应用)有效的数据结构,设计合适的算法,并编写和调试程序。
目标4. 培养软件岗位职业道德和团队合作意识,理论联系实际、精益求精的工作态度以及勇于开拓的创新精神。
注:课程贡献度用标志表示(“H”表示“高”,“M”表示“中”,“L”表示“低”)三、教学内容与教学方法第一章绪论【课程内容】数据结构与算法课程主要研究非数值计算的现实问题中的数据在计算机中表示、存取和处理。
数据结构与算法的 课程目标
数据结构与算法的课程目标
1. 理解数据结构的基本概念和分类,包括数组、链表、栈、队列、树、图等。
2. 熟悉数据结构的存储和操作方式,能够灵活选择和应用适当的数据结构解决问题。
3. 掌握常见的算法设计与分析方法,包括贪心算法、分治算法、动态规划等。
4. 理解算法的时间复杂度和空间复杂度的概念,能够通过分析算法的复杂度评估算法的效率。
5. 熟练掌握常见的排序和搜索算法,如冒泡排序、插入排序、选择排序、快速排序、二分搜索等。
6. 能够应用递归思想解决问题,并理解递归和迭代的区别。
7. 熟悉图的基本概念,掌握图的表示方式和常见的图算法,如深度优先搜索(DFS)、广度优先搜索(BFS)等。
8. 能够应用数据结构与算法解决实际问题,提高编码能力和效率。
9. 培养对数据结构和算法的兴趣和创新能力,不断学习和探索新的数据结构和算法。
数据结构与算法的 课程目标
数据结构与算法的课程目标数据结构与算法是计算机科学领域中非常重要的一门课程。
它主要涵盖了数据的组织、存储和操作,以及解决问题的算法设计和分析。
通过学习数据结构与算法,我们可以更好地理解计算机程序的运行原理,并能够开发出高效、可靠的软件系统。
数据结构是指数据在计算机中的组织方式。
常见的数据结构有数组、链表、栈、队列、树、图等。
不同的数据结构适用于不同的应用场景,可以提高数据的访问效率和操作的便利性。
例如,数组适用于随机访问,链表适用于插入和删除操作频繁的场景,树适用于层次结构的数据组织等。
算法是解决问题的步骤和方法。
一个好的算法可以高效地解决问题,提高程序的执行效率。
常见的算法有排序、查找、图遍历、动态规划等。
例如,快速排序算法可以高效地对数组进行排序,二分查找算法可以快速定位一个元素在有序数组中的位置,Dijkstra算法可以求解最短路径问题等。
数据结构与算法的学习目标主要包括以下几个方面:1. 理解基本的数据结构和算法概念。
学习数据结构与算法的第一步是理解基本的概念和术语。
比如,什么是数组,什么是链表,什么是栈和队列,什么是递归,什么是动态规划等。
理解这些概念可以帮助我们更好地理解和应用各种数据结构和算法。
2. 掌握常见的数据结构和算法。
学习数据结构与算法的核心是掌握常见的数据结构和算法。
比如,学习数组和链表的实现和操作,学习栈和队列的应用,学习树和图的遍历和搜索算法,学习排序和查找算法等。
通过实际的练习和编程实践,我们可以更好地理解和掌握这些数据结构和算法。
3. 分析和评估算法的性能。
学习数据结构与算法的重要目标是能够分析和评估算法的性能。
通过分析算法的时间复杂度和空间复杂度,我们可以判断算法的效率和可行性。
同时,我们还可以学习一些常用的算法优化技巧,如剪枝、动态规划和贪心算法等,以提高算法的性能。
4. 解决实际的问题。
学习数据结构与算法的最终目标是能够应用所学知识解决实际的问题。
通过学习和实践,我们可以了解不同问题的特点和难点,选择合适的数据结构和算法来解决问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法分析B》课程标准
一、课程性质与任务
本课程是计算机科学中一门综合性的基础课程,是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。
数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础,它在计算机科学中具有承上启下的核心地位,是信息管理与信息系统专业学生必修的专业基础课程。
通过本课程的学习,学生能根据实际应用研究的要求,对大量的表面上杂乱无章的数据进行有效地组织、存储和处理,编制出相应的高效算法。
学生必须熟练掌握计算机程序设计中常见的各种数据的逻辑结构、存储结构及相应的运算,掌握算法的时间分析和空间分析的技术,并能根据计算机加工的数据特性运用数据结构的知识和技巧设计出更好的算法和程序,培养良好的程序设计能力。
学习数据结构应先修《计算机文化基础》、《高等数学》、《离散数学》、《JAVA程序设计》、《C#程序设计》《概率论与数理统计》,后续课程主要有《管理信息系统》《数据库原理及应用》《数据挖掘》,《网络程序设计》等。
与先修课程的关系:数据逻辑结构的学习应在《离散数学》课程中完成,这样才会有充足的时间讲解物理存储结构,并分析每一种不同存储结构的优缺点。
在分析插入和删除等操作的效率时,因为不同位置的数据操作概率不同,不结合概率论与数理统计的知识便无法分析。
数据的存储结构是数据在计算机中的存储,没有人机交流语言无法描述存储结构,所以必须先修高级语言《JAVA程序设计》、《C#程序设计》,分析算法的时间复杂度和空间复杂度时需要用到高等数学的知识。
与后续课程的关系:数据结构和算法分析可以为后续课程提供程序设计和系统开发方法论方面的指导与帮助。
二、课程目标
1.知识目标
(1)知道《数据结构与算法分析》这门学科的性质、在计算机科学中的地位和独立价值。
知道这门学科的研究范围、应用领域、研究方法。
(2)掌握与数据结构有关的基本概念、明确数据的逻辑结构和物理结构的差别。
(3)掌握各种主要数据结构线性表、栈、队列、串、树和图的特点、计算机内的表示方法,以及处理数据的算法实现。
(4)会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并了解对算法的时间分析和空间分析技术。
2.能力目标
(1)培养学生数据抽象能力,能为应用涉及的数据选择合适的逻辑结构。
(2)培养学生理解计算机思维方式能力,能为各种逻辑结构设计合适的存储结构。
(3)培养学生进一步提高程序设计质量的能力。
(4)培养学生理论联系实际能力及自学能力。
3.素质目标
(1)具备运用数据结构的理论方法进行高质量程序设计的素质
(2)具有良好的团队合作精神。
三、课程基本信息和内容要求
四、教学建议
1.教学方法
在教学过程中,应立足于加强学生实际编程能力的培养,采用项目教学,以工作任务引领提高学生学习兴趣,激发学生的成就动机。
通过对项目的课外分析与编程和课堂总结,培养学生利用计算机编程解决实际问题的能力,综合分析能力,创新能力。
●增设数据结构与算法分析课程主页,实现网上交互式教学,在每一章的教学内容之后配备相关的编程题目,倡导“问题导向”,引导学生对相关题目进行编程,以掌握程序设计的基本原理:数据结构+算法=程序
●编程开发:编程开发是数据结构与算法分析教学联系实际的特色形式,应引起教师高度重视。
本课程所选编程题目,应是较为典型的、学生有能力完成的。
教师的指导重点要放在指导学生如何进行程序设计以及提高程序的质量上,而不是代替他们进行程序设计,鼓励学生课下自己根据编译器的错误提示信息,找出所编制程序的错误,逐步提高程序调试水平。
作业评讲:制作学生作业错误汇总PPT,收集学生平时作业中的常见问题,以图片展示、关键点解释、计算技巧讲解的方式教会学生如何自己发现错误、如何自行纠正错误的方法与技巧。
●鼓励学生上网查阅中国学术期刊,万方数据库、中宏数据库等电子资源。
向学生推荐数据结构与算法分析理论与应用成果较多的1. 软件学报2. 计算机学报3.计算机研究与发展4. 系统仿真学报5. 计算机辅助设计与图形学学报6.自动化学报7. 控制与决策8. 中国图象图形学报9. 计算机集成制造系统10.
中文信息学报11. 控制理论与应用12. 计算机应用13. 计算机应用研究14 计算机科学15. 信息与控制16. 模式识别与人工智能等国内高水平科技期刊。
让学生主动查阅、了解数据结构与算法分析的发展现状和新理论、新方法、新概念、新应用。
鼓励学生利用目前最流行开发平台来进行程序设计,提高分析设计的水平和开发能力。
2.评价方法
行程性评价与结果评价相结合,成绩构成比例等。
(1)行程性评价:主要包括出勤评价、课后实验作业评价。
出勤评价分旷课、迟到(早退)、请假3种情况。
其中旷课3次及以上,或旷课与请假次数超过上课总次数的三分之一按学校规定取消考试资格;迟到(早退)超过一定次数酌情减扣平时成绩;作业评价主要考察学生的作业情况,本课程布置实验作业总次数应不少于5次,主要包括作业次数、答题质量、书写规范情况等。
(2)结果评价与成绩构成比例:该课程最后成绩按照“卷面成绩*60%+课后实验成绩(30分)+出勤成绩(10分)”的方式给出。
3.教学条件
(1)教学班规模以2个班为一个教学班为宜。
(2)教学资源主要包括高级语言开发软件、授课PPT、介绍数据结构与算法分析的文献资料、练习题资料、与本课程相关的电子教材、案例素材、相关教学内容的教学视频等。
4.主讲教师
(1)需要具有很好的高等数学、概率论、高级语言、管理信息系统的知识基础。
(2)需要具有一定的企业实践背景知识。
(3)需要具有很强的教学责任心,能够因材施教、注重启发,充分运用现代化教学方法。
具有团结、协作、创新精神。
(4)需要具有多年从事数据挖掘、计算机仿真领域问题的科研经历。
5.教材编选
(1)参考教材
严蔚敏吴伟民:《数据结构(C语言版)》,清华大学出版社,1997年4月。
孙爱香:《数据结构C#语言版》山东理工大学出版社,2014年2月。