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

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

每周作业链接汇总

1.第一周作业 :第十二章-算法分析。数据的逻辑结构、增长函数和大O符号、算法上下限、算法复杂度的概念、具体算法分析
2.第三周作业 :查找与排序。线性查找,二分查找
3.第五周作业 :掌握栈的应用。理解Collection的抽象设计
4.第七周作业 :理解树抽象数据类型,掌握树的遍历方法,掌握二叉树的实现(数组,链表)
5.第八周作业 :二叉查找树。二叉查找树中添加与删除元素的方法
6.第九周作业 :堆和优先队列。定义堆并讨论它的特殊用途,讨论堆的链式实现方式,定义优先队列和它与堆的关系
7.第十周作业 :图的应用。讨论有向图和无向图,定义图的广度优先遍历和深度优先遍历,定义最小生成树,讨论图的实现策略
8.第十一周作业 :邻接矩阵实现。删除与添加元素的方法。

第一周作业个人觉得总结很仔细,虽然知识很基础但是对每个知识点都有很好的理解,对知识模块的分类很明确。总之踏踏实实就是好!

很尴尬依旧是这篇,虽然很基础的知识总结博客,但也许是因为对知识点的总结很充分的原因吧!

实验报告链接汇总

  • ArrayList和LinkedList测试
  • 分别用Java的ArrayList和LinkedList实现有序线性表的合并
  • 参考Java Foundation 3rd 第15.6节,用数组实现线性表List
  • 参考Java Foundation 3rd 第15.7节,用链表实现线性表List
  • 源码分析
  • 参考教材p375,完成链树LinkedBinaryTree的实现
  • 中序先序序列构造二叉树
  • 决策树的实现
  • 表达式树的实现
  • 二叉查找树的实现
  • 对Java中的红黑树(TreeMap,HashMap)进行源码分析
  • 完成教材P302 Searching.Java ,P305 Sorting.java中方法的测试
  • 重构代码,把Sorting.java Searching.java放入cn.edu.besti.cs1623.(姓名首字母+四位学号)包中把,测试代码放test包中
  • 在Searching中补充查找算法并测试
  • 补充实现课上讲过的排序方法:希尔排序,堆排序,桶排序,二叉树排序等
  • 编写Android程序对各种查找与排序算法进行测试
  • 用邻接矩阵实现无向图
  • 用十字链表实现无向图
  • 实现PP19.9
  • 编译运行测试
  • 代码分析
  • 代码修改

代码托管链接

  • 给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?

  • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得

参考编程的智慧我有心得如下:
记得在图地实现这一章的学习和试验中,对图类的方法中删除边和结点操作的方法代码不停的修改,降低复杂度,使代码更加优美简洁。
在小组项目的最后冲刺阶段,我和同组张泰毓同学一起结对编程对游戏类方法优化并调试BUG,使得代码更加的稳固
每次加点代码,改点代码都会觉得之前的脑子是多么不灵光,每次的修改都是一次学习的过程,能做出之前想不到的成果。

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

积极主动敲代码我认为是做到的,不过到现在还是有一些目标未达成,还需要坚持练手,比如,堆的数组实现方式到现在的实现方法还是有些许问题。最近都在未小组游戏的代码进行优化,以及新的游戏逻辑的构建总之每天都有有效的练手
这学期对教材上的PP作业,完成度不是很高,到是对于章节中留作程序设计作业的问题有一些了解和解决,对于教材我经验是:要学会发散,学会总结,对于书中未详细讲述的知识要充分查阅资料。要学会将代码规范为与书中一致的简洁与美观。

课堂项目实践

1.课堂实践 Bag类 :运用泛型做一个类似Bag(装填,倒出)的类
2.杨辉三角 :打印杨辉三角

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

课堂实践对应用能力还是有一定帮助的。但是我觉得课堂实践的方式有点问题,我认为的课堂实践过程应该是:老师会简要讲述课堂实践题目的要求和注意事项;在实践的过程中老师会不时对同学的疑惑做统一讲解;快结束时,会抽调同学的代码做示例来做分析和讲解,我觉得这个是很重要的,即可帮助同学提高代码能力还可以促进相互学习。

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

我的经验是知道实践的题目后不要着急动手写代码,先要具体分析,脑中构思好伪代码,做好需求分析。着急下手的话,目无章法,就算编好程序,也会出现各种问题。

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

唯一的建议就是前面所说的:抽调部分同学的代码做示例来做分析和讲解,我觉得这个是很重要的,即可帮助同学提高代码能力还可以促进相互学习。

课程收获与不足

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

这学期自己对课程的投入比之前更多,但好似从分数表现来看,有点问题的,但这都不是问题,学到了就是学到,我是绝不会去作假的,能力是自己的,是从别人那拿不来的。

  • 自己需要改进的地方

从网上,书中看到知识要及时记录消化并且实践运用。

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

课程前几周我和刘先润的结对学习倒是很认真。在项目冲刺中,我们小组其实冲刺了十天,每天晚上我们四个人都很认真在一堆讨论游戏代码,游戏界面,BUG等。感觉还是很不错的。
关于结对的建议:我觉得可以讲一次课堂实践用作结对编程,在课堂上结对的两人用一台电脑编写程序,同样抽调部分同学的代码做示例来做分析和讲解。

问卷调查

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

每天一两个小时,确保高效。确保有所收获

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

没有具体衡量过。每周的实验不同,但效率至少没有下降。

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

这学期对蓝墨云班课的运用不足。

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

鼓励课外学习,保持代码的严格审批

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

实践课上抽调部分同学的代码做示例来做分析和讲解。

博客二维码

  • 第一周

  • 第三周

  • 第五周

  • 第七周

  • 第八周

  • 第九周

  • 第十周

  • 第十一周

  • 课堂实验-Bag

  • 课堂实践-杨辉三角

  • 实验一

  • 实验二

  • 实验三

  • 实验四

  • 实验五

posted @ 2017-12-24 20:35  Wb同学在此  阅读(93)  评论(4编辑  收藏