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

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

     FROM->>TO: How are you?

    2019年9月4日-2019年12月31日-->From start to end

本学期的程序数据和数据结构课程到这里就告一段落了,接下来就让我们一同回顾这学期的点点滴滴。

每周作业链接汇总

  • 第一周作业
    • 第一次学习了Linux操作系统,Java程序的基本结构还有程序开发的步骤过程及注意事项
  • 第二周作业
    • java中基本数据类型和其转换,如何使用表达式,以及读入用户输入的方法。
  • 第三周作业
    • 类的概念及用法,使用类与对象来进行各种复杂操作,还有枚举这一特殊类型。
  • 第四周作业
    • 第一次在idea上进行操作和编写代码,对类和对象进行了更深入的了解,还学习了方法的设计重载。
  • 第五周作业
    • 学习了java中的继承,还有函数的构建,类层次结构的具体介绍,方法的重写。
  • 第六周作业
    • 学习了第九章和第十章的有关内容,即多态和异常,主要内容包括多态后邦定,继承实现多态,接口,异常处理,try-catch语句,异常传播异常类的层次,I/O异常。
  • 第七周作业
    • 学习了第12章、第14章和第15章的有关内容,主要内容为算法分析,集合以及用于实现集合的基本数据结构,特殊集合-栈的定义和相关操作,队列的处理过程以及实现。
  • 第八周作业
    • 学习了查找与排序,查找主要包括线性查找、二分查找、哈希表查找等查找算法,排序主要包括冒泡排序、快速排序、归并排序等排序算法。
  • 第九周作业
    • 主要学习了树和二叉树的实现,具体内容为树的四种遍历方法:先序遍历、中序遍历、后序遍历、层序遍历还有二叉树添加、查找、插入、删除元素的算法以及维护平衡二叉查找树的算法。
  • 第十周作业
    • 图的概念:图是由非空的顶点集合和一个描述顶点之间关系的集合组成

      图的种类:无向图、有向图、无向树、有向树

      图的算法:广度优先遍历、深度优先遍历、最小生成树

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

  • 第十周作业
    • 原因:积累了一学期的经验写出来的博客,技术比以往要娴熟的多,不仅排版比以前要整齐,内容也比以前要充实。

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

  • 第六周作业
    • 经验:可能是因为这篇博客交的比较早,所以看得人比较多,也没啥经验,作业交的越早越好吧。

