Python数据结构与算法-课程标准_第1页
Python数据结构与算法-课程标准_第2页
Python数据结构与算法-课程标准_第3页
Python数据结构与算法-课程标准_第4页
Python数据结构与算法-课程标准_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE1XXXXXXXX课程标准[适用XXXXX专业]课程名称:算法与数据结构所属专业:XXXXXX专业执笔人:XXXX审定人:XXXXXX编制时间:XXXXXXXX

《算法与数据结构》课程标准课程名称:算法与数据结构学分:专业基础课计划学时:适用专业:XXXX专业1.前言1.1课程性质本门课程为XXXX专业的专业基础课。课程研究非数值数据在计算机系统中的组织、存储与处理的方法,是进行软件设计与开发的一门核心必修课程。本课程在专业中的定位:本课程为专业拓展课,先修课程为《程序设计基础》,后续课程为程序能力修炼及各程序设计课程。通过本课程的学习,使学生进一步掌握算法时间复杂度分析方法,掌握线性结构、树、图数据结构的描述,掌握典型的数据结构和典型算法的实现与应用,培养学生用所学的数据结构知识来解决实际问题的能力,以及评价算法优劣的能力,使学生具备阅读和设计较复杂算法的能力,为后续学习有关应用程序设计课程和从事计算机软件开发打好基础。1.2设计思路(1)设计理念与思路XXXXXX的培养目标是培养软件开发与维护方面的高技能高素质应用型人才,XXX地区内的软件开发企业普遍规模较小,软件开发人员的岗位分工不明确,一般要求软件开发人员具备软件开发团队中各类不同角色的综合能力,最好能参与软件开发全过程,具备需求分析、系统分析、代码编写、软件测试等多方面能力。结合专业目标和区域特色的岗位需求,本课程的总体设计理念是,以实际软件项目的设计工作过程为导向,根据区域特色的岗位需求,针对高职学生的认知特点,与行业企业一线工作人员合作系统化地设置本课程教学项目,用实际的项目化解抽象的理论,突出学生在教学红的主导地位,激发学生的学习兴趣,同时注意在教学中融入职业技能导向内容,培养学生的职业能力。数据结构与算法是一门理论性较强、较为抽象的课程,是信息技术类专业课程中公认比较抽象难学的课程。如何对其进行适当的改革,使其更适应高职教学目标和高职学生学习特点,是本课程教学需要积极探索的问题。因为是专业技术基础课,它为后续课程服务,与后续课程所学技术结合完成实际应用项目的开发,它本身并不单独用于完成某个应用项目,而是融入到各类应用项目的开发之中,因此,如果照搬企业实际工作项目会有两方面问题,一方面显得有些生搬硬套,另一方面会出现知识点、技能点覆盖不全的情况。综上所述,第一,对于理论知识的处理是“知识为技术服务,知识以够用为度”尽可能把知识点融入项目,注重实践能力培养;第二,根据课程内容需要,对部分内容采用项目驱动教学;第三,根据高职学生认知特点,采用项目化教学与传统教学结合的教学方式。根据上述原则,重新梳理、组织教学内容,去除了一些抽象难懂非常用的理论知识,增加实践课时,充实实践内容。(2)项目编排的思路教学项目紧紧围绕课程核心内容,突出线性、树及图数据结构的定义与各操作实现,并加以算法分析,以及结合Python语言基础开展教学,不仅要求数据结构理论知识,也要求会用现成的数据结构解决实际问题。2.课程目标2.1总体目标本课程的总体目标是培养学生算法设计方法与技巧,培养学生用所学的数据结构知识来解决实际问题的能力。2.2具体目标本课程通过理论和实践教学,使学生掌握前端编程的常用方法,培养学生利用所学知识来解决实际问题的能力。2.2.1知识目标握数据结构基本概念。掌握算法时间复杂度分析方法。掌握顺序表、链表的定义,掌握它们的操作实现,例如创建表、插入、删除结点等算法。掌握栈、队列的定义,掌握其操作的实现。掌握树及二叉树的知识,掌握二叉树的特点,会实现二叉树的遍历、会二叉树典型操作实现。掌握图的定义与实现,掌握图的遍历、掌握图的基本操作实现。掌握深入理解线性搜索、有序表搜索(包括二分查找、插值查找和斐波那契查找)、二叉排序树搜索以及哈希表搜索的基本原理和操作方式掌握各种排序算法(冒泡、选择、插入、快速、归并、桶、计数、基数)的基本原理和实现步骤2.2.2能力目标能自己创建类实现顺序表、链表、栈、队列、树、图这些典型的数据结构。能自己实现各种典型排序算法。能使用典型数据结构和算法解决软件开发中遇到的实际问题。2.2.3素质目标具备自主探究的学习能力。具备良好的沟通能力和团队协作能力。具备面对实际问题,能够使用所学技能解决问题。具备获取信息、分析问题、解决问题的探究能力。课程内容与要求(1)课程内容选取依据课程内容的选取有三个依据,一是根据工学结合的原则,采用来自于企业的项目(对其进行简化修改后用于教学);二是根据《数据结构》课程与其前导课程Python有机整合的思想来整合教学内容;三是根据由浅入深的学习规律和“产生问题—学习提高-解决问题—拓展问题”的认知规律来组织教学项目和项目教学过程。在保持知识的连贯性的同时,把知识点打散,融入到各个模拟真实案例的项目中去,通过项目驱动的教学,培养学生“面对问题—解决问题—举一反三”的良好思维习惯。课程学时安排也由传统的注重理论转换成理论与实践并重,重点培养实际动手能力,案例尽量贴近生产和生活实际,实现工学结合。(2)课程内容组织序号教学任务课程内容及教学要求教学设计参考学时1数据结构与算法绪论理解算法的基本概念和特性1.讲授与互动相结合,通过实例引导学生理解抽象概念。2.鼓励学生通过讨论和小组合作完成习题和实训任务。3.使用可视化工具帮助学生更好地理解数据结构的构造和操作。2掌握数据结构的定义、组成和设计原则了解数据结构与算法之间的相互关系及其对性能的影响。2算法复杂度分析理解算法复杂度的基本概念,包括时间复杂度和空间复杂度。1.结合理论讲解和实际案例,帮助学生理解复杂度分析的重要性。2.通过实例演示和课堂练习,加深学生对复杂度分析方法的掌握。3.鼓励学生通过实训任务和课外拓展活动,提高分析和解决问题的能力。4掌握大O表示法及其在算法分析中的应用。理解算法最好、最坏和平均情况的时间复杂度。3线性数据结构理解线性数据结构的基本概念和分类1.结合理论讲解和代码实现,帮助学生理解线性数据结构的工作原理。2.通过实例演示和课堂练习,加深学生对数据结构操作的掌握。3.鼓励学生通过实训任务和课外拓展活动,提高分析和解决问题的能力。8掌握数组、链表、栈和队列的逻辑结构、特点及操作方式。了解不同线性数据结构的优缺点及其适用场景。4树理解树的基本概念,包括节点、边、根节点、叶子节点、内部节点等1结合理论讲解和实际案例,帮助学生理解树的逻辑结构和应用场景。2.通过实例演示和课堂练习,加深学生对树的操作和遍历算法的掌握。3.鼓励学生通过实训任务和课外拓展活动,提高分析和解决问题的能力。6了解二叉树的定义和性质,包括斜树、满二叉树、完全二叉树等特殊类型的二叉树掌握二叉树的实现方法,包括节点定义和基本操作(如插入、删除)。理解二叉树的遍历,包括广度优先和深度优先遍历5图理解图的基本概念,包括顶点、边、路径、环等。1.结合理论讲解和实际案例,帮助学生理解图的逻辑结构和应用场景。2.通过实例演示和课堂练习,加深学生对图的操作和遍历算法的掌握。3.鼓励学生通过实训任务和课外拓展活动,提高分析和解决问题的能力。6理解图的分类,如无向图、有向图、有权图、无权图等。掌握图的存储结构,包括邻接矩阵和邻接表。理解图的遍历6搜索算法理解搜索算法的基本概念和分类。1.结合理论讲解和实际案例,帮助学生理解搜索算法的工作原理和应用场景。2.通过实例演示和课堂练习,加深学生对搜索算法的掌握。3.鼓励学生通过实训任务和课外拓展活动,提高分析和解决问题的能力。8掌握线性搜索、有序表搜索(二分查找、插值查找、斐波那契查找)、二叉排序树搜索以及哈希表搜索的原理和操作方式。了解搜索算法在不同应用场景下的适用性和性能特点。7排序算法理解排序算法的基本概念和重要性。1.结合理论讲解和实际案例,帮助学生理解排序算法的工作原理和应用场景。2.通过实例演示和课堂练习,加深学生对排序算法的掌握。3.鼓励学生通过实训任务和课外拓展活动,提高分析和解决问题的能力。8掌握各种常见排序算法的原理和实现方法,包括插入排序、选择排序、冒泡排序、快速排序、归并排序、桶排序、计数排序和基数排序。了解排序算法的时间复杂度、空间复杂度和稳定性。注:“课程内容及教学要求”中,要分别体现技能内容及要求、知识内容及要求。打*号的内容可根据学期总课时数和学生学习情况酌情增减。4.实施建议4.1教材选用和编写建议(1)教材选用《数据结构与算法》课程本身具有语言无关性,可以采用多种计算机语言描述,因此就有多种语言版本的教材,采用哪种教材需要根据先修课程与后续课程所使用的主开发语言来决定,建议采用自编或市面上出版的用Python语言描述的《数据结构》教材;另外数据结构的内容多少、深浅随专业能力需求而定,本科的教材要求较高,宜采用高职高专教材。本课程采用高等教育出版社的《数据结构》主编陈越、何钦铭。编写建议依据本课程标准编写教材,教材应充分体现项目引领、实践导向课程的设计思想。根据先修课程与后续课程所使用的主开发语言来决定采用完全面向对象的Python来全新编写新教程,遵循以就业为导向、以技能为核心、以案例为主线来组织内容。教材应将本专业职业活动,分解成若干典型的工作项目,按完成工作项目的需要和岗位操作规程,结合职业技能证书考证组织教材内容。要通过典型案例的分析,引入必须的理论知识,增加实践实操内容,强调理论在实践过程中的应用。教材应图文并茂,提高学生的学习兴趣,加深学生对“理解、实用、创建”的职业能力的认识。教材表达必须精炼、准确、科学。教材内容应体现先进性、通用性、实用性,要将本专业新技术及时地纳入教材,使教材更贴近软件行业的发展和实际需要。教材中的活动设计的内容要具体实用,具有可操作性。4.2教学建议主讲老师尽力做到忠于教材但不拘泥于教材,每一轮课程教学的具体案例和实训项目可根据社会、岗位需求的具体情况作适当的调整。建议采用项目化教学与传统教学方式相结合的总体教学方式。引用企业标准,将企业人才标准融入到教学内容之中,构建以应用为特征,以企业真实项目为载体的专业课程教学模式。积极探索和总结适合于本课程高职学生的教学方法,主要从贴近应用的实例入手,尽量提供相关的各方面典型案例,结合典型算法动画演示等生动学习资料,实现以具体实例来化解抽象概念的教学方法。采用由浅入深、分散重点、难点的原则设置教学案例,采用“边学边用”的教学模式,激发学生学习兴趣,变被动填鸭式学习为主动的讨论式学习,充分调动学生学习的主观能动性,对重点难点分散解决、各个击破。4.3教学考核评价建议①采用多元化立体考核:知识技能考核(60%)+综合素质考核(40%)②知识技能考核:考核知识掌握情况及算法的读写能力,采用考试方式。③综合素质考核:考勤、课堂表现、回答问题、作业情况等。4.4课程资源的开发与利用(1)课程资源建设近年来,以MOOC、网易云课堂为代表的免费教学视频深受学生的喜爱,大量的学生通过MOOC和网易云课堂平台很好的完成了课程的学习。当然这些平台上也有《数据结构》课程,也深受学生喜爱,比如浙江大学陈越老师的《数据结构》的同步课程,网址为/course/zju-93001,并提供大量练习内容,网址为/p/index#test。建议学生使用非常成熟的学习平台进行辅助学习。(2)教学团队建设建议建议建立一支由有一定软件开发背景和教学经验的、有一定年龄梯度的2~3名教师和来自企业的1~2名软件工程师组成教学团队,教授此课程,尽可能聘请企业软件工程师参与本课程的项目设计与考核。4.5教学条件配备建议本课程的实施必须依赖于一定的教学条件配备,如计算机机房,OFFICEWord2016软件、Pycharm、Sublime、虚拟机等必备的软件平台。(1)实践教学环境。利用现有学校教学设备,引导学生学习专业知识,构建系统性的教学内容体系。学校拥有实验教学计算机房,可进行开放性实验。教学实验教室拥有计算机、音响等多媒体设备,可供进行二次开发实验之用。这些实验教学的软、硬件资源丰富,能满足二次开发实验的要求。(2)网络教学环境。利用网络资源,充分调动学生的学习自主性。学校的校园局域网及宽带网均与校内各教学楼、办公室、学生宿舍及教职工住宅区相通,并与国内外Internet网相联,网络教学软件资源齐备,硬件运行环境良好。学生充分利用网络资源,可以了解最新的技术策略和实施方法,培养自主学习的能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论