西北大学

图片
课程概述


我们生活的现实世界中所有物质都可以抽象为数字、文字、声音、图像和视频,这些数据存储在计算机中,构成了信息世界,经过处理后又服务于我们社会生活的方方面面。计算机科学是一种创造性思维活动,其教育必须面向设计。数据是表征客观事物的可记录可识别符号集合。数据是信息处理的核心基础.数据结构和算法是计算机科学的基石,贯穿了分析问题解决问题的计算思维。

数据结构作为学科的专业基础核心课程,对应于学科中问题求解的理论、抽象和设计的方法论,在学科知识体系中具有核心的重要位置。课程一般开设在二年级,应对前面学习的软件技术总结提高,为后续专业课程提供基础,培养基本数据结构分析能力和综合程序设计实现能力,体现着创造性思维的信息素质培养过程,是计算机科学与技术人才素质框架中的脊梁骨。它承上启下,贯通始终,对学生能力培养至关重要,受益终身。

数据结构及其处理算法是设计与实现系统软件和大型应用软件的重要基础,数据结构与算法课程是计算机专业重要的专业技术基础课程。该课程的内容对于培养学生的计算思维、系统分析与设计、算法设计与分析、程序设计与实现等学科基本能力非常重要。本课程系统地介绍了软件开发中常用的数据结构以及相应的 存储结构和操作算法,包括常用的查找技术、排序技术、递归技术等。

掌握数据结构中的基本概念、合理组织数据的基本方法、高效处理数据的 基本算法、常用的经典算法、通用的程序设计技术,以及面对实际问题时选择恰当数据结构并设计高效算法的能力,培养学生用计算思维分析问题的能力,提高学生 上机解决较大规模实际问题的能力,为进一步的软件开发打下坚实的基础。

1.课程体系

课程突出数据组织方法与实现技术构成,慕课约26个学时,由基本概念、基本结构(线性、树、图)和基本技术(查找、排序)三大部分组成。基本概念部分重点讲述数据结构定义、内容、方法、评价以及前续基础与课程要求,明确数据结构什么、学什么、怎么学数据结构。基本结构部分重点讲述线性结构、树、图的逻辑结构、存储结构及其加工处理基本算法。基本技术部分包括查找和排序两类经典技术,贯穿了参数传递、指针处理技术、数组应用、递归与队列等重要的程序设计技术;力求表现经典算法思路,为学习者继续展拓提供线索。M课视频每讲均附有小结,每章均有典型题例,便于总结提高。

2.教学团队

课程负责人和主讲人是国家教学名师耿国华教授,她主讲数据结构课程30余年,主持建设了《数据结构》国家精品课程与国家精品资源共享课程,主编数据结构教材4部,课程教学资源被我校和几十余所高校采用。课程团队成员均为从事数据结构课程教学的一线教师,教学经验丰富,能很好胜任线上辅导工作。

3.课程特点

数据结构的学习过程是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解、习惯、掌握构造思维算法方式。针对《数据结构》技术性与综合性较突出的特点,耿教授倡导实施了“指导—大运动量实践—反馈”教学法。通过作业练习、课堂练习、课程实习、课程设计实践过程,促进了学生逻辑抽象能力的培养。

4.资源特色

建设了支撑教学过程与自主学习两个面向的立体化教学资源,随书配备资源光盘、新形态教材、多媒体动画课件等资源支撑教学过程。

面向教学过程资源:与课程内容特点相适应的Flash多媒体课件。提供选件控制方式,便于教学内容重组。以动画展现算法,便于对抽象算法本质的理解。

面向自主学习扩展的教学资源:涵盖练习测试、同步训练、教学大纲、课堂视频、参考文献、相关题库等教学资源,促进学生线上线下主动学习,入门提高。

让我们一起进入数据结构课程的学习,共同提高计算思维能力。




图1 “数据结构与算法”知识体系图



2“数据结构与算法”与其他课程的关系

证书要求

通过视频学习,完成测试和作业,达到课程要求后,可以获得课程主讲教师签名颁发的合格证书或优秀证书。

单元测试和作业占总成绩50%,考试占总成绩50%。60分-84分为合格,85分及以上为优秀。

预备知识

   学生应该先修“计算概论”(含C语言程序设计)与“程序设计实习”,具备一定的程序设计基础;数据结构的主要逻辑结构是线性表、树、图,因此应该先修离散数学,尤其是图论;在算法效率分析中,需要运用初步概率知识,因此学生应该具备一定的概率论基础。



授课大纲

序号

    

授课学时

上机学时

1

概论基础

1.5

0

2

线性表

4

2

3

栈和队列

3

2

4

字符串

1

1

5

数组和广义表

1

2

6

树结构及其应用

4

2

7

图结构及其应用

3

2

8

查找技术

3

2

9

内部排序

3

2

10

外部排序与文件组织

*1

0


参考资料

1.耿国华等,《数据结构-C语言描述(第2版)》及随附教学光盘,高等教育出版社,2011.6

2.耿国华等,《数据结构-C语言描述(第2版)》,高等教育出版社,2015.7

3.严蔚敏等,《数据结构(C语言版)》,清华大学出版社,2007.3.2011.1

4.Robert L. Kruse,《Data Structures and Program Design in C++》,高等教育出版社(影印版),2001.5.

5.耿国华等,《数据结构-C语言描述(第二版)》,西安电子科技大学出版社,2012.8

辅助学习资源:

国家精品资源课共享网址:http://www.icourses.cn/coursestatic/course_4246.html