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

学号:20182329 2018-2019-1《程序设计与数据结构》课程总结

  • (按顺序)每周作业链接汇总
    • 第一周作业:https://www.cnblogs.com/lyz182329/p/11509311.html
    • 简要内容:git代码托管代码,Java的基本编程,jdb代码调试.主要是linex的学习,它的一些基本命令和规则。
    • 第二、三周作业:https://www.cnblogs.com/lyz182329/p/11569786.html
    • 简要内容:条件语句和循环语句的使用,输入语句和输出语局应用,基本数据类型的转换和应用,各种类的使用方法,以及格式化输出的方法,基本的类的编写。
    • 第四周作业:https://www.cnblogs.com/lyz182329/p/11614215.html
    • 简要内容:学会使用单元测试进行测试代码。学会TDD代码测试。学会是使用编写类,用public、void等编写,调用类的方法进行运算。学习类与类的关系,继承,聚合,关联等等,来厘清关系。学习UML图,设定方法、类、数据。学会方法调用和包装方法的使用。学会类与类的继承,还有接口的选择。
    • 第五周作业:https://www.cnblogs.com/lyz182329/p/11632582.html
    • 简要内容:首先学习Java Socket的编程,后面实验45都要用到,来传递数据。学习凯撒密码的使用方法学习Java密码的DES算法和RSA算法还有HD算法编写简单计算器(有理数计算器)。使用试验1里面的方法和实验三代码,编写客户端,客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端A,A收到结果后输出结果学习类于类的抽象方法继承。
    • 第六周作业:https://www.cnblogs.com/lyz182329/p/11668904.html
    • 简要内容:学习处理异常的基本方法捕获异常,学习try-catch语句,还有finally的特点。异常传播现象和异常的层次。throw、throws语句和异常的免检、必检。IO异常,以及文件的输入输出。多态的运用,继承的多态。接口和多态接口的使用,还有接口的层次。建立两个目录A和B,模拟需要秘密通信的A、B双方,由于DH算法需要A和B各自生成DH公钥和私钥,因此在这两个目录下都拷贝编译后文件Key_DH。
    • 第七周作业:https://www.cnblogs.com/lyz182329/p/11749842.html
    • 简要内容:学习Android 应用程序的基本构成。下载Android Studio,用安卓打开项目,更改支持的库。理解活动的程序,明白清单、活动、java文件之间的关系。学习按钮的使用方法,以及按钮连接文件的方法,调节按钮的方法。
      UI组件的,UI工具的使用。Toast消息的编辑、发送。安卓布局的调整,Linear、Reiativel、Frame、Table、Grid监听器的编辑。栈的方法,栈的ADT,栈使用后缀表达式。
      用栈实现链,关于链的节点的插入、删除、排序。队列的ADT,以及队列的数组实现以及链的实现。队列的插入,以及队列防止假溢出的方法。安卓布局的调整,Linear、Reiativel、Frame、Table、Grid这些基本的布局,其实还有很多布局。
    • 第八周作业:https://www.cnblogs.com/lyz182329/p/11794076.html
    • 简要内容:用链表实现队列,以及队列的出入、删除、交换等等操作。用数组实现队列,同样实现上述操作。学习查找的ASL算法,对比出更加高效的算法,同时学会鉴别算法的稳定性。学会最简单的线性查找,以及二分法查找。学会在查找的基础上进行简单排排序,学会并实现选择排序。插入排序是将元素插入已有列表。学习冒泡排序,但是冒泡是一种算法非常复杂的。学习快速排序和归并排序。
    • 第九周作业:https://www.cnblogs.com/lyz182329/p/11876329.html
    • 简要内容:编写一个二叉树。创建NODE的ATD结构,以及Link的ATD结构以适应树的建立。学会使用树的先序遍历、中序遍历、后序遍历,来查找、后者是建立树。学习决策树的的定义和实现方法,可以参照完全二叉树的建立。用链定义一串字符,学会链的构成和查找学习顺序查找、二分法查找、差值查找,被学会在链或者数组的情况下实现。学习斐波那契数列的查找方法,也是二分查找的一种提升算法,通过运用黄金比例的概念在数列中选择查找点进行查找,提高查找效率。学习二叉树的排序方法,并运用二叉树查找。编写二叉树以收纳一组数据,可以运用中序遍历、前序遍历、后序遍历来进行查找。简单学习二叉树方面的红黑数。学习分块查找、哈希查找在链表上的实现方法。学习堆的定义和结构,并完成堆的实现,学会在堆立面进行查找、添加删除等操作
    • 第二周作业:https://www.cnblogs.com/lyz182329/p/11922407.html
    • 简要内容:实现二叉排序树,并学会编写删除、添加、插入,还有二叉排序树的遍历学习图的有关知识,了解有向图和无向图的区别,学习带权图,学会计算带权图的算法,最佳的算法。学习图的各种遍历,比如深度优先遍历和广度优先遍历。学习生成最小树的方法学会生成图的邻接矩阵的方法,还有计算每个节点的出度入度方法实现
  • 自认为写得最好一篇博客是?为什么?
  • 我认为我第九周学习总结写的最好。首先我在那一周将树的所有知识点学习完毕,从最基本的树的生成到数电遍历到排序、查找、删除、添加等等,完成一些列的知识点学习,而且将前面的各个知识点汇总到一块,将自己1的知识生成一个体系,在整个总结博客中,我王权总结了树的各个方面,建立树的时候,一定要规定好他的结构,说书是一个非线性结构,其元素组织是层次结构,在进行遍历的时候,一定得注意数的左右子树的关系,以及数的构建方法。斐波那契查找与折半查找很相似,他是根据斐波那契序列的特点对有序表进行分割的。他要求开始表中记录的个数为某个斐波那契数小1,及n=F(k)-1;
  • 作业中阅读量最高的一篇博客是?谈谈经验
    • 第六周学习总结是我阅读量最高的一片博客。首先我这篇博客交的比较早,可能会提供比较有借鉴意义的内容,其次我在这篇博客中提及了那周博客可能会有的作业比较常见的各种错误,以及解决方法。还有我对于Android的一些思考和方法,在学习Android 的过程中Android 让我一点也摸不到头脑,啥是活动、清单、界面,一个都不知道就都一股脑涌过来,后来从Android 书的一开始看,发现原来不是从24章开始,而是跟前面。慢慢的理解Android 各个部件的关系,也慢慢完成实验练习。
  • (按顺序)实验报告链接汇总
    • 实验一 实验名称:https://www.cnblogs.com/lyz182329/p/11524877.html
    • 简要内容:基于命令行和IDE进行简单的Java程序编辑、编译、运行;)
      练习Linux基本命令;
      学习Java程序的JDB调试技能:
      编写简单的Java程序。
    • 实验二 实验名称:https://www.cnblogs.com/lyz182329/p/11568893.html
    • 简要内容:编写简单的计算器,完成加减乘除模运算。
      要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
      编写测试代码,测试验证。首先预习课本第二第五章内容,学习Scanner输入方法,条件语句和循环语句,以及输出语句。
      在计算器编写上使用循环语句控制是否继续进行计算,条件语句判断循环条件,用switch区别运算符。
      编写测试代码时,保留原计算器的计算部分,将输入变量的部分放到测试的Java文件中,输入不同数值和运算符进行测试。
    • 实验三 实验名称:https://www.cnblogs.com/lyz182329/p/11613176.html
    • 简要内容:提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上要有画图加水印,输入自己的学号
      以 TDD的方式研究学习StringBuffer。提交你的单元测试用例和测试通过的截图,截图要加上学号水印
      对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
      以TDD的方式开发一个复数类Complex
      使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印,类图中只少两个类
      类,继承,接口实现,组合在UML中表达
    • 实验四 实验名称:https://www.cnblogs.com/lyz182329/p/11632686.html
    • 简要内容:首先学习Java Socket的编程,后面实验45都要用到,来传递数据。
      学习凯撒密码的使用方法
      学习Java密码的DES算法和RSA算法还有HD算法
      编写简单计算器(有理数计算器)。
      使用试验1里面的方法和实验三代码,编写客户端,客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端A,A收到结果后输出结果。
    • 实验五 实验名称:https://www.cnblogs.com/lyz182329/p/11723202.html
    • 简要内容:学习Android 应用程序的基本构成。
      下载Android Studio,用安卓打开项目,更改支持的库。
      理解活动的程序,明白清单、活动、java文件之间的关系。
      学习按钮的使用方法,以及按钮连接文件的方法,调节按钮的方法。
      UI组件的,UI工具的使用。
      Toast消息的编辑、发送。
      安卓布局的调整,Linear、Reiativel、Frame、Table、Grid
      监听器的编辑。
    • 实验六 实验名称:https://www.cnblogs.com/lyz182329/p/11768773.html
    • 简要内容:学习使用链表,构建链表,记下元素。
      在链的基础上,学会实现节点插入、删除、输出操作;
      学会使用链表的排序方法,比如:冒泡法、选择排序法。
      学会在Android 上构建活动去实现链。
    • 实验七 实验名称:https://www.cnblogs.com/lyz182329/p/11875451.html
    • 简要内容:用链定义一串字符,学会链的构成和查找
      学习顺序查找、二分法查找、差值查找,被学会在链或者数组的情况下实现。
      学习斐波那契数列的查找方法,也是二分查找的一种提升算法,通过运用黄金比例的概念在数列中选择查找点进行查找,提高查找效率。
      学习二叉树的排序方法,并运用二叉树查找。
      编写二叉树以收纳一组数据,可以运用中序遍历、前序遍历、后序遍历来进行查找。
      简单学习二叉树方面的红黑数。
      学习分块查找、哈希查找在链表上的实现方法。
    • 实验八 实验名称:https://www.cnblogs.com/lyz182329/p/11994388.html
    • 简要内容:实现二叉排序树,并学会编写删除、添加、插入,还有二叉排序树的遍历
      学习图的有关知识,了解有向图和无向图的区别,
      学习带权图,学会计算带权图的算法,最佳的算法。
      学习图的各种遍历,比如深度优先遍历和广度优先遍历。
      学习生成最小树的方法
      学会生成图的邻接矩阵的方法,还有计算每个节点的出度入度方法实现
      学会每个图的计算度的方法,还有不通过遍历进行的。
      完成有向图的单源最短路径求解(迪杰斯特拉算法)
  • (按顺序)团队项目报告链接汇总
    • 第一周:简要内容
    • 第二周:简要内容
  • 代码托管链接:
  • 给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?
  • 本学期老师首先给我们设置了20000行代码的标准
  • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
  • 积极主动敲代码做到没?教材实践上有什么经验教训?
  • 课堂项目实践
    • 参考2018-2019-1 《Java 程序设计》课堂实践项目
      • 课堂实践链接(没有的可以不列)
      • 实践名称:简要内容
    • 课堂实践对提高应用能力有帮助吗?
    • 课堂实践上自己有什么经验教训?
    • 课堂实践上对老师有什么教学建议?
  • 课程收获与不足
    • 自己的收获(投入,效率,效果等)
    • 自己需要改进的地方
    • 结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
  • 问卷调查
    • 你平均每周投入到本课程有效学习时间有多少?
    • 每周的学习效率有提高吗?你是怎么衡量的?
    • 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
    • 你觉得这门课老师应该继续做哪一件事情?
    • 你觉得这门课老师应该停止做哪一件事情?
  • 其他任意发挥
  • 出你的总结中涉及到的链接的二维码

猜你喜欢

转载自www.cnblogs.com/lyz182329/p/12116994.html