1 2 3 4

20172310 2018-2019-1《程序设计与数据结构》(下)课程总结

20172310 2018-2019-1《程序设计与数据结构》(下)课程总结

(按顺序)每周作业链接汇总

  • 第一周作业:软件质量和算法分析,认识到软件工程是一门关于高质量软件开发的技术和理论的学科
    学习了增长函数和大O记法。
  • 第二周作业:第三章 集合概述——栈,第四章 链式结构——栈。
  • 第三周作业:队列,Java API中的队列,队列的应用 ,用链表实现队列 ,用数组实现队列
  • 第四周作业:列表的概念以及某些管理列表的方法,用数组实现列表,用链表实现列表
  • 第五周作业:排序与查找。查找(线性查找与二分查找算法),选择排序法等
  • 第六周作业:非线性集合与数据结构,树的使用和实现,树的遍历(前中后层序遍历)
  • 第七周作业:二叉查找树,用链表实现二叉查找树,用有序列表实现二叉查找树,平衡二叉查找树
  • 第八周作业:堆的学习。removeMin 操作,findMin操作,使用堆: 优先级队列等
  • 第九周作业:图。无向图、有向图和网络,图的常用算法。

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

  • 我认为自己博客中最好的一篇是第七周作业:二叉查找树
  • 编写这篇博客时,因为这周学习了一个红黑树查找,但是内容理解起来比较有难度,所以查找了比较多的资料,老师也在课堂上详细讲解了一下添加的方式和过程,所以这章的内容记录的很详细,此外,自己在编写代码的时候也遇到的了不少的问题,都相应地解决了,所以觉得这篇博客比较让我满意。

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

  • 阅读量最大的一篇博客是实验二 二叉树实验报告:实现二叉树的构造
  • 记录详细,版式比较新颖,有内容,才会吸引人阅读。在这次报告中,我用了和以前不一样的一种模板吧,算是,
    然后我觉地这种写法逻辑更加清晰,而且发布的时间相对较早,所以有些同学对这篇博客进行了阅读。

(按顺序)实验报告链接汇总

(按顺序)团队项目报告链接汇总