实验报告链接汇总

  • 实验一 Linux基础编辑
    • 简要内容:

      基于命令行和IDE进行简单的Java程序编辑、编译、运行和调试。

      练习Linux基本命令;

      学习Java程序的JDB调试技能

      编写简单的Java程序。

  • 实验二 编写简单的计算器
    • 简要内容:

      (1) 编写简单的计算器,完成加减乘除模运算。

      (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。

      (3) 编写测试代码,测试验证。

  • 实验三 初步掌握IDEA的使用
    • 简要内容:

      (1) 初步掌握单元测试和TDD。

      (2) 理解并掌握面向对象三要素:封装、继承、多态。

      (3) 初步掌握UML建模。

  • 实验四 结对编程实践
    • 简要内容:

      (1) Java Socket编程

      (2) Java和密码学

      (3) 结对编写有理数/复数计算器

      (4) 结对编写远程有理数/复数计算器


  • 实验六 链表练习
    • 简要内容:

      1、线性结构之链表及数组。基础链表建立。

      2、实现节点插入、删除、输出操作。

      3、使用选择排序法根据对链表进行排序。

      4、在Android上实现上述实验。

  • 实验七 查找排序实践
    • 简要内容:

      1、定义一个Searching和Sorting类。

      2、重构你的代码,把Sorting.java Searching.java放入cn.edu.besti.cs1823.(姓名首字母+四位学号) 包中。

      3、学习各种查找算法并在Searching中补充查找算法并测试。

      4、编写Android程序对实现各种查找与排序算法进行测试。

  • 实验八 二叉树实践
    • 简要内容:

      1、实现二叉树。

      2、中序先序序列构造二叉树。

      3、设计并实现一颗决策树。

      4、使用树将中缀表达式转换为后缀表达式。

  • 实验九 图实践
    • 简要内容:

      1、初始化无向图和有向图

      2、完成有向图和无向图的遍历

      3、完成有向图的拓扑排序,并输出拓扑排序序列

      4、完成无向图的最小生成树

      5、完成有向图的单源最短路径求解

团队项目报告链接汇总

代码托管链接

A: 说明本学期的代码量目标达到没有?

  • 勉强及格吧。。。

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

Q : 编程跟高中学习一样没什么捷径,只有先预习课本,打好扎实的相关知识基础,然后一点一点的耐心敲,遇到卡壳情况,静下心来琢磨下一步怎么敲,若实在是无法解决,可以上网查询或找他人求助,总之,只要肯尝试一切办法,问题总能解决的。

java经常会让人无从下手,遇到这种情况,先从基础的,比较容易的部分入手,才可能更好的去解决更难的问题。


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

Q1: 这学期的代码我没有积极主动地敲代码,基本是在作业的催促下才开始敲,很多代码都是直接模仿的教材上的。

Q2: 不能盲目的照搬课本上的代码,很多实践代码与课本上的代码都大相径庭,正确的做法是踏踏实实把课本上的相关知识学完,再通过学到的基础知识自己去编写代码。

课堂项目实践

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

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

Q : 对我来说有很大的帮助,课堂实践能及时地对课上学习的内容进行检验,具有很强的及时性和反应性。


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

Q : 我本身学的就比较慢,很多时候在课上做半天也做不出来,最后是请教的其它同学。为什么别人能够独立完成而我却不能?

这说明我在课上还是有些纰漏的,有些地方没有认真听讲,还是希望我以后能提高课堂效率,争取最大的课堂学习成果。


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

Q : 我觉得老师上课前准备的很充分,课堂ppt也做得很好,讲的也很认真,还经常顾及到我们第一遍可能没有听懂,再重新给我们讲一遍,说明老师非常敬业。

课程收获与不足

A: 自己的收获&自己需要改进的地方

收获: 这学期学到的东西太多,我可能还得花大量时间去消化,java果然和C语言大不一样,内容的确相当充实,学习了海量的java基础知识,还见识到了Linux系统和IDEA的两大编程平台,总之,收获颇丰。

改进: 上课的时候要更加专注,看课本的时候要更加仔细,实践的时候要更加独立。

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

Q : 我个人没有很好的贯彻,我和结对伙伴很少一起组队学习,做实践作业基本都是单独完成,但是遇到独自不能解决的问题的时候。还是会相互请教的,在课上的讨论时间也会交流学习。

问卷调查

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

Q : 一天之内的学习时间不确定,每周大概25小时左右。

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

Q : 有提高,通过我敲代码的速度来衡量的,事实证明,的确比以前快了一些。

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

Q : 有促进,建议方面只是希望上传作业截图的时候能快一点。

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

Q : 老师请继续保持尽职尽责的精神即可。

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

Q : 再给同学们多一些答疑的机会,让我们更多的占有负责的助教们。

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

  • 码云项目链接:

  • 预备作业1:

  • 预备作业2:

  • 第一周作业:

  • 第二、三周作业:

  • 第四周作业:

  • 第五周作业:

  • 第六周作业:

  • 第七周作业:

  • 第八周作业:

  • 第九周作业:

  • 第十周作业:

  • 实验一 :

  • 实验二 :

  • 实验三 :

  • 实验四 :

  • 实验五 :

  • 实验六 :

  • 实验七 :

  • 实验八 :

  • 实验九 :

  • 团队作业一:

  • 团队作业二:

posted @ 2019-12-29 23:35  20182328张景昊  阅读(240)  评论(0编辑  收藏  举报