20162325 2016-2017-2《程序设计与数据结构》课程总结

每周作业链接汇总

1.20162325 2017-2018-2 《程序设计与数据结构》第1周学习总结

教材第十二章:
了解问题解决的一般方法
了解软件工程基本过程
掌握算法分析的方法
理解渐进复杂度,增长函数

2.第二周作业 - 建议写博客(未完成)

开设团队项目博客
下载Java Collection API源代码,下载工具
掌握Java中泛型类,泛型方法的设计

3.20162325 2017-2018-2 《程序设计与数据结构》第3周学习总结:

教材第十三章:
初步理解穷举和分治的算法设计思想
掌握线性和二分查找算法
掌握各种排序算法

4.20162325 金立清 S2 W5 C14 - 20162325金立清 - 博客园

教材第十四章:
掌握Java Collections API的基本结构
理解Collection的抽象设计
掌握Collection实现的Java相关技术:继承/多态/泛型/接口
掌握栈的应用
掌握栈的实现(数组,链式)
分析Java Stack API

5.20162325 金立清 S2 W6 C15 - 20162325金立清 - 博客园

教材第十五章:
理解queue抽象数据类型
会用queue解决问题
掌握queue的实现(数组,链表)
分析Java Collections API中queue相关的类

队列课下作业 - 20162325金立清 - 博客园

队列课下作业:
1 补充课上没有完成的作业
2 参考15.3节,用自己完成的队列(链队,循环数组队列)实现模拟票务柜台排队功能
3 用JDB或IDEA单步跟踪排队情况,画出队列变化图,包含自己的学号信息
4 把代码推送到代码托管平台
5 把完成过程写一篇博客:重点是单步跟踪过程和遇到的问题及解决过程
6 提交博客链接

YanghuiTriangle - 20162325金立清 - 博客园

队列加分项:
1 用实现循环队列
2 参考PPT用循环队列打印杨辉三角
3 用JDB或IDEA单步跟踪排队情况,画出队列变化图,包含自己的学号信息
4 把代码推送到代码托管平台
5 把完成过程写一篇博客:重点是单步跟踪过程和遇到的问题及解决过程
6 提交博客链接

6.20162325 金立清 S2 W7 C16 - 20162325金立清 - 博客园

教材第十六章:
理解树抽象数据类型
会用树解决问题
掌握树的遍历方法
掌握二叉树的实现(数组,链表)
会用二叉树表示决策树
分析Java Collections API中树相关的类

7.20162325 金立清 S2 W8 C17 - 20162325金立清 - 博客园

教材第十七章:
理解二㕚查找树
掌握二叉查找树的实现
掌握二叉查找树的应用
理解平衡二㕚树
分析Java Collections API中树相关的类

8.20162325 金立清 S2 W9 C18 - 20162325金立清 - 博客园

教材第十八章:
理解堆和优先队列
理解堆和优先队列的关系
掌握堆的实现
掌握堆排序的实现
分析Java Collections API中堆和相关的类

9.20162325 金立清 S2 W10 C19 - 20162325金立清 - 博客园

教材第十九章:
理解图与有向图、无向图
理解带权图
会应用带权图
理解图的广度优先遍历和深度优先遍历
掌握最小生成树算法
掌握图的实现

快速阅读《构建之法》及问题汇总(不定时更新) - 20162325金立清 - 博客园

10.20162325 金立清 S2 W11 C20 - 20162325金立清 - 博客园

教材第十九章:
掌握Hash 函数的实现
理解哈希表中的冲突问题
分析Java Collection API中的Hash 实现

11.图-实验报告 - 20162325金立清 - 博客园

用邻接矩阵实现无向图
用十字链表实现无向图
实现PP19.9

12.实验五 团队项目 - 20162325金立清 - 博客园

编译、运行、测试
代码修改
代码分析

自认为写的最好的一篇博客是:

20162325 金立清 S2 W9 C18 - 20162325金立清 - 博客园

内容丰富,图文详实,花了不少时间,查阅了不少资料

作业中阅读量最高的一篇博客是:

线性结构-实验报告 - 20162325金立清 - 博客园

理解线性表的概念
掌握用数组和链表实现线性表的方法
熟练应用线性表解决问题

实验报告链接汇总

1、线性结构-实验报告 - 20162325金立清 - 博客园

理解线性表的概念
掌握用数组和链表实现线性表的方法
熟练应用线性表解决问题
分析Java Collections API中ArrayList和LinkedList的实现

