1.总结三次做业之间的知识迭代关系:关于前三次做业之间的迭代关系,第一次做业主要是关于Java的最基础的练习,算法均可以直接再main函数里面实现,初步了解Java的一些基本的操做,输入输出,至于其它语句和C语言都是同样的。算法
第二次做业开始是关于日期方面的题目了,对于日期的相关操做都在一个类当中实现,只不过每一个功能写成了一个子函数,因此先后题目所须要的共同方法只能复制过来。编程
第三次做业也是关于日期方面的操做,算法都在第二次做业基本实现了,只是题目对于编程的思想有了要求,要求用不一样的类来实现每一个功能,而且还有分类与类之间的关系来实现;这三次做业按部就班,从咱们学C语言面向过程的思想引入到Java面向对象的思想,题目实现的功能虽然说同样,可是所用到的知识点却大有不一样。框架
2.如何经过做业逐步从面向过程过渡到面向对象:前三次做业就是逐步引入咱们到面向对象,学习了C语言以后这种面向过程的思想难以一下就改变过来,因此第一次做业就是面向过程的,我认为第一次做业就是先让咱们熟悉一下Java的一些基本操做,因此经过第一次做业熟悉基本操做以后,第二次的做业也不会过于陌生,经过第二次这一次过渡的环节:在一个类当中用子函数写好所要实现的功能;再而后是第三次就引入了面向对象的思想,跟着题目给的UML类图,写好每个类的功能以及类与类之间的关系,可以较好理解并完成第二题,第三题就是须要理解好每一个类的关系,就好比第三题当中的Year类,Month类,Day类,DateUtil类的关系,通俗的说就是一层包一层,Year类是最里面的一层,其次是Month类,Day类,再全收在DateUtil类当中算法第二题基本能够照搬,理解了第三题以后,第四题也就迎刃而解了,其实作完第三次做业第三题以后就体会到面向对象与面向过程的不一样。函数
3.做业过程当中遇到的问题及解决方法:在第一次做业当中除了一些基本算法以及小bug以外,主要是对Java的一些输入操做还不熟悉,后面百度了才知道要调用Scanner这个类进行输入,该类在JDk当中写好了,这在后面加深了我对类的调用的理解。学习
在第二次做业当中,第一题是一元二次方程,忘记考虑了二次项系数不为0的状况;第二题是在非法日期上面存在问题,就是闰年2月不大于29,平年2月大于28;第三题第四题仍是在于求下一天、下n天算法上面存在一些问题,就是少算了几天多算了几天,闰年平年的考虑,这方面的解决方法无需多提,就是考虑周全就好。测试
第三次做业主要问题集中在第三题,因为除了课堂做业外第一次作这种面向对象题目还有些生疏,主要问题在于类与类之间的关系没有整理好,调用方法以及返回值的问题,还有第二次做业的日期判断bug没有被测到,把算法搬过来以后在第三次做业第三题被测到。关于类与类之间的关系以及方法的调用问题是询问了同窗以后基本上理解了,就好比我不知道如何在第三题Month类,Day类当中调用year的方法,后面理解了是根据类之间的关系结构来调用,这要先理清关系才能作;改完从新写过日期判断的方法的算法后,因为求下n天前n天的时间复杂度太大,稍微改进了算法,原先用的for循环,后面改进用的while(){switch}以后就符合在题目要求的时间限度。编码
第四题没什么问题,而且很快就写完一次过了,问题都在第三题,解决了第三题的疑惑,第四题也就没什么问题了。spa
4.每次做业花费的时间比例:第一次做业作题目的时间前先后后花了5个小时左右,第二次做业也花费了5小时左右,第三次做业花费了10小时左右。设计
5.对编程过程的严谨性的认识及教训:对于编程的严谨在于敲代码以前构思好框架,对于一些特殊状况的考虑,就比如个人第三次做业主要修改程序的时间花在了日期判断上面,由于搬用以前第二次做业的这个日期判断的代码,第二次没被测出bug,致使后面作第三次做业花费大量时间寻找修改,虽然说是小bug,并不是硬核技术错误,可是确实花了最多时间去找去修改,真的是小错误浪费大时间,编程心态也受到影响,因此对于此次的教训是刻骨铭心,实现算法要先仔细地周全地考虑一些特殊状况。对象
1.面向过程与面向对象的比较:经过这三次做业,从面向过程过渡到了面向对象的思想,面向过程主要是在于考虑思考如何去实现这个算法,以过程为中心,更加侧重与算法实现方面的问题;面向对象在于考虑对象问题,把每一个对象分开考虑,考虑每一个对象所应有的属性和方法。
2.面向对象设计的基本原则理解:把每一个类分开考虑,考虑这个类应该是什么,具备什么属性方法,不须要考虑这个类以外的事情,作好份内之事便可。
3.OO编程思惟的理解:编程以前考虑应该能分红几个类,每一个类应该负责什么,每一个类所处的层次问题以及它们之间的关系。
1.测试对于编码质量的重要性:一次性写完没有语法错误的代码并不难,可是一次写出完美无bug的代码是比较难的。因此测试对于编程可谓是很是重要的环节,没有测试过的代码就像是没有净化的水,谁也不知道水里面藏着什么污垢。
2.假如让你设计测试用例,你会如何作:我设计测试用例首先是用普通用例,首先这是检查代码大体的正确性,其次再是考虑一些特殊状况,尽量全面地考虑全部特殊状况。
1.总结这四周来在OO方面的教训及收获:教训是对于每一个类里面的命名要规范正确,作第三次做业在命名方面的错误也居多,写完以后再修改工做量实在大。收获是对于OO编程思想有了更好的理解,从当初学习C语言的面向过程思想转变到了面向对象的思想。
1.课堂建议:建议课堂侧重一下讲解知识点与举例的比重,我的以为能够更加侧重于举例与实际操做;其次是课间10分钟时间能够安排一下,长时间听课效果不是很好。