20162301 2017-2018-1《程序设计与数据结构》课程总结

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

每周作业链接汇总

  • 第一周作业: 算法分析、算法效率、增长函数和大O符号、比较增长函数。
  • 第二周作业:泛型、Java Collections API源码分析。
  • 第三周作业:探讨线性及二分查找算法、探讨选择、插入、冒泡、快速及归并排序算法、讨论算法的复杂度分析技术。
  • 第五周作业:栈集合、栈的ADT、使用数组实现栈、将引用作为链。
  • 第六周作业:队列ADT、使用队列、实现队列。
  • 第七周作业:树、树的分类、树的遍历、树的实现策略、树的特点、二叉树。
  • 第八周作业:二叉查找树、二叉查找树的实现、平衡二叉查找树
  • 第九周作业:堆、堆的实现、堆排列、优先队列、哈夫曼树、CRC
  • 第十周作业:无向图、有向图、常用的图算法图的实现策略
  • 第十一周作业:哈希方法、哈希函数、解决冲突、从哈希表中删除元素

自认为写得最好一篇博客是?为什么?

  • 自认为最好的一篇是第十一周作业,因为这篇博客写的比较详细,将书本上的知识和课堂所学的知识都整理了下来,其中还包括了两篇实践博客。内容比较充实。

作业中阅读量最高的一篇博客是?谈谈经验

  • 阅读量最高的第一周作业。可能因为是第一周博客,所以同学之间互相学习的情况更多一点。然而在我看来这篇博客写的并不好。

实验报告链接汇总

  • 实验一 线性结构:用Junit对ArrayList和LinkedList的方法进行测试,用Java的ArrayList和LinkedList实现有序线性表的合并,用数组实现线性表List,用链表实现线性表List,对Java的ArrayList,LinkedList进行源码分析。
  • 实验二 树:完成链树LinkedBinaryTree的实现,基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二?树的功能,决策树,表达式树,二叉查找树,对Java中的红黑树(TreeMap,HashMap)进行源码分析。
  • 实验三 查找与排序:完成 Searching.Java ,P305 Sorting.java中方法的测试,重构代码,在Searching中补充查找算法并测试,补充希尔排序,堆排序,桶排序,二叉树排序。
  • 实验四 图的实现与应用:用邻接矩阵实现无向图,用十字链表实现无向图,创建计算机网络路由系统。
  • 实验五 数据结构综合应用:分析系统架构,编译、运行、测试系统,修改系统,分析数据结构、排序、查找算法的应用。

团队项目报告链接汇总

代码托管链接

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

  • 这一年来的个人总代码量为21219行,每学期10000行的代码量目标已经达到。

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

  • 《编程的智慧中》让我印象最深刻的话是:“有些人喜欢炫耀自己写了多少多少万行的代码,仿佛代码的数量是衡量编程水平的标准。然而,如果你总是匆匆写出代码,却从来不回头去推敲,修改和提炼,其实是不可能提高编程水平的。你会制造出越来越多平庸甚至糟糕的代码。”作为学生,在不断改代码的过程,能更多的加强巩固已有的知识,也在不断发掘掌握新技能。

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

  • 在上学期的课程总结中,我提到了自己比较遗憾学习中没有做到积极主动敲代码。这一学期,在自己比较主动的逼迫下,我觉得这个问题有所改善。第一学期觉得敲代码是一件比较痛苦的事情,这学期慢慢感受到了其中的乐趣,特别是自己解决了一个问题以后,那种成就感很强烈。我们所用的教材上,每一章节的代码比较详细,例如很多排序算法都是已经有的,我们只要会用就可以了。虽然对我们学习的时候觉得很方便很轻松,但我觉得少了一部分思考的过程。到了后面图的那一部分,代码不再是完整的给出来,而是给了一部分思路让自己写,这个时候感觉很痛苦。所以教训就是,书上的代码不能一味的抄过来,而是要尝试自己还原,这样效果更好,能学习到的东西也更多。

课堂项目实践

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

  • 可以说是有很大的帮助,促使我不断的复习与学习新的知识。

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

  • 基础知识一定要牢固,要积极主动敲代码。

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

  • 学期的后部分课堂实践内容变得太少了,应该保持两周一次或者一周一次的频率。

课程收获与不足

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

  • 学习效率提高了,上学期博客要用一天甚至更多的时间,这学期基本在周一到周五学习,然后半天不到完成博客。