2、树-实验报告 - 20162325金立清 - 博客园

完成链树LinkedBinaryTree的实现
实现基于(中序,先序)序列构造唯一一棵二㕚树的功能
实现PP16.6决策树
完成PP16.8实现树
完成PP17.1二叉查找树
红黑树分析

3、查找与排序-实验报告 - 20162325金立清 - 博客园

完成教材P302 Searching.Java ,P305 Sorting.java中方法的测试
重构你的代码
把Sorting.java Searching.java放入 cn.edu.besti.cs1623.(姓名首字母+四位学号) 包中
把测试代码放test包中
重新编译,运行代码,提交编译,运行的截图
参考http://www.cnblogs.com/maybe2030/p/4715035.html 在Searching中补充查找算法并测试
提交运行结果截图
补充实现课上讲过的排序方法:希尔排序,堆排序,桶排序,二叉树排序等
测试实现的算法(正常,异常,边界)
提交运行结果截图
编写Android程序对各种查找与排序算法进行测试(未完成)

4、图-实验报告 - 20162325金立清 - 博客园

用邻接矩阵实现无向图(边和顶点都要保存),实现在包含添加和删除结点的方法,添加和删除边的方法,size(),isEmpty(),广度优先迭代器,深度优先迭代器
用十字链表实现无向图(边和顶点都要保存),实现在包含添加和删除结点的方法,添加和删除边的方法,size(),isEmpty(),广度优先迭代器,深度优先迭代器
实现PP19.9——创建计算机网络路由系统,输入网络中点到点的线路,以及每条线路使用的费用,系统输出网络中各点之间最便宜的路径,指出不相通的位置

5、实验五 团队项目 - 20162325金立清 - 博客园

git clone 小组项目
编译项目,提交编译成功截图(全屏,要有学号信息)
提交运行过程中的截图(全屏,要有学号信息)

在小组项目中,找一个合适的地方添加一个按钮,点击显示自己的学号
提交运行截图(全屏,要有学号信息)
在项目中找一个界面,自己复制一份命名为XXXbak,修改代码,替换原来的部分
提交运行截图(全屏,要有学号信息)

数据结构的应用情况及相关代码
排序算法的应用情况及相关代码
查找算法的应用情况及相关代码

团队项目报告链接汇总

2017-2018-1 我爱学Java 第八周 作业 - 我爱学Java - 博客园

团队分工
UML图
工具选择

2017-2018-1 我爱学Java 第六七周 作业 - 我爱学Java - 博客园

完善版需求规格说明书
制定团队编码规范
数据库设计
后端架构设计
TODOList

2017-2018-1 我爱学Java 第四五周 作业 - 我爱学Java - 博客园
描述为撰写 需求规格说明书的 工作流程、组员分工、组员工作量比例;
提供 《需求规格说明书》的码云链接 (markdown文件及pdf文件,tip:pdf可由markdown转pdf工具得到)。

2017-2018-1 我爱学Java 第三周 作业 - 我爱学Java - 博客园

团队展示

2017-2018-1 我爱学Java 第二周 作业 - 我爱学Java - 博客园

团队讨论选取Android上的一个游戏软件

2017-2018-1 我爱学Java 第一周 作业 - 我爱学Java - 博客园

团队学习分工《构建之法》和学习交流情况总结

Scrum 冲刺 第一日 - 我爱学Java - 博客园
Scrum 冲刺 第二日 - 我爱学Java - 博客园
Scrum 冲刺 第三日 - 我爱学Java - 博客园
Scrum 冲刺 第四日 - 我爱学Java - 博客园
Scrum 冲刺 第五日 - 我爱学Java - 博客园
Scrum 冲刺 第六日 - 我爱学Java - 博客园
Scrum 冲刺 第七日 - 我爱学Java - 博客园
Scrum 冲刺 总结 - 我爱学Java - 博客园