代码托管链接

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

  • 本学期的代码量顺利完成了,还超量完成()。
    学期的最后还有一个团队任务,阶段任务比较重,节奏比较快,还有一些代码都没有被统计进去ε=(´ο`)))。
    不过这里还是要反思一下,这些代码中其实有挺多的是靠复制粘贴来完成的,不过内容倒是都理解了(
    *)。

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

“看一个作家的水平,不是看他发表了多少文字,而要看他的废纸篓里扔掉了多少。”

在上个学期的总结中我就说到过“编程水平的高低不是靠你的代码量来决定的,复制粘贴得到的只是没有意义的数字,不是知识的累积。所以说课本上的例题我们可以去复制粘贴,但是我们要去推敲每一行代码的意义。”
在编写我们项目的代码时候,我还认识到了,一个完整且优雅的项目代码是不可能一蹴而就的。灵感似乎总是零零星星,陆陆续续到来的。
任何人都不可能一笔呵成,就算再厉害的程序员,也需要经过一段时间,才能发现最简单优雅的写法,更何况我们还只是在学习阶段。
所以说借鉴他人的代码是免不了的,就像在实验和项目中,我们总会有不知道没学习过的内容,学习的过程说白了也是一种模仿,会去copy一些网络上的代码,但我们不能单纯的做一个搬运工,我们要真正地知道每行代码的作用,才完成了从模仿到创造的过程。

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

  • 我觉得自己还是做到了的(ノ)ェ(ヾ),尤其是在完成团队项目的时候,更是要自己去学习很多的代码。

  • 这个学期的学习内容和上个学期真的很不一样,这个学期的内容更贴近《程序设计与数据结构》这个名字了,所以这个学期我觉得最重要的是理解每个数据结构的思想和课本上给出的类多、量多的代码,这样接下来自己的实现过程才会简单一些,而不是毫无头绪。

课堂项目实践

参考2018-2019-1 《Java 程序设计》课堂实践项目

(1)
for(i=1;i<=n;i++) 
      for(j=1;j<=i;j++) 
           for(k=1;k<=j;k++)  
(2)
void fun(int n) {
   int i=l;
   while(i<=n)
       i=i*10;
}
(3) 
int i, j,sum;
i=0;
j=0;
sum = i+j;
(4)void fun (int n){
   int i=0;
   while(i*i*i<=n)
       i++;
}
  • 二、链表练习,要求实现下列功能:
    (1)通过键盘输入一些整数,建立一个链表(1分);
    (2)实现节点插入、删除、输出操作(2分,3个知识点根据实际情况酌情扣分);
    (3)使用冒泡排序法或者选择排序法根据数值大小对链表进行排序(2分);
  • 三、完成课本中ArrayStack类的实现,特别是完成peek、isEmpty、size和toString方法的实现,并完成四个方法的测试。
  • 四、写出链表中节点插入的操作代码:
    public static void InsertNode(Student2 Head, Student2 node){}
  • 五、LinkedStack补全
    给出size、isEmpty和toString等方法的定义,以完成LinkedStack类的实现。
    要求:1.能够运行
    2.需要测试各个方法
    3.把代码上传到码云,并将关键代码和运行结果截图加水印(学号)上传。
  • 六、使用循环队列输出杨辉三角(本题目是选做题,总分1分,计入加分。)。
    (1)用数组实现循环队列(要考虑扩容问题,否则不加分);
    (2)输出杨辉三角;
    (3)代码运行结果添加学号水印,并上传;代码传到码云,附上码云链接。
  • 七、ASL测试
  • 八、线性表实践
    定义一个商品类Product,需要包括商品名称、价格等信息,使用链式存储结构实现一个线性表,存储商店中的商品。
    支持插入、删除、选择排序、查找等功能,并进行简单测试。
    需要使用的知识点:
    1.泛型
    2.实现Comparable接口中的方法
    3.链式存储结构
  • 九、哈夫曼编码测试
  • 十、AOE练习
  • 十一、Dijkstra(迪杰斯特拉)算法测试

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

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

今年老师上课的时候多时讲解各种算法的理解,对代码的讲述较少,但是不能不认真去听,也许你之前已经预习了,靠自己理解了一些算法内涵,但是老师上课时还会补充很多的内容,所以一定要听,之后老师布置的课堂实践才能很好的完成,不用自己再花很大精力自己去理解。

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

都挺好的,没啥建议,(#.#)。

课程收获与不足

  • 自己的收获(投入,效率,效果等)
    之前就说到这个学期的学习内容和上个学期真的很不一样,这个学期的内容更贴近《程序设计与数据结构》这个名字了,所以今年学到了很多新的算法结构,像是树、堆、链表、数组、列表和图。今年还好好完成了一个团队AS项目,看到一个成形的APP安装在自己的手机上,很是满意。

  • 自己需要改进的地方

    • 其实自己上个学期发现的一些问题,像是“自己要静下心来,对于不会的问题不要急躁,要想办法去解决它;
      要自己学会解决问题。要学会当遇到了问题想要找答案时,知道要去找些什么内容,要有自己解决问题的方式。”这样的问题还是存在,自己其实有意识去克服,但是还是很难去弥补,所以接下来的学习中要再接再厉。
    • 这个学期还在团队合作的过程中发现自己的协调组织能力还要继续加强,很多课外的事情其实占用了自己还挺多的时间的,要更好的协调自己的时间,用更多的时间来学习钻研。

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

  • 我觉得团队学习是有贯彻的,虽然这个学期的合作力度没有上个学期那么强,但我觉得这是课程内容改变引起的,所以还是贯彻的很好的。
  • 这个学期我和队友之间的批评更有针对性,大家更加熟悉后,就更加的直言不讳,所以也根据队友的意见改进了很多。
  • 我们这个学期的依旧合作愉快٩(๑❛ᴗ❛๑)۶,感谢队友。

问卷调查

  • 你平均每周投入到本课程有效学习时间有多少?
    • 这学期平均每周都有投入20小时的时间学习Java,主要是前期有个啦啦操的活动占用了那段时间的学习时间,而且我们这个学期课程学时也更长。
  • 每周的学习效率有提高吗?你是怎么衡量的?
    • 我觉得有提高也有降低的时候,主要靠每小时学习到内容和自己的注意力集中度来衡量的。
  • 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
    • 有。在班课上老师会给我们很多的资源,课堂测试、实践都在上面完成,很方便。
    • 资源还是挺多的,老师可以给出一些建议看看那些是一定需要去看的,这样更加节省时间。
    • 而且课程的PPT也可以提早一些给出,我觉得大部分同学都会是在理解的基础上,引用一些内容来写博客,不会照搬照抄,而且也可以制定抄袭PPT的相应措施。所以提早一些,可以让同学们更早预习,上课也更好看到讲述的内容。
  • 你觉得这门课老师应该继续做哪一件事情?
    • 继续布置课堂实践,嗯o(一︿一+)o,虽然这个对我来说也是很难的,但是有利于督促自己上课真的认真听,听懂。
  • 你觉得这门课老师应该停止做哪一件事情?
    • 没有觉得什么是需要停止的呢,嗯呐嗯呐。

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





posted @ 2018-12-23 16:16  qx2017  阅读(193)  评论(0编辑  收藏  举报
页尾