自己需要改进的地方

  • 多思考多动手,虽然这学期动手实践的次数多很多很多,但是比起先上网找思路,要更多的试着自己想。

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

  • 这学期的经历好像都用在了课堂实践实验,还有后半段的团队项目上了,老实说结对学习并不贯彻。我的结对伙伴也是我团队项目中的一员,在团队项目中学习到了很多。

问卷调查

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

  • 平时正常的话是12小时,有的时候实验用的时间比较长了也有30个小时的时候(其中的有效时间不好确定,基本都在思考或者学习,我觉得都算有效),到学期的后面带领大家做团队项目的时候时间也是每周20小时左右。

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

  • 有提高。我是通过我博客完成的时间来衡量的。因为我的学习博客都是我学习完本周的内容以后再开始写,所以博客完成的越早,就说明我这周学习的越快,效率越高。

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

  • 有促进。相较于传统的学习方式,结合蓝墨云班课的使用能够大幅度提高我们的实践能力,而不是仅仅局限于理论知识的学习。课堂实践,实验,单元测试等等都可以在上面提交很方便。但是有一个我认为很重要的建议是,每一次课堂学了一个知识以后马上测试,因为对知识的掌握程度不够,很多时候是不清楚自己写的对不对的。而我们提交完以后,也不知道正确答案是什么,自己答的对不对。

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

  • 坚持课堂实践。

你觉得这门课老师应该停止做哪一件事情?你如何评价出门门票和做笔记的要求?

  • 出门门票!!这个东西的初衷是好的,是希望我们在课堂学习中更加专注,但是因为写的多就算听讲的认真这一点我觉得是不合理的。这样会导致同学上课的时候不在乎老师讲的内容,只是埋头抄PPT了,并没有达到目的。而且出门门票应该只是一种监督,但像给写的多的来加分,我觉得加分和一个实验或者实践的1分比起来含金量完全不对等。

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

  • 对比上一条,我觉得如果想让同学集中于上课,而不会出现只抄笔记的现象的话,可以让同学记笔记在自己的笔记本上,然后隔周或者一个月检查一次。

二维码

写在最后

  • 没想到本以为特别难熬的一年就这么过去了,想着以后可能不会有再有每周博客的硬性规定,老师也可能不会再用蓝墨云班课来教学了,想想这些占据了我学习生活中很大部分的东西不在是我生活中的一部分,心里竟有一丝不舍。作为第一门接触的编程语言,这一门科目不仅仅教给了我单纯的Java知识,还有很多很多包括像组织团队项目等书本以外的内容,让我发现原来学习生活不是局限于刷题中。虽然有的时候确实很痛苦,比如课上突如其来的实践,单周躲不过的实验,每周早上睁眼看到新的学习内容,还有最后不知怎么组织的团队项目等等等等。但是结束了才发现,原来走出“舒适区”真的能得到更多的收获。希望自己能将这样的学习方式运用到以后的生活中。This is not the end, it is just a new beginning~
  • 感恩老师不辞辛劳夜以继日地检查我们的每一项作业每一次博客,感恩每一位为我提供帮助互相鼓励的“战友”。

Thank you !

时间: 2024-11-02 01:53:51

20162301 2017-2018-1《程序设计与数据结构》课程总结的相关文章

《2018面向对象程序设计(java)课程学习进度条》

 学习收获最大的程序阅读或编程任务    课堂/课余学习时间(小时)    发布博客/评论他人博客数量   (阅读/编写)代码行数        周次                  九九乘法表                   5/4                1/0            170/35  第一周            实验3,实验7                   6/4                2/1            200/45 第二周      

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

20162317 2016-2017-2<程序设计与数据结构>课程总结 总目录 每周作业链接汇总 实验报告链接汇总 团队项目报告链接汇总 代码托管链接 课堂项目实践或课后作业 课堂的收获和不足 问卷调查 每周作业链接汇总 每周作业目录 第一周作业 第二周作业 第三周作业 第四周作业 第五周作业 第六周作业 第七周作业 第八周作业 第九周作业 第十周作业 第十一周作业 返回总目录 第一周作业 这一周我们主要学了: 算法复杂度的定义和计算 算法和效率的关系 算法的特点 时间复杂度和空间复杂度 返回

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

