SPOC学校专有课程
数据结构
分享
spContent=我们生活在信息时代,作为信息的载体——数据,如何在计算机中被存储、处理?让我们一起走进《数据结构》课堂,探索数据的组织和算法。
—— 课程团队
课程概述


我们生活的现实世界中所有物质都可以抽象为数字、文字、声音、图像和视频,这些数据存储在计算机中,构成了信息世界,经过处理后又服务于我们社会生活的方方面面。计算机科学是一种创造性思维活动,其教育必须面向设计。数据是表征客观事物的可记录可识别符号集合。数据是信息处理的核心基础.数据结构和算法是计算机科学的基石,贯穿了分析问题解决问题的计算思维。 数据结构作为学科的专业基础核心课程,对应于学科中问题求解的理论、抽象和设计的方法论,在学科知识体系中具有核心的重要位置。课程一般开设在二年级,应对前面学习的软件技术总结提高,为后续专业课程提供基础,培养基本数据结构分析能力和综合程序设计实现能力,体现着创造性思维的信息素质培养过程,是计算机科学与技术人才素质框架中的脊梁骨。它承上启下,贯通始终,对学生能力培养至关重要,受益终身。 数据结构及其处理算法是设计与实现系统软件和大型应用软件的重要基础,“数据结构与算法”课程是计算机专业重要的专业技术基础课程。该课程的内容对于培养学生的计算思维、系统分析与设计、算法设计与分析、程序设计与实现等学科基本能力非常重要。本课程系统地介绍了软件开发中常用的数据结构以及相应的 存储结构和操作算法,包括常用的查找技术、排序技术、递归技术等。 掌握“数据结构”中的基本概念、合理组织数据的基本方法、高效处理数据的 基本算法、常用的经典算法、通用的程序设计技术,以及面对实际问题时选择恰当数据结构并设计高效算法的能力,培养学生用计算思维分析问题的能力,提高学生 上机解决较大规模实际问题的能力,为进一步的软件开发打下坚实的基础。 1.课程体系 课程突出数据组织方法与实现技术构成,慕课约26个学时,由基本概念、基本结构(线性、树、图)和基本技术(查找、排序)三大部分组成。基本概念部分重点讲述数据结构定义、内容、方法、评价以及前续基础与课程要求,明确数据结构什么、学什么、怎么学数据结构。基本结构部分重点讲述线性结构、树、图的逻辑结构、存储结构及其加工处理基本算法。基本技术部分包括查找和排序两类经典技术,贯穿了参数传递、指针处理技术、数组应用、递归与队列等重要的程序设计技术;力求表现经典算法思路,为学习者继续展拓提供线索。M课视频每讲均附有小结,每章均有典型题例,便于总结提高。 2.教学团队 MOOC课程负责人和主讲人是国家教学名师耿国华教授,她主讲数据结构课程30余年,主持建设了《数据结构》国家精品课程与国家精品资源共享课程。 数据结构课程也是本校的精品课程,本学期我们引入MOOC国家级精品课程教学内容,结合我校的实际情况,补充或删减开设本校的数据结构课程。 3.课程特点 数据结构的学习过程是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解、习惯、掌握构造思维算法方式。本课程通过作业练习、课堂练习、综合实验实践过程,促进了学生逻辑抽象能力的培养。 4.课程定位 “数据结构与算法”是计算机学科的重要骨干基础课程,是本科教学的重中之重。作为计算机学科一个重要的分支,“数据结构与算法”课程涉及构筑计算机求解问题过程的两大基石:刻画实际问题中信息及其关系的数据结构和描述问题解决方案的逻辑抽象的算法。 5.资源特色 建设了支撑教学过程与自主学习两个面向的立体化教学资源。 面向教学过程资源:与课程内容特点相适应的Flash多媒体课件。提供选件控制方式,便于教学内容重组。以动画展现算法,便于对抽象算法本质的理解。 面向自主学习扩展的教学资源:涵盖练习测试、同步训练、教学大纲、课堂视频、参考文献、相关题库等教学资源,促进学生线上线下主动学习,入门提高。 让我们一起进入数据结构课程的学习,共同提高计算思维能力。



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



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

授课目标

课程拟通过线上线下混合教学方式,通过教学平台及时了解学生的学习情况,并且做到全员覆盖;教学平台提供了一个师生交流的场所,教师提前把各种教学资源上传提供给学生自主学习;学生通过线上线下混合教学方式,不同程度的学生寻找磨合到适合自己的学习方法,收获不同层次的知识,得到不同程度的发展,达到差异化培养;课程的实践环节将通过小组合作的方式,培养学生的合作交流意识和能力。

成绩要求

1、成绩构成:

本门课程的成绩分配:线上50%,线下50%。

线上成绩包括:签到5%,课程互动5%,章节测验15%(MOOC单元测试10%),访问数5%,作业10%(MOOC作业5%),考试10%(MOOC期中/期末考试5%)。括号外的成绩由学习通获得。

线下成绩包括:期末考试40%,实验10%。

成绩权重的分配根据复课的时间安排可能会有所调整。



课程大纲
预备知识

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



参考资料
  1. 严蔚敏等,《数据结构(C语言版)(第2版)》,清华大学出版社,2015.2

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

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


辅助学习资源:

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