我们生活的现实世界中所有物质都可以抽象为数字、文字、声音、图像和视频,这些数据存储在计算机中,构成了信息世界,经过处理后又服务于我们社会生活的方方面面。计算机科学是一种创造性思维活动,其教育必须面向设计。数据是表征客观事物的可记录可识别符号集合。数据是信息处理的核心基础.数据结构和算法是计算机科学的基石,贯穿了分析问题解决问题的计算思维。
数据结构作为大数据专业的理论基础课,对应于学科中问题求解的理论、抽象和设计的方法论,在学科知识体系中具有核心的重要位置。课程应该对前面学习的软件技术总结提高,为后续专业课程提供基础,培养基本数据结构分析能力和综合程序设计实现能力,体现着创造性思维的信息素质培养过程。它承上启下,贯通始终,对学生能力培养至关重要,受益终身。
数据结构及其处理算法是设计与实现系统软件和大型应用软件的重要基础。该课程的内容对于培养学生的计算思维、系统分析与设计、算法设计与分析、程序设计与实现等学科基本能力非常重要。本课程系统地介绍了软件开发中常用的数据结构以及相应的 存储结构和操作算法,包括常用的查找技术、排序技术、递归技术等。
掌握“数据结构”中的基本概念、合理组织数据的基本方法、高效处理数据的 基本算法、常用的经典算法、通用的程序设计技术,以及面对实际问题时选择恰当数据结构并设计高效算法的能力,培养学生用计算思维分析问题的能力,提高学生 上机解决较大规模实际问题的能力,为进一步的软件开发打下坚实的基础。
1.课程体系
课程突出数据组织方法与实现技术构成,由基本概念、基本结构(线性、树、图)和基本技术(查找、排序)三大部分组成。基本概念部分重点讲述数据结构定义、内容、方法、评价以及前续基础与课程要求,明确数据结构什么、学什么、怎么学数据结构。基本结构部分重点讲述线性结构、树、图的逻辑结构、存储结构及其加工处理基本算法。基本技术部分包括查找和排序两类经典技术,贯穿了参数传递、指针处理技术、数组应用、递归与队列等重要的程序设计技术;力求表现经典算法思路,为学习者继续展拓提供线索。
2.课程特点
数据结构的学习过程是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解、习惯、掌握构造思维算法方式。针对《数据结构》技术性与综合性较突出的特点,通过作业练习、课堂练习、课程设计实践过程,促进学生逻辑抽象能力的培养。
3.资源特色
建设了支撑教学过程与自主学习两个面向的立体化教学资源,随书配备资源光盘、新形态教材、多媒体动画课件等资源支撑教学过程。
面向教学过程资源:与课程内容特点相适应的Flash多媒体课件。提供选件控制方式,便于教学内容重组。以动画展现算法,便于对抽象算法本质的理解。
面向自主学习扩展的教学资源:涵盖练习测试、同步训练、教学大纲、课堂视频、参考文献、相关题库等教学资源,促进学生线上线下主动学习,入门提高。
让我们一起进入数据结构课程的学习,共同提高计算思维能力。
图1 “数据结构”知识体系图
图2“数据结构”与其他课程的关系
通过本课程的学习,使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养学生的数据抽象能力和程序设计技能,为学习操作系统、编译原理和数据库等课程奠定基础。
成绩构成:
单元测试:10%
作业:10%
课程参与度:10%
期末考试:70
本课程的预修课程是《离散数学》和《程序设计》,数据结构中存储结构及基本运算的实现需要程序设计的基本知识和编程的经验及能力,本课程的大部分实例均是用C语言实现的,故要求较熟练地掌握C语言。
1. 《数据结构》(C语言版) 严蔚敏 吴伟民 编著 清华大学出版社 最新版
2. 《数据结构-C语言描述(第二版)》耿国华等,高等教育出版社
3. 《数据结构——习题与解析》(C语言篇)李春葆 编著 清华大学出版社
辅助学习资源:
国家精品资源课共享网址:https://www.icourses.cn/sCourse/course_4246.html