20162305 2016-2017-2<程序设计与数据结构>课程总结 每周作业链接汇总 第一周作业: 简要内容: 什么是算法 算法的时间复杂度 什么是数据结构 二维码: 第二周作业 简要内容: 泛型的使用 利用Comparable接口进行查找比较 二维码: 第三周作业 简要内容: 查找的两种方法:线性查找和二分查找 排序的五种方法:选择排序.插入排序.冒泡排序.快速排序和归并排序 不同的查找和排序算法的时间复杂度 二维码: 第四周作业 简要内容: 本周我们主要完成了实验一的内容 二维码: 第

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

20162313 2016-2017-2<程序设计与数据结构>课程总结 每周作业链接汇总 第一周作业 算法与增长函数 第三周作业 查找与排序 第五周作业 集合,继承,多态,泛型 第七周作业 树与二叉树等的相关内容学习 第九周作业 堆,优先队列 第十一周作业 哈希算法,哈希表的学习 自认为写得最好一篇博客是?为什么? 第九周博客 这篇博客我查了许多关于堆和优先队列的资料并且筛选后写在了博客里. 作业中阅读量最高的一篇博客是?谈谈经验 第五周博客 我认为在这篇博客中我使用了一些简单易懂的图片才让这

20162304 2017-2018-1《程序设计与数据结构》课程总结

20162304 2017-2018-1<程序设计与数据结构>课程总结 每周作业链接汇总 第一周学习总结:数据的逻辑结构.增长函数和大O符号.算法上下限.如何比较增长函数.算法复杂度的概念 第二周学习总结:Java中泛型类的学习 第三周学习总结:查找与排序以及各自算法复杂度的分析 第五周学习总结:定义与集合相关的概念和术语.学习Java Collection API的基本结构.栈集合 第六周学习总结:队列的使用.分别用数组和链表实现队列.熟悉队列的操作:入队操作,出队操作等 第七周学习总结:树

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

20162306 2016-2017-2<程序设计与数据结构>课程总结 每周作业链接汇总 第一周作业: 数据结构的三个要素.算法特征.算法效率.增长函数与大O符号.比较增长函数. 第三周作业:查找及两种常用的查找方法.排序及五种排序算法. 第五周作业:集合.栈集合.继承.多态和泛型.栈的ADT.使用栈.异常. 第七周作业:树.树的遍历.树的实现策略.决策树.二叉树的性质.两种特殊的二叉树. 第九周作业:堆.向堆中添加/删除一个元素.堆排列.优先队列. 第十周作业:无向图.有向图.带权图.常用的

20172319 2018.03.05-2018.03.11 《程序设计与数据结构》第1周学习总结

学号20172319 2018.03.05-2018.03.11 <程序设计与数据结构>第1周学习总结 教材学习内容总结 复习上学期导论课所学知识 认识.了解与Java相关的基本知识:二符一字.四类编程语言.三种机器 程序中定义的标识符不能以数字开头且有&符号的标识符无效 教材学习中的问题和解决过程 问题1:什么是URL? 解决过程:上网查询相关资料:URL简单来说就是我们常说的网址,其实是统一资源定位符,包含协议与IP地址,其作用是定位资源及显示其所在位置 代码调试中的问题和解决过程

20172319 2018.03.12-19 《程序设计与数据结构》第2周学习总结

学号 20172319 2018.03.12-19 <程序设计与数据结构>第2周学习总结 教材学习内容总结 1.字符串:基本定义:print与println方法的区别:字符串的拼接:转义序列的应用. 2.变量与赋值:变量:常量:赋值语句. 3.基本数据类型:四整二浮点一字符一布尔. 4.表达式:运算符的种类及其使用规则. 5.数据类型转换:基本数据类型间的转换(扩展及压缩):数据转换方式:赋值(只能扩展).提升.强制. 6.交互式程序:Scanner 类. 教材学习中的问题和解决过程 问题1:

2018面向对象程序设计(java)课程学习进度条

<2018面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/博客评论量 课堂/课余学习时间(小时) 最满意的编程任务 第一周 40/20 1/0 4/5 九九乘法表 第二周 100/40 1/1 4/5 实验3 第三周 300/ 1/0 4/7 第四周 第五周 第六周 第七周 第八周 第九周 第十周 第十一周 第十二周 第十三周 第十四周 第十五周 第十六周 第十七周 累计 原文地址:https://www.cnblogs.com/tangyuechen/