数据结构教学方法探讨-陈越 共44页PPT资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
课程设计的内容选择
题目集(4)
Performance Measurement (search ) Counting Leaves (树的建立与遍历) Battle Over Cities (连通集、关节点、最小生成树) Bonus: Binary Search Tree (不同输入顺序) Bonus: Hashing (拓扑排序、哈希映射)
1. 登录QQ的时候,QQ服务器如何核对身份? 2. Google和Baidu如何搜索?
散列查找
4
实践 – 综合性课程设计
数据结构基础 — 综合性课程设计的作用
存在问题及解决思路 课程设计的
内容选择 实施方法 激励手段 相关文档及辅助教材
5
存在问题及解决思路
问题
在传统的课程教学中,往往采用一般性实验作为课程实践的 主要内容,即布置针对本次课堂教学内容的小型练习题,让学生 独立完成程序设计与实现。这样的实践主要存在两方面问题: 练习题所需要用到的知识点就是课堂教学刚讲授过的内容,学
生只要直接拿来用就可以,不需要自己去考虑各种可能的解决 方案并找到最合适的方法。这种实践是验证性的,比较简单直 接,学生受到的锻炼相对较少。 学生独立完成小型程序,虽然可以在一定程度上锻炼编程能力, 但这个锻炼的层次和涉及面都比较窄。现代软件开发的规模, 使得团队合作在大多数情况下成为必须。而且部分数据结构只 有在处理大规模输入的复杂问题时才能体现出优势,编写小型 程序很难使学生真正认识到该数据结构存在的意义。
数据结构教学方法探讨
-- 兴趣、实践、研究
主讲:陈 越 (浙江大学计算机学院)
Email: chenyuezju.edu
提纲
兴趣 – 引子的重要性 实践 – 综合性课程设计 研究 – 精研课程建设 资源共享 – 教材与认证系统
2
兴趣 – 引子的重要性
乐学 — 兴趣是最好的老师 每章第一句话:为什么要学? 问题驱动,从常识性思考开始 每章结尾:解决一个有趣的问题
浙江大学建设有全球著名的程序设计竞赛练习网站 (acm.zju.edu/),提供在线自动裁判系统,简称ZOJ, 目前拥有各类竞赛练习题目2700余道,为数据结构课程设 计提供了丰富的题库资源。
9
课程设计的内容选择
题目集(1)
Performance Measurement (Print integers) The World’s Richest People (各种排序的组合) Hashing (拓扑排序、哈希映射) Bonus: Waiting in Line (队列模拟) Bonus: Attack of Panda (3种解,并查集最佳)
10
课程设计的内容选择
题目集(2)
Performance Measurement (MAXIMUM SUBMATRIX SUM )
Binary Search Tree (不同输入顺序) Attack of Panda (3种解,并查集最佳) Bonus: Sort Poems (大数据结构排序) Bonus: Universal Travel Sites (网络流、哈希)
内容选择 实施方法 激励手段 相关文档及辅助教材
8
课程设计的内容选择
题目应避免涉及单一知识点; 为锻炼学生进行研究性学习的能力,可设计算法效
率分析比较类型的题目; 采用启发式教学思路,设计有多种解法的题目,可
以给学生留出发挥想像力和创造力的空间,锻炼学 生灵活运用知识分析问题和解决问题的能力。
11
课程设计的内容选择
题目集(3)
Performance Measurement (XN ) Harry Potter’s Exam (最短路径应用) Sort Poems (大数据结构排序) Bonus: Lineal Tree (树的建立与遍历) Bonus: Utopia (求树结点的最低公共祖先)
而上述两方面的考虑若要取得真正好的效果,还必须有一 套行之有效的激励机制,既可以公平地判定每个学生作为 个体的能力,又可以鼓励团队精神,同时还可以鼓励学生 开拓创新思维,主动进行研究性学习。
7
实践 – 综合性课程设计
数据结构基础 — 综合性课程设计的作用
存在问题及解决思路 课程设计的
3
兴趣 – 引子的重要性
源自文库:
1. 图书摆放策略(数据组织与操作的关系) 2. Print(N)的循环与递归实现(空间复杂度的影响) 3. 多项式求值(时间复杂度的影响)
解决问题方法的效率,跟数据的组织方式有关(如例1), 跟空间的利用效率有关(如例2),也跟算法的巧妙程度 有关(如例3)。
什么是“数据结构” 例:
13
课程设计的实施方法
将学生分成三人小组,分工负责程序编写、测试以 及实验报告撰写工作;
一份完整的实验报告至少应包含以下四部分内容: (一)实验内容简介 (二)算法说明 (三)测试结果 (四)分析与探讨 附录:源代码
独立性声明
14
课程设计的激励手段
程序员、测试员、文档员的工作难度不同,其工作的分数 分配也应不同。例如我们采用50:30:20的分配制度,这样 只有在三个课程设计中将三种角色分别体验一遍,才有可 能得到满分100;
应对“分析与探讨”部分特别关注,及时发现并鼓励学生 的创新思维;
由于每个学生的能力水平不同,应使组内每个人的成绩相 对独立,不依赖于其他组员的表现而得分;
6
存在问题及解决思路
解决
课程设计题目覆盖的知识点应尽可能避免单一,要采用启 发式的设计思路,引导学生围绕课程设计目标,通过查找 与分析有关参考资料,进行探究式的学习,激发创造的意 识和能力。所以,在题目设计和实施中,不应该只是“手 把手”地教,要给学生留出发挥想像力和创造力的空间;
题目的规模应充分大,并且努力使学生对规范性的软件开 发有初步体验,在一定程度上使得学生的工程化能力和团 队合作能力得到锻炼。
课程设计的内容选择
题目集(4)
Performance Measurement (search ) Counting Leaves (树的建立与遍历) Battle Over Cities (连通集、关节点、最小生成树) Bonus: Binary Search Tree (不同输入顺序) Bonus: Hashing (拓扑排序、哈希映射)
1. 登录QQ的时候,QQ服务器如何核对身份? 2. Google和Baidu如何搜索?
散列查找
4
实践 – 综合性课程设计
数据结构基础 — 综合性课程设计的作用
存在问题及解决思路 课程设计的
内容选择 实施方法 激励手段 相关文档及辅助教材
5
存在问题及解决思路
问题
在传统的课程教学中,往往采用一般性实验作为课程实践的 主要内容,即布置针对本次课堂教学内容的小型练习题,让学生 独立完成程序设计与实现。这样的实践主要存在两方面问题: 练习题所需要用到的知识点就是课堂教学刚讲授过的内容,学
生只要直接拿来用就可以,不需要自己去考虑各种可能的解决 方案并找到最合适的方法。这种实践是验证性的,比较简单直 接,学生受到的锻炼相对较少。 学生独立完成小型程序,虽然可以在一定程度上锻炼编程能力, 但这个锻炼的层次和涉及面都比较窄。现代软件开发的规模, 使得团队合作在大多数情况下成为必须。而且部分数据结构只 有在处理大规模输入的复杂问题时才能体现出优势,编写小型 程序很难使学生真正认识到该数据结构存在的意义。
数据结构教学方法探讨
-- 兴趣、实践、研究
主讲:陈 越 (浙江大学计算机学院)
Email: chenyuezju.edu
提纲
兴趣 – 引子的重要性 实践 – 综合性课程设计 研究 – 精研课程建设 资源共享 – 教材与认证系统
2
兴趣 – 引子的重要性
乐学 — 兴趣是最好的老师 每章第一句话:为什么要学? 问题驱动,从常识性思考开始 每章结尾:解决一个有趣的问题
浙江大学建设有全球著名的程序设计竞赛练习网站 (acm.zju.edu/),提供在线自动裁判系统,简称ZOJ, 目前拥有各类竞赛练习题目2700余道,为数据结构课程设 计提供了丰富的题库资源。
9
课程设计的内容选择
题目集(1)
Performance Measurement (Print integers) The World’s Richest People (各种排序的组合) Hashing (拓扑排序、哈希映射) Bonus: Waiting in Line (队列模拟) Bonus: Attack of Panda (3种解,并查集最佳)
10
课程设计的内容选择
题目集(2)
Performance Measurement (MAXIMUM SUBMATRIX SUM )
Binary Search Tree (不同输入顺序) Attack of Panda (3种解,并查集最佳) Bonus: Sort Poems (大数据结构排序) Bonus: Universal Travel Sites (网络流、哈希)
内容选择 实施方法 激励手段 相关文档及辅助教材
8
课程设计的内容选择
题目应避免涉及单一知识点; 为锻炼学生进行研究性学习的能力,可设计算法效
率分析比较类型的题目; 采用启发式教学思路,设计有多种解法的题目,可
以给学生留出发挥想像力和创造力的空间,锻炼学 生灵活运用知识分析问题和解决问题的能力。
11
课程设计的内容选择
题目集(3)
Performance Measurement (XN ) Harry Potter’s Exam (最短路径应用) Sort Poems (大数据结构排序) Bonus: Lineal Tree (树的建立与遍历) Bonus: Utopia (求树结点的最低公共祖先)
而上述两方面的考虑若要取得真正好的效果,还必须有一 套行之有效的激励机制,既可以公平地判定每个学生作为 个体的能力,又可以鼓励团队精神,同时还可以鼓励学生 开拓创新思维,主动进行研究性学习。
7
实践 – 综合性课程设计
数据结构基础 — 综合性课程设计的作用
存在问题及解决思路 课程设计的
3
兴趣 – 引子的重要性
源自文库:
1. 图书摆放策略(数据组织与操作的关系) 2. Print(N)的循环与递归实现(空间复杂度的影响) 3. 多项式求值(时间复杂度的影响)
解决问题方法的效率,跟数据的组织方式有关(如例1), 跟空间的利用效率有关(如例2),也跟算法的巧妙程度 有关(如例3)。
什么是“数据结构” 例:
13
课程设计的实施方法
将学生分成三人小组,分工负责程序编写、测试以 及实验报告撰写工作;
一份完整的实验报告至少应包含以下四部分内容: (一)实验内容简介 (二)算法说明 (三)测试结果 (四)分析与探讨 附录:源代码
独立性声明
14
课程设计的激励手段
程序员、测试员、文档员的工作难度不同,其工作的分数 分配也应不同。例如我们采用50:30:20的分配制度,这样 只有在三个课程设计中将三种角色分别体验一遍,才有可 能得到满分100;
应对“分析与探讨”部分特别关注,及时发现并鼓励学生 的创新思维;
由于每个学生的能力水平不同,应使组内每个人的成绩相 对独立,不依赖于其他组员的表现而得分;
6
存在问题及解决思路
解决
课程设计题目覆盖的知识点应尽可能避免单一,要采用启 发式的设计思路,引导学生围绕课程设计目标,通过查找 与分析有关参考资料,进行探究式的学习,激发创造的意 识和能力。所以,在题目设计和实施中,不应该只是“手 把手”地教,要给学生留出发挥想像力和创造力的空间;
题目的规模应充分大,并且努力使学生对规范性的软件开 发有初步体验,在一定程度上使得学生的工程化能力和团 队合作能力得到锻炼。