《算法与数据结构》
教 案
2023-2024 学年第 二 学期
课程名称: 算法与数据结构
课程性质: 公共基础课,必修课
授课学时: 24学时
授课对象: 机械(中外合作)23-[1-3]
任课教师: 肖红光
长沙理工大学计通学院
2024.2
全课程教案
一、基本信息
课程名称 | 算法与数据结构 | 课程编号 | 809000062 | 课程性质 | 公共基础课,必修课 | 学分 | 1.5 | ||
教学安排 | 总学时24。其中讲授 24 学时,实验 0 学时,上机 0学时,实训 0 学时 | ||||||||
授课时间:第 3 周至第 14周 | 周学时 | 2 | |||||||
相关课程与环节 | C语言程序设计 | ||||||||
|
|
|
|
|
|
|
|
|
|
二、授课对象
基本情况 | 专业 | 机械(中外合作) | 年级 | 2023 | 班级 | 机械(中外合作)23-[1-3] | 修读人数 | 114 |
授课对象分析 | C语言程序设计,理工科本科新生均可选修 | |||||||
三、教学内容与安排
课程简介与要求 | 《算法与数据结构》是理工类非计算机专业的一门专业必修课,由于理工科专业对计算机编程技术要求较高,为使学生能真正运用程序设计语言解决实际问题,提高动手能力,使学生不仅能编写符合程序设计规范程序,而且能编写运行效率高的程序。根据专业培养计划的安排需求,特开设本课程。本课程主要讨论数据的逻辑结构,在计算机中的存储结构以及对其进行的各种处理运算的方法和算法。 | |||||||
课程目标
| 课程目标 | 支撑毕业要求指标点 | 与课程关联度 | |||||
1.理解数据结构的一些基本概念、理解各种数据结构的逻辑结构、存储结构的联系与区别。 | 1.能依据工程实际问题的需求能合理地组织数据,并在计算机中有效地存储数据的能力,能对实际工程问题进行识别和有效分解的能力,为解决工程实际问题进行算法设计与分析的能力; 2. 具备将计算机基础知识用于工程领域对实际工程问题进行求解的能力,能对分解后的工程问题进行表达与建模的能力,针对具体的实际问题,提练出相应的解题算法,并编程实现。 | 高 | ||||||
2掌握各种数据结构的存储表示方法。 | ||||||||
3.理解算法的描述方法,理解并掌握算法的时间复杂度和空间复杂度的概念以及分析方法。 | ||||||||
4. 掌握在各种数据结构基础上的算法设计与描述,理解对算法性能进行分析的方法。 | ||||||||
5.了解计算模型在计算机问题求解中的意义与基本运用。 | ||||||||
6.掌握组织数据、存储数据和处理数据的基本方法 | ||||||||
7.理解查找、排序的基本概念,掌握常用查找、排序方法及其算法描,具备将算法通过具体的编程语言加以实现的能力。 | ||||||||
课程思政 | 思政元素的融入(德育点) 1、了解计算机软件从业人员应当具备的职业道德守则,为进军软件行业做准备 2、新时代与个人成才关系 3、通过软件行业发展前景,引发学生对未来的职业愿景,激发学生对社会主义核心价值观的认同感 4、工匠精神,敬业求精: 工匠精神是一种职业神,它是职业道德、职业能力、职业品质的体现。是从业者的一种价值取向和行为表现。引导学生在学习时将知识夯实、精技强能,方能在今后工作中本领过硬,不出纰漏。
| |||||||
教学方法 | 1.本课程以计算机投影教学为主,以培养学生的计算思维能力。在讲授过程中,考虑到该课程注重动手、注重应用的特点,遵循深入浅出的原则,结合教材及教学大纲制作合适课堂教学的CAI课件和微课,以灵活生动的方式讲述C语言程序设计的全部内容。对概念、原理的解释和描述尽可能地以日常生活所接触到的实际例子和图示加以对比说明,引导学生建立概念之间、原理之间以及应用之间的联系。 2.网络辅助教学:由于是面向全校的公共课,学生人数较多,为加强教学效果,在课堂讲授的同时,我们还通过: (2) 网上教学互动平台 http://pt.csust.edu.cn (3) 头歌实践教学平台https://www.educoder.net/classrooms/RZCW3BVK/shixun_homework?tabs=3 进行辅助教学。 3.教考分离,机考机改。自主开发了上机考试系统,可实现自动成卷、机器阅卷。布置创新实践大作业,用来检测学生的应用能力。 | |||||||
教学重点 与难点 | 1、课程重点: 数据、数据元素、数据项;逻辑结构和存储结构在概念上的联系与区别;. 顺序表和链式表的基本操作; 栈和队列的顺序存储表示、链式存储表示及基本操作的实现;掌握数组的定义和数组的存储结构、特殊矩阵和稀疏矩阵的压缩存储、广义表的定义; 二叉树的概念、遍历及基本操作,二叉树的线索化方法,树的存储结构表示,哈夫曼树及其应用;图的存储结构、深度和广度优先搜索方法及其实现; 顺序表的查找、二叉排序树的查找和插入以及查找性能的分析、散列表的构造方法以及查找性能的分析; 各种排序方法及时空效率分析。 2、课程难点: 算法与程序的区别;逻辑结构、存储结构的联系与区别;算法的时间复杂度分析方法; 链式表(单链表、双向链表)的基本操作以及一元多项式的相加运算; 顺序栈的溢出判断条件;循环队列的队空、队满判断条件;递归;稀疏矩阵的压缩存储表示下的运算的实现; 二叉树上的复杂运算;线索二叉树的算法实现;哈夫曼树及其应用;排序及其算法实现。 | |||||||
课程各教学环节内容与安排 | 知识单元 | 知识点 | 课内学时+上机 | 教学方式 | 作业/测验 | 课外学习 | ||
绪论 | 数据、数据元素、数据的逻辑结构、物理结构、算法等; 抽象数据类型的表示和实现,算法时间复杂度和空间复杂度的分析。 | 2 | 课堂教学 | 课后习题+网络教学平台 | 4 | |||
数据结构实现基础 | C的基本语法及程序结构 C程序的简单设计和应用 C程序设计和数据结构之间的简单联系。 | 4 | 课堂教学 | 课后习题+网络教学平台 | 8 | |||
线性表 | 线性表的概念、理解线性表的结构特征; 线性表的顺序存储结构以及基本操作; 线性表的链式存储结构以及基本操作; 顺序的和链式的存储结构各自特色; 单循环链表和双向链表的概念和基本设计方法 掌握栈和队列的表示和实现 栈和队列的操作特点 循环队列以及其相关操作 | 8 | 课堂教学 | 课后习题+网络教学平台 | 16 | |||
| 串与特殊矩阵 | 串的概念、存储结构及相关操作; 数组、特殊矩阵的存储结构及应用 | 2 | 课堂教学 | 课后习题+网络教学平台 | 4 | ||
| 树与二叉树 | 二叉树的结构特性及基本性质; 二叉树的遍历方法及其算法实现; 二叉树的线索化; 哈夫曼树和其编码方式; 树和森林的概念和转换方式。 | 4 | 课堂教学 | 课后习题+网络教学平台 | 4 | ||
| 图 | 图的定义及术语。 图的存储结构(邻接矩阵和邻接表)。 图的遍历方法及其应用,理解图的连通性判断方法。 最小生成树构造方法,领会其应用。 最短路径构造方法,领会其应用。 有向无环图及其应用。 | 4 | 课堂教学 | 课后习题+网络教学平台 | 4 | ||
| 查找 | 查找的概念及基本术语。 线性表查找算法,并理解各算法的效率度量。 树表查找算法,并理解各算法的效率度量。 哈希表查找算法,并领会各算法的效率度量 | 4 | 课堂教学 | 课后习题+网络教学平台 | 4 | ||
| 排序 | 排序及其相关概念; 各种内部排序算法的思想和应用; 内部排序算法的比较。 | 2 | 课堂教学 | 课后习题+网络教学平台 | 4 | ||
注:课程目标、教学方法、重难点、教学环节(知识单元、知识点等)等内容应与教学大纲、教学日历一致。课外学习可包括学时和内容要求。
四、考核方式
考核项目 | 考核内容 | 考核方式 | 分值或占比 |
期末考试 | 课程教学内容 | 闭卷机试 | 80 |
小测验 | 各知识模块 | 随堂考试 | 10 |
作业课堂表现 | 课后习题、出勤率和课堂参与度 | 提交作业,考勤、课堂讨论等 | 10 |
|
|
|
|
注:考核方式应符合课程教学大纲的要求。
五、教学资源
推荐教材 | 《实用数据结构与算法》,胡慧,北京邮电大学出版社,2023年版 |
参考材料 | [1]《数据结构题集》(C语言版),严蔚敏等,清华大学出版社.2007年7月版 [2]《数据结构教程》,李春葆,清华大学出版社,2022年7月版 [3]《数据结构—从概念到C实现》,王红梅,清华大学出版社,2023年2月版 |
课程资源 | 1、 长沙理工大学网络教学综合平台http://pt.csust.edu.cn 3、 头歌实践教学平台https://www.educoder.net/classrooms/RZCW3BVK/shixun_homework?tabs=3 |
教材分析与处理 | 本课程选用《算法与数据结构》教材,其中本学期讲授第1-9章内容。 |
分课时教案
知识单元名称 | 数据结构概述 | 课次 | 第1讲 |
授课类型 | 理论课√讨论课□实验课□习题课□其他□ | 学时 | 2 |
课程目标与要求 | 掌握数据结构的相关概念。 领会抽象数据类型的含义以及定义方式。 理解算法的概念、表示、特性和目标。 掌握算法的时间效率和存储空间的度量。 | ||
本单元重点 与难点内容 | 重点:数据结构的相关概念;抽象数据类型的定义;算法的概念、表示、特性和目标 难点: 算法的时间效率和存储空间的度量方法 | ||
教学内容 | 1. 数据结构的基本概念 2. 抽象数据类型 3. 算法的概念、表示、特性和目标 4. 算法和算法性能分析 5. 小结
| ||
课程思政 | 1.了解计算机软件从业人员应当具备的职业道德守则。 2.理解并敬重工匠精神,在学习中努力发扬工匠精神。 3.通过软件行业发展前景,引发学生对未来的职业愿景,激发学生对社会主义核心价值观的认同感。 | ||
教学过程设计: 教学方法及手段、课堂互动题设置、教学改革措施等 | 一、教学过程 思政元素的融入(德育点) 1、新时代与个人成才的关系。 2、通过软件行业发展前景,引发学生对未来的职业愿景,激发学生对社会主义核心价值观的认同感。 课程思政教学素材 1、世界十大黑客的经历一>引出:计算机软件从业人员应具备的职业通德规范 2、算法和算法性能分析一>引出:工匠精神 3、美国的芯片垄断一>引出:民我认同感。 4、工匠精神,敬业求精: 工匠精神是一种职业神,它是职业道德、职业能力、职业品质的体现。是从业者的一种价值取向和行为表现。引导学生在学习时将知识夯实、精技强能,方能在今后工作中本领过硬,不出纰漏。 二、教学方法及手段: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。本课程授课对象为本科一年级的学生,学习本课程时需要给予更多的关注。通过增加课堂信息量来对概念、定义和原理进行解释,通过随堂程序演示增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。 课前要求学生预习学习通上相关章节的内容,预习中认真思考,以便带着问题主动地听课。课中安排提问,课后练习。每一章节后都有自我测试,列出相关问题,由学生进行思考,课上答疑。这样可以将学生所学的知识融会贯通,提高课堂教学效率,增加学生间互动,提升学生课堂教学的参与程度。课后认真完成作业和复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。 2. 结合实例程序直观介绍算法与数据结构应用及其运行环境的使用。 3.讲解算法的概念及其表达的方式。 4.树立不怕困难的品质。 互动题目: 1.人与人平时怎么相互沟通?人与计算机怎么沟通?通过学生的回答进行总结及给出概念。 2.让学生说出生活中的做某一事情的流程,导入算法的概念。 教学改革的措施: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。要求学生先预习,找问题。 2.上新课之前,请学生提出预习过程中遇到的问题并有的放矢地讲解知识。 3.在学习通建课,扩展学生的知识面,录制教学视频提供给学生课前、课后学习,并将学生的学习情况记入到平时成绩,加强了对学生平时学习的监督。针对学习程序设计有困难的同学,推荐参考书以及相关视频资料,来帮助学生掌握知识点。 4.采用启发、设问、讨论等教学方式,突出对重点内容的讲述和难点的析,进行并进行相应的课堂操作,让同学们直观的了解并掌握。 5.从单纯的讲课,过渡到通过示例和互动来达到提高教学效果的目的。 | ||
作业与 思考题设置 | 1.课后可以要求学生完成教材及配套习题册上相关知识点的练习题。 2.要求学生课后复习本节课的教学内容并预习下节课的内容 3.根据课堂教学效果针对某些难点提出相应的要求。 4.在头歌实训平台布置实训作业,要求学生在规定的时间内完成,完成情况记入平时成绩。 | ||
学习效果、学生反馈、反思改进措施等 | 1.通过课堂测试、提问了解教学效果。 2.通过网络教学平台的测试结果了解教学效果。 3.本课程在学习通上建有课程和教学讨论空间,在上面按章节发布教学视频、学习任务、习题解答和资料等。学生可根据的教师要求完成线上学习任务、利用网上资源和其他资源进行自主学习补充扩展知识,教师可依学生完成的数量和质量作为评定学生平时成绩的一个依据。 4. 教师在教学讨论空间收集、解答学生反馈的信息。通过掌握的各类信息及时对教学手段和方法做出调整,尽可能提高教学质量和教学效果。 | ||
备注 |
| ||
分课时教案
知识单元名称 | 数据结构实现基础 | 课次 | 第2讲 |
授课类型 | 理论课√讨论课□实验课□习题课□其他□ | 学时 | 2 |
课程目标与要求 | 1、要求学生熟悉C的基本语法及程序结构。 2、掌握C程序的简单设计和应用。 3、建立C程序设计和数据结构之间的简单联系。 | ||
本单元重点 与难点内容 | 重点:函数、数组、指针、结构体、数据类型重命名、存动态管理函数 难点:指针、存动态管理函数 | ||
教学内容 |
| ||
课程思政 | 1、树立正确的技能观,努力提高自己的职业技能,为社会和人民造福,绝不能利用自己的技能去做违法犯罪之事。 2、培养学生的软件工匠精神,在潜移默化中培育社会主义核心价值观,提高综合职业素养,树立社会主义职业精神。 3、学习机房上课守则,要求同学们遵守学校的各项规章制度,强化制度约束,学会责任担当。 4、 理解事物的联系是普遍存在的,引导学生用类比的方法进行知识的迁移。 | ||
教学过程设计: 教学方法及手段、课堂互动题设置、教学改革措施等 | 一、教学过程 思政元素的融入(德育点) 1、树立正确的技能观,努力提高自己的职业技能,为社会和人民造福,维不能利用自己的技能去做违法犯罪之事。 2、培养学生的软件工匠精神,在潜移默化中培育社会主义核心价值观,提高综合职业素养,树立社会主义职业精神。 课程思政教学素材 I、通过对学院往届学生因不遵守校规,严重违反学校制度而被开除的案例一>引出:制度约束,成年人要学会为自己的行为负责。 2、通过与前续课程的对比学习一>引出:知识迁移的学习方法。 3、职业素养,行为合规。 职业素养是人类在社会活动中需要遵守的行为规范。职业道德、职业思想、职业行为习惯是职业素养中最根基的部分。引导学生在学习时注意程序的书写格式、变量与方法的命名方式、合理添加注释、合理规划程序工程文件,这些都是合格的软件开发从业人员的基本素质。引导学生注重职业道德,尊重他人的知识产权。平时未经同学允许,不随意拷见他人的程序成果;工作后,不偷窥和复制同事的开发成果,不能获取公司的研发成果。使学生明确:职业素养是一个职业人的立身之本。在学生时代,就应该不断提升个人修养和思想道德水平,着力打造良好的职业素养。 二、教学方法及手段: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。本课程授课对象为本科一年级的学生,学习本课程时需要给予更多的关注。通过增加课堂信息量来对概念、定义和原理进行解释,通过随堂程序演示增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。 课前要求学生预习学习通上相关章节的内容,预习中认真思考,以便带着问题主动地听课。课中安排提问,课后练习。每一章节后都有自我测试,列出相关问题,由学生进行思考,课上答疑。这样可以将学生所学的知识融会贯通,提高课堂教学效率,增加学生间互动,提升学生课堂教学的参与程度。课后认真完成作业和复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。 2. 在系统讲授本次课的数据类型和基本语法规则的基础上,通过实例程序讲解标识符及其命名规则、变量和赋值语句、表达式和运算符等知识,引导学生分析问题,设计算法。 3. 帮助学生站在内存的角度来正确理解和把握C语言的数据类型 互动题目: 1.函数的定义方法和调用。 2. 举例说明字符数据和数值数据的不同。 3. 常量和变量的不同。 教学改革的措施: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。要求学生先预习,找问题。 2.上新课之前,请学生提出预习过程中遇到的问题并有的放矢地讲解知识。 3.在学习通建课,扩展学生的知识面,录制教学视频提供给学生课前、课后学习,并将学生的学习情况记入到平时成绩,加强了对学生平时学习的监督。针对学习程序设计有困难的同学,推荐参考书以及相关视频资料,来帮助学生掌握知识点。 4.从 4.采用启发、设问、讨论等教学方式,突出对重点内容的讲述和难点的析,进行并进行相应的课堂操作,让同学们直观的了解并掌握。 5.从单纯的讲课,过渡到通过示例和互动来达到提高教学效果的目的。 | ||
作业与 思考题设置 | 1.课后可以要求学生完成教材及配套习题册上相关知识点的练习题。 2.要求学生课后复习本节课的教学内容并预习下节课的内容 3.根据课堂教学效果针对某些难点提出相应的要求。 4.在头歌实训平台布置实训作业,要求学生在规定的时间内完成,完成情况记入平时成绩。 | ||
学习效果、学生反馈、反思改进措施等 | 1.通过课堂测试、提问了解教学效果。 2.通过网络教学平台的测试结果了解教学效果。 3.本课程在学习通上建有课程和教学讨论空间,在上面按章节发布教学视频、学习任务、习题解答和资料等。学生可根据的教师要求完成线上学习任务、利用网上资源和其他资源进行自主学习补充扩展知识,教师可依学生完成的数量和质量作为评定学生平时成绩的一个依据。 4. 教师在教学讨论空间收集、解答学生反馈的信息。通过掌握的各类信息及时对教学手段和方法做出调整,尽可能提高教学质量和教学效果。 | ||
备注 |
| ||
分课时教案
知识单元名称 | 线性表1 | 课次 | 第3讲 | |
授课类型 | 理论课√讨论课□实验课□习题课□其他□ | 学时 | 2 | |
课程目标与要求 | 思政目标和要求 | 1、树立正确的技能观,努力提高自己的职业技能,为社会和人民造福,绝不能利用自己的技能去做违法犯罪之事 2、培养学生的软件工匠精神,在潜移默化中培育社会主义核心价值观,提高综合职业素养,树立社会主义职业精神 3、学习机房上课守则,要求同学们遵守学校的各项规章制度,强化制度约束,学会责任担当 4、理解事物的联系是普遍存在的,引导学生用类比的方法进行知识的迁移。 | ||
认知目标和要求 | 1、掌握线性表的概念、理解线性表的结构特征; 2、掌握线性表的顺序存储结构以及基本操作; 3、掌握线性表的链式存储结构以及基本操作; 4、掌握顺序的和链式的存储结构各自特色; 5、单循环链表和双向链表的概念和基本设计方法。 | |||
本单元重点 与难点内容 |
| |||
教学内容 | 线性表的概念 线性表的顺序存储 线性表的链式存储 | |||
课程思政 | 1、树立正确的技能观,努力提高自己的职业技能,为社会和人民造福,绝不能利用自己的技能去做违法犯罪之事 2、培养学生的软件工匠精神,在潜移默化中培育社会主义核心价值观,提高综合职业素养,树立社会主义职业精神 3、学习机房上课守则,要求同学们遵守学校的各项规章制度,强化制度约束,学会责任担当 4、理解事物的联系是普遍存在的,引导学生用类比的方法进行知识的迁移。 | |||
教学过程设计: 教学方法及手段、课堂互动题设置、教学改革措施等 | 一、教学过程 思政元素的融入(德育点) 1、树立正确的技能观,努力提高自己的职业技能,为社会和人民造福,维不能利用自己的技能去做违法犯罪之事。 2、培养学生的软件工匠精神,在潜移默化中培育社会主义核心价值观,提高综合职业素养,树立社会主义职业精神。 课程思政教学素材 I、通过对学院往届学生因不遵守校规,严重违反学校制度而被开除的案例一>引出:制度约束,成年人要学会为自己的行为负责。 2、通过与前续课程的对比学习一>引出:知识迁移的学习方法。 3、职业素养,行为合规。 职业素养是人类在社会活动中需要遵守的行为规范。职业道德、职业思想、职业行为习惯是职业素养中最根基的部分。引导学生在学习时注意程序的书写格式、变量与方法的命名方式、合理添加注释、合理规划程序工程文件,这些都是合格的软件开发从业人员的基本素质。引导学生注重职业道德,尊重他人的知识产权。平时未经同学允许,不随意拷见他人的程序成果;工作后,不偷窥和复制同事的开发成果,不能获取公司的研发成果。使学生明确:职业素养是一个职业人的立身之本。在学生时代,就应该不断提升个人修养和思想道德水平,着力打造良好的职业素养。 二、教学方法及手段: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。本课程授课对象为本科一年级的学生,学习本课程时需要给予更多的关注。通过增加课堂信息量来对概念、定义和原理进行解释,通过随堂程序演示增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。 课前要求学生预习学习通上相关章节的内容,预习中认真思考,以便带着问题主动地听课。课中安排提问,课后练习。每一章节后都有自我测试,列出相关问题,由学生进行思考,课上答疑。这样可以将学生所学的知识融会贯通,提高课堂教学效率,增加学生间互动,提升学生课堂教学的参与程度。课后认真完成作业和复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。 2. 结合实例程序讲授线性表的顺序结构和链式结构的操作及优缺点,注意引导学生分析问题,设计算法,激发学生的编程兴趣,调动学生的积极性,启发他们独立思考,主动解决问题,形成对程序设计的完整知识结构。 例如给学生讲线性表的存储结构,结合计算机的存储器的特点,让学生体会顺序存储和链式存储的区别; 互动题目: 1.给出带格式的输出语句,让学生分析输出的数据格式。 2. 举例说明字符数据和数值数据进行格式输入输出的方法及特点;从键盘输入小写字母,然后输出其大写字母。 3.用头歌实训平台上的实训项目与学生互动,解决学生编程中的难点。 教学改革的措施: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。要求学生先预习,找问题。 2.上新课之前,请学生提出预习过程中遇到的问题并有的放矢地讲解知识。 3.在学习通建课,扩展学生的知识面,录制教学视频提供给学生课前、课后学习,并将学生的学习情况记入到平时成绩,加强了对学生平时学习的监督。针对学习程序设计有困难的同学,推荐参考书以及相关视频资料,来帮助学生掌握知识点。 4.采用启发、设问、讨论等教学方式,突出对重点内容的讲述和难点的析,进行并进行相应的课堂操作,让同学们直观的了解并掌握。 5.从单纯的讲课,过渡到通过示例和互动来达到提高教学效果的目的。 | |||
作业与 思考题设置 | 1.课后可以要求学生完成教材及配套习题册上相关知识点的练习题。 2.要求学生课后复习本节课的教学内容并预习下节课的内容 3.根据课堂教学效果针对某些难点提出相应的要求。 4.在头歌实训平台布置实训作业,要求学生在规定的时间内完成,完成情况记入平时成绩。 | |||
学习效果、学生反馈、反思改进措施等 | 1.通过课堂测试、提问了解教学效果。 2.通过网络教学平台的测试结果了解教学效果。 3.本课程在学习通上建有课程和教学讨论空间,在上面按章节发布教学视频、学习任务、习题解答和资料等。学生可根据的教师要求完成线上学习任务、利用网上资源和其他资源进行自主学习补充扩展知识,教师可依学生完成的数量和质量作为评定学生平时成绩的一个依据。 4. 教师在教学讨论空间收集、解答学生反馈的信息。通过掌握的各类信息及时对教学手段和方法做出调整,尽可能提高教学质量和教学效果。 | |||
备注 |
| |||
分课时教案
知识单元名称 | 线性表2 | 课次 | 第4讲 | |
授课类型 | 理论课√讨论课□实验课□习题课□其他□ | 学时 | 2 | |
课程目标与要求 | 思政目标和要求 | 1、落实立德树人根本任务, 深入挖掘《算法与数据结构》课程思想政治教育元素。 2、培养学生的工匠精神、科学精神、创新精神和实践能力,提高学生适应信息社会的能力。 | ||
认知目标和要求 | 1、准确掌握栈和队列的表示和实现 2、掌握栈和队列的操作特点。 3、掌握循环队列以及其相关操作。 | |||
本单元重点 与难点内容 | 重点:栈和队列的表示、实现及操作特点 难点:循环队列以及其相关操作 | |||
教学内容 |
| |||
课程思政 | 1、落实立德树人根本任务, 深入挖掘《算法与数据结构》课程思想政治教育元素,培养学生的职业素质和道德规范。 2、培养学生的工匠精神、科学精神、创新精神和实践能力,提高学生适应信息社会的能力。 | |||
教学过程设计: 教学方法及手段、课堂互动题设置、教学改革措施等 | 一、教学过程 思政元素的融入(德育点》 1、通过介绍软件公司C工程师的招聘条件,让学生了解 C程序开发规范的重要性,培养学生的职业素质和道德规范。 2、软件行业规划解析,培来学生的软件工匠精神 3、大国战略,技术强围 党的十八届五中全会通过的“十三五”规划《建议》,明确提出实施网络强国成略以及与之密切相关的“万联网+”行动计划,国家正着力实现关键技术自主可控。为维护国家安全、网络安全提供技术保障。中国信息化需求巨大。但在一些关键技术领域如操作系统、芯片技术、CPU技术等方面,还难以做到自主可控,对国家安全造成威胁。引导学生明确:建设网络强国,不仅仅是靠网络技术,还要有软件技术等其他各类技术的支撑。引导学生作为工程技术专业的一员,应更加明晰专业人才的培养目标,更加明确专业领域内工作岗位和工作内容的社会价值。自觉树立远大职业理想,将职业生涯、职业发展脉络与国家发展的历史进程融合起来。 二、教学方法及手段: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。本课程授课对象为本科一年级的学生,学习本课程时需要给予更多的关注。通过增加课堂信息量来对概念、定义和原理进行解释,通过随堂程序演示增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。 课前要求学生预习学习通上相关章节的内容,预习中认真思考,以便带着问题主动地听课。课中安排提问,课后练习。每一章节后都有自我测试,列出相关问题,由学生进行思考,课上答疑。这样可以将学生所学的知识融会贯通,提高课堂教学效率,增加学生间互动,提升学生课堂教学的参与程度。课后认真完成作业和复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。 2. 用图例讲解程序流程控制,实例说明选择结构。 例如:.在给学生讲栈和队列的表示、实现方法和操作特点的时候,通过编一个简单程序进行验证表达式的结果,让学生学会利用计算机编程解决所遇到的问题; 互动题目: 1.输入三个整数,将其按从小到大顺序输出。 2.利用两种选择语句,根据输入的成绩等级打印出评语。 3.用头歌实训平台上的实训项目与学生互动,解决学生编程中的难点。 教学改革的措施: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。要求学生先预习,找问题。 2.上新课之前,请学生提出预习过程中遇到的问题并有的放矢地讲解知识。 3.在学习通建课,扩展学生的知识面,录制教学视频提供给学生课前、课后学习,并将学生的学习情况记入到平时成绩,加强了对学生平时学习的监督。针对学习程序设计有困难的同学,推荐参考书以及相关视频资料,来帮助学生掌握知识点。 4.采用启发、设问、讨论等教学方式,突出对重点内容的讲述和难点的析,进行并进行相应的课堂操作,让同学们直观的了解并掌握。 5.从单纯的讲课,过渡到通过示例和互动来达到提高教学效果的目的。 | |||
作业与 思考题设置 | 1.课后可以要求学生完成教材及配套习题册上相关知识点的练习题。 2.要求学生课后复习本节课的教学内容并预习下节课的内容 3.根据课堂教学效果针对某些难点提出相应的要求。 4.在头歌实训平台布置实训作业,要求学生在规定的时间内完成,完成情况记入平时成绩。 | |||
学习效果、学生反馈、反思改进措施等 | 1.通过课堂测试、提问了解教学效果。 2.通过网络教学平台的测试结果了解教学效果。 3.本课程在学习通上建有课程和教学讨论空间,在上面按章节发布教学视频、学习任务、习题解答和资料等。学生可根据的教师要求完成线上学习任务、利用网上资源和其他资源进行自主学习补充扩展知识,教师可依学生完成的数量和质量作为评定学生平时成绩的一个依据。 4. 教师在教学讨论空间收集、解答学生反馈的信息。通过掌握的各类信息及时对教学手段和方法做出调整,尽可能提高教学质量和教学效果。 | |||
备注 |
| |||
分课时教案
知识单元名称 | 串与特殊矩阵 | 课次 | 第5讲 |
授课类型 | 理论课√讨论课□实验课□习题课□其他□ | 学时 | 2 |
课程目标与要求 | 1.要求学生了解串的逻辑结构及其存储结构、串的基本操作,重点掌握串的模式匹配算法的理解与实现 2. 数组的逻辑结构及存储结构、特殊矩阵和稀疏矩阵的压缩存储及其矩阵运算的实现 | ||
本单元重点 与难点内容 | 重点:串的模式匹配算法、特殊矩阵和稀疏矩阵的压缩存储 难点: KMP算法 | ||
教学内容 |
| ||
课程思政 | 1.了解计算机软件从业人员应当具备的职业道德守则。 2.理解并敬重工匠精神,在学习中努力发扬工匠精神。 3.通过软件行业发展前景,引发学生对未来的职业愿景,激发学生对社会主义核心价值观的认同感。 | ||
教学过程设计: 教学方法及手段、课堂互动题设置、教学改革措施等 | 一、教学过程 思政元素的融入(德育点) 1、新时代与个人成才的关系。 2、通过软件行业发展前景,引发学生对未来的职业愿景,激发学生对社会主义核心价值观的认同感。 课程思政教学素材 1、世界十大黑客的经历一>引出:计算机软件从业人员应具备的职业通德规范 2、C 的发展历程一>引出:工匠精神 3、美国的芯片垄断一>引出:民我认同感。 4、工匠精神,敬业求精: 工匠精神是一种职业神,它是职业道德、职业能力、职业品质的体现。是从业者的一种价值取向和行为表现。引导学生在学习时将知识夯实、精技强能,方能在今后工作中本领过硬,不出纰漏。 二、教学方法及手段: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。本课程授课对象为本科一年级的学生,学习本课程时需要给予更多的关注。通过增加课堂信息量来对概念、定义和原理进行解释,通过随堂程序演示增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。 课前要求学生预习学习通上相关章节的内容,预习中认真思考,以便带着问题主动地听课。课中安排提问,课后练习。每一章节后都有自我测试,列出相关问题,由学生进行思考,课上答疑。这样可以将学生所学的知识融会贯通,提高课堂教学效率,增加学生间互动,提升学生课堂教学的参与程度。课后认真完成作业和复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。 2. 结合实际问题(如线性代数中的矩阵或工程计算)介绍串与特殊矩阵的应用。 3.讲解串与特殊矩阵的逻辑结构、存储结构及其基本操作的实现。 4.树立不怕困难的品质。 互动题目: 1.人与人平时怎么相互沟通?人与计算机怎么沟通?通过学生的回答进行总结及给出概念。 2.利用学生所学的算法语言中的串及数组类型,导入串与数据的数据结构。 教学改革的措施: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。要求学生先预习,找问题。 2.上新课之前,请学生提出预习过程中遇到的问题并有的放矢地讲解知识。 3.在学习通建课,扩展学生的知识面,录制教学视频提供给学生课前、课后学习,并将学生的学习情况记入到平时成绩,加强了对学生平时学习的监督。针对学习程序设计有困难的同学,推荐参考书以及相关视频资料,来帮助学生掌握知识点。 4.从 4.采用启发、设问、讨论等教学方式,突出对重点内容的讲述和难点的析, 进行并进行相应的课堂操作,让同学们直观的了解并掌握。 5.从单纯的讲课,过渡到通过实际应用问题和互动来达到提高教学效果的目的。 | ||
作业与 思考题设置 | 1.课后可以要求学生完成教材上相关知识点的练习题。 2.要求学生课后复习本节课的教学内容并预习下节课的内容 3.根据课堂教学效果针对某些难点提出相应的要求。 4.在头歌实训平台布置实训作业,要求学生在规定的时间内完成,并撰写实验报告,完成情况记入平时成绩。 | ||
学习效果、学生反馈、反思改进措施等 | 1.通过课堂测试、提问了解教学效果。 2.通过网络教学平台的测试结果了解教学效果。 3.本课程在学习通上建有课程和教学讨论空间,在上面按章节发布教学视频、学习任务、习题解答和资料等。学生可根据的教师要求完成线上学习任务、利用网上资源和其他资源进行自主学习补充扩展知识,教师可依学生完成的数量和质量作为评定学生平时成绩的一个依据。 4. 教师在教学讨论空间收集、解答学生反馈的信息。通过掌握的各类信息及时对教学手段和方法做出调整,尽可能提高教学质量和教学效果。 | ||
备注 |
| ||
分课时教案
知识单元名称 | 树和二叉树1 | 课次 | 第6讲 |
授课类型 | 理论课√讨论课□实验课□习题课□其他□ | 学时 | 2 |
课程目标与要求 | 1、要求学生熟悉树基本概念及性质 2、掌握二叉树的基本概念、结构特性及基本性质, 2.掌握二叉树的遍历方法及其算法实现。
| ||
本单元重点 与难点内容 | 重点:树的遍历操作、树的存储结构、二叉树的基本性质及证明。 难点:满二叉树和完全二叉树,利用二叉树的性质进行计算。 | ||
教学内容 | 1、二叉树的定义与基本操作 、基本术语 2、二叉树的抽象数据类型 3、二叉树的基本性质 4、二叉树的存储结构 5、二叉树三种顺序的遍历 | ||
课程思政 | 1.引导学生日常碰到难题时,学会多角度看待问题、分析问题,切不可钻死牛角尖,使自己陷于困顿之中。 2、通过介绍软件行业发展,让学生了解程序开发规范的重要性,培养学生的职业素质和道德规范;
| ||
教学过程设计: 教学方法及手段、课堂互动题设置、教学改革措施等 | 一、教学过程 思政元素的融入(德育点) 1、在讲述二叉树的二叉链表存储结构时,让同学思考:含有n个结点的二叉树的二叉链表存储结构中存在多少个空指针域。直接求解,不太可能。此时可以转变思维,即转换思考角度。已知总的指针域,可求出非空指针域,做减法可得空指针域。由此引出,日常碰到难题,不妨也采用转变思考角度的方法,学会多角度看待问题、分析问题,也许会柳暗花明。切不可钻死牛角尖,使自己陷于困顿之中。 2、通过软件行业发展前景,引发学生对未来的职业愿景,激发学生对社会主义核心价值观的认同感。 课程思政教学素材 1、世界十大黑客的经历一>引出:计算机软件从业人员应具备的职业通德规范 2、程序开发从数值计算到非数值计算发展一>引出:工匠精神 3、中国操作系统软件的发展一>引出:民族认同感。 二、教学方法及手段: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。本课程授课对象为本科一年级的学生,学习本课程时需要给予更多的关注。通过增加课堂信息量来对概念、定义和原理进行解释,通过随堂程序演示增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。 课前要求学生预习学习通上相关章节的内容,预习中认真思考,以便带着问题主动地听课。课中安排提问,课后练习。每一章节后都有自我测试,列出相关问题,由学生进行思考,课上答疑。这样可以将学生所学的知识融会贯通,提高课堂教学效率,增加学生间互动,提升学生课堂教学的参与程度。课后认真完成作业和复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。 2. 结合实例程序直观介绍遍历算法。 3.讲解算法的概念及其表达的方式。 4.树立不怕困难的品质。 互动题目: 1.人与人平时怎么相互沟通?人与计算机怎么沟通?通过学生的回答进行总结及给出概念。 2.让学生说出生活中的做某一事情的流程,导入算法的概念。 教学改革的措施: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。要求学生先预习,找问题。 2.上新课之前,请学生提出预习过程中遇到的问题并有的放矢地讲解知识。 3.在学习通建课,扩展学生的知识面,录制教学视频提供给学生课前、课后学习,并将学生的学习情况记入到平时成绩,加强了对学生平时学习的监督。针对学习程序设计有困难的同学,推荐参考书以及相关视频资料,来帮助学生掌握知识点。 4.采用启发、设问、讨论等教学方式,突出对重点内容的讲述和难点的析,进行并进行相应的课堂操作,让同学们直观的了解并掌握。 5.从单纯的讲课,过渡到通过示例和互动来达到提高教学效果的目的。 | ||
作业与 思考题设置 | 1.课后可以要求学生完成教材及配套习题册上相关知识点的练习题。 2.要求学生课后复习本节课的教学内容并预习下节课的内容 3.根据课堂教学效果针对某些难点提出相应的要求。 4.在头歌实训平台布置实训作业,要求学生在规定的时间内完成,完成情况记入平时成绩。 | ||
学习效果、学生反馈、反思改进措施等 | 1.通过课堂测试、提问了解教学效果。 2.通过网络教学平台的测试结果了解教学效果。 3.本课程在学习通上建有课程和教学讨论空间,在上面按章节发布教学视频、学习任务、习题解答和资料等。学生可根据的教师要求完成线上学习任务、利用网上资源和其他资源进行自主学习补充扩展知识,教师可依学生完成的数量和质量作为评定学生平时成绩的一个依据。 4. 教师在教学讨论空间收集、解答学生反馈的信息。通过掌握的各类信息及时对教学手段和方法做出调整,尽可能提高教学质量和教学效果。 | ||
备注 |
| ||
分课时教案
知识单元名称 | 树和二叉树2 | 课次 | 第7讲 |
授课类型 | 理论课√讨论课□实验课□习题课□其他□ | 学时 | 2 |
课程目标与要求 | 1、掌握二叉树的线索化。 2.熟悉哈夫曼树和其编码方式。 3. 熟悉二叉树、树和森林的概念和转换方式。 | ||
本单元重点 与难点内容 | 重点:二叉树的线索化,哈夫曼算法。 难点:二叉树、树和森林的转换方式。 | ||
教学内容 |
| ||
课程思政 | 结合课程思政的理念,引导学生深入思考算法背后的社会意义和价值,培养他们的综合素质和社会责任感。同时,也可以通过设计一些与哈夫曼算法相关的实践项目,让学生在实践中学习和应用算法,提高他们的创新实践能力。 | ||
教学过程设计: 教学方法及手段、课堂互动题设置、教学改革措施等 | 一、教学过程 思政元素的融入(德育点) 将哈夫曼算法与课程思政相结合,可以在教学过程中实现以下几个方面的价值: 1培养学生的创新实践能力:在学习哈夫曼算法的过程中,学生需要不断地思考和优化算法,这有助于培养他们的创新思维和实践能力,符合课程思政中对学生能力培养的要求。 2拓展学生的知识面:哈夫曼算法的应用范围非常广泛,从音视频文件到文本文件,从图像到压缩包,都涉及到了哈夫曼编码的技术。学习哈夫曼算法可以拓展学生的知识面,提高他们的实际应用能力,增强他们的综合素质。 3强化学生的社会责任感:通过了解哈夫曼算法在数据压缩、信息传输等方面的应用,学生可以认识到这种算法在节约资源、提高效率方面的社会价值,从而增强他们的社会责任感。 因此,在教授哈夫曼算法时,可以结合课程思政的理念,引导学生深入思考算法背后的社会意义和价值,培养他们的综合素质和社会责任感。同时,也可以通过设计一些与哈夫曼算法相关的实践项目,让学生在实践中学习和应用算法,提高他们的创新实践能力。 二、教学方法及手段: 1.采用PPT讲解+电脑演示+板书+混合在线学习相结合的方法进行教学。PPT的播放做到适时呈现、对过程有动态演示。本课程授课对象为本科一年级的学生,学习本课程时需要给予更多的关注。通过增加课堂信息量来对概念、定义和原理进行解释,通过随堂程序演示增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。 课前要求学生预习学习通上相关章节的内容,预习中认真思考,以便带着问题主动地听课。课中安排提问,课后练习。每一章节后都有自我测试,列出相关问题,由学生进行思考,课上答疑。这样可以将学生所学的知识融会贯通,提高课堂教学效率,增加学生间互动,提升学生课堂教学的参与程度。课后认真完成作业和复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。 2. 结合实例程序直观介绍遍历算法。 3.讲解算法的概念及其表达的方式。 4.树立不怕困难的品质。 互动设计: 背景介绍: 哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。它常用于数据压缩等领域。在构建哈夫曼树时,我们通常根据给定的权值集合,通过选择权值最小的两个节点作为新节点的子节点,并将这两个权值相加作为新节点的权值,重复这个过程直到只剩下一个节点,这个节点就是哈夫曼树的根节点。 题目描述: 给定一个权值集合 {3, 7, 2, 8, 29, 6, 1},请按照哈夫曼树的构建过程,逐步构造出哈夫曼树,并给出最终的哈夫曼树结构。 步骤提示:
互动环节:
附加问题: | ||