冲刺(7次 Scrum)
团队在日期区间[11.27,12.10]内,任选7天进行冲刺,冲刺当天晚10点前发布一篇随笔,共7篇。具体的博文规范如下:
1)第 1 篇 Scrum 冲刺博客对整个冲刺阶段起到领航作用,应该主要包含四个部分的内容:
各个成员在 Alpha 阶段认领的任务
明日各个成员的任务安排
整个项目预期的任务量(使用整数表示,与项目预估的总工作小时数一致。比如项目A预估需120小时才能完成,则任务量为120。)
团队成员贡献值的计算规则
2)第 2-7 篇 Scrum 冲刺博客是冲刺阶段的主要产出,主要包含四个部分的内容:
各个成员今日完成的任务(如果完成的任务为开发或测试任务,需给出对应的Github代码签入记录截图;如果完成的任务为调研任务,需给出对应的调研总结博客链接;如果完成的任务为学习技术任务,需给出学习总结博客链接)
各个成员遇到的问题
明日各个成员的任务安排
各个成员今日对项目的贡献量(使用整数表示,如无产出则为0,整个冲刺阶段所有成员的贡献量总和应与项目预期任务量相近)
3)第 7篇 Scrum 冲刺是对冲刺阶段的总结,主要包含两个部分的内容:
各个成员今日完成的任务(要求同上)
项目的发布说明,主要包含:本版本的新功能,软件对运行环境的要求,系统已知的问题和限制,软件的发布方式以及发布地址。
除上述博客内容外,每次 Scrum 冲刺博客都需要提供当天站立式会议照片一张,发布项目燃尽图,并描述项目整体的进展情况。

代码托管链接

statistic.sh运行结果:

  • 本学期的预期代码量已达到。

积极主动敲代码做到没有?教材实践上有什么经验教训?

有,教材上的代码不够全面,在做课后PP和平常的实验时还是遇到不少实际困难,还是得借助参考网上博客和源代码。

课下测试

- 第一、三、四、六、七、九、十、十一周课下测试

课堂项目实践

第三周
泛型类-Bag(未完成)
要求:
0. 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息

  1. 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进行单元测试(JUnit),测试要涵盖正常、异常情况、边界情况。

1 /**
2 An interface that describes the operations of a bag of objects.
3
4 */
5 public interface BagInterface

算法复杂度-1&2&3

第四周
创建单链表
链表节点删除和插入

第五周
用链表实现栈
用数组实现栈
Android演示Stack
查找课堂测试
排序课堂测试

第六周
Java Queue的测试
用数组实现循环队列
用链表实现队列

第七周
树计算
遍历树1&2
中后序构建树

第九周
堆排序
构建堆
堆的概念
哈夫曼树的实现
构造哈夫曼树

第十周
图表示
十字链表
邻接表
邻接矩阵

第十一周
关键路径
Dijkstra
最小生成树
图的广度&深度优先遍历

第十二周
hash

课堂实践对提高应用能力有帮助吗?

有。

课堂实践上自己有什么经验教训?

有些知识点虽然听懂了,但真正做的时候还是有很多疑惑需要自己去找资料解决问题。

课堂实践上对老师有什么教学建议?

有些要求提的不够明确和具体,导致理解上存在困难以及偏差。

课程收获与不足

收获是发现了不少不那么枯燥但很有用的工具书,打算寒假借阅看看;不足是有些地方没彻底弄懂,就被快速的学习进度赶着往前了,还有些作业不会做或者没来得及做完,假期打算自学,以后还是很有可能用到的。

自己的收获(投入,效率,效果等)

这学期比上学期明显投入了更多的精力,也看到了一些成效,比如博客的质量高了,课下对课堂内容的理解深入了。

自己需要改进的地方

自己遇到问题还是偏向于借助他人的力量,还是得自己多尝试才行,但这也是个耗时且会遭遇屡次失败的过程。

结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议

没有很好地贯彻,结对伙伴张之睿同学帮助我理解了部分代码,但还有不少问题需要我自行解决。

问卷调查

你平均每周投入到本课程有效学习时间有多少?

有效时间约20小时。

每周的学习效率有提高吗?你是怎么衡量的?

有提高,通过提交博客与作业的进度。

蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?

有促进,比如每周的课下测试,可方便巩固知识。

你觉得这门课老师应该继续做哪一件事情?

应该继续鼓励结对学习、组队开发项目以及推荐好的教材读物给大家。

你觉得这门课老师应该停止做哪一件事情?

应该停止出门门票和对结对小伙伴的学习总结。

你觉得这门课老师应该开始做什么新的事情?

开始适当减少作业量……上课多演示

你如何评价出门门票和做笔记的要求?

我觉得为了让我们养成做笔记的好习惯这个出发点是好的,但是每个人学习的方式不尽相同,不应强制要求必须手写记录笔记,有时候没东西写,只能刻意照抄ppt 上的内容并不能有利于我们理解上课内容,反而会干扰听讲思考。

给出你的总结中涉及到的链接的二维码

posted @ 2017-12-23 19:53  20162325金立清  阅读(221)  评论(0编辑  收藏  举报