OO第三阶段PTA作业总结及课程总结

OO第三阶段PTA作业总结及课程总结

0.前言

本次博客针对的是PTA第三阶段的作业,这次作业相比于前两阶段来讲题量减少了,所以难度、思维要求也更高。这次作业都没有事先为我们准备好类图的设计,所以每次开始编写代码之前都需要自己进行类的设计,尽量的符合上课时讲的类设计的一系列要求。除了对本次作业的日常总结外,面向对象程序设计课程也已经结课,所以会对oo课程做一些总结。

作业题目概览:

 

 

 

 

1.作业过程总结

1、三次作业之间的知识迭代关系

这三次作业都侧重于类的设计,这是在之前阶段每次都给出类图设计后继续增加一些难度,让我们自己对类进行设计;第一次作业是以老师在课堂上讲解的例题为背景,在那基础上再对这个雨刷系统进行扩展,重新设计类,使其结构更加满足对扩展开放的设计要求;第二次和第三作业则是新背景与新要求,要我们自己完全去设计类及自学一部分内容然后将这些问题解决。难度还是和往常一样循环渐进。

 

②作业过程中遇到的问题及解决方法

第二次作业:7-1统计Java程序中关键词的出现次数

遇到的问题:测试点中有两个一直不能通过:[]以及,分隔测试点、一个正常测试

解决办法:暂未找到解决办法,自己也测试了大量的数据,结果都是对的,不知道是在哪里疏忽了。后续会对这个程序再次进行测试,也可去问通过全部测试点的同学。

 

第1次作业:7-2表达式求值

遇到的问题:含有0开头数据测试点过不去;正常表达式求值测试大部分测试点不能通过

解决办法:含有0开头数据测试点是因为我理解错了题目的意思,这种含有0开头的数据(例如001)不算输入非法,而是需要将其修改为正常数据(比如将001修改为1),这里还需要注意单独存在的0不能在此处理过程中被消去;正常表达式测试点大部分过不去我的第一反应便是算法设计的问题,后来经过查阅资料才知道自己在对运算符进行出栈时顺序出错了,再次对栈运算进行修改就行。

 

③每次作业花费的时间比例

这一阶段的第一次作业花费的时间是在这三次作业中花费的时间最少的,因为老师在上课时已经对这一题目有了一定的讲解,所以较快地完成了此题;大概花了一天的时间。

第二次作业花费的时间较长,主要是因为那两个测试点一直过不去,所以一直在花时间在处理这两个点上,但是最后还是无法顺利通过;一共大概花了2天时间。

第三次作业是这一阶段最难的题目了,主要是需要去自学栈的相关知识,利用栈的特性将表达式改为后缀表达式,并且在对输入数据的校验中也集中考察了前面所学的正则表达式的应用,难度确实相比前两次更大的多;一共大概花了2天半时间。

综合这三次作业花费时间的比例为:2:4:5

④对编程过程的严谨性的认识及教训

 编程的严谨性在前几阶段的作业中已经深刻的认识到了它的重要性,我们在编程必须对你编写的代码和自己后续要实现的功能进行反复的推敲,这样才能顺利的实现功能。

 

2、面向对象编程及类设计理解

面向对象、就是面对现实;现实中的一切都是对象,他们都可分类便形成了类;他们有不同,类和类之间的不同,使用类来划分;同一个类中不同对象的区别,使用类成员来划分;所以面向对象的内部核心便是分类。把问题从大到小都抽象成对象,在设计和编写你的程序时把你设计的对象合理的组合排列便是面向对象编程。

 

3.测试的理解

①测试对于编码质量的重要性

测试数据对一个程序的检验是十分重要的,就拿第二次作业来讲,就是因为不知道随给测试数据到底是什么,到底在测试哪一部分外加上我自己也不知道哪里疏忽才会导致这两个测试点不能通过,一个好的程序是能够经得起不同的、大量的数据来检验的,只要有数据不能正常通过你的程序,那这个程序就是有漏洞的,就是不成功的。

  

4.课程收获与总结

经过一个学期对面向对象编程的学习,让我对java这门编程语言产生了一定的兴趣,java的面向对象编程思想实在是太强大了,可以说这一个学期内自己学到了不少,但这相对于java庞大的知识体系来讲肯定是九牛一毛,如果自己后续想要往Java发展的话还必须去深入学习。在这一学期的学习过程中可以说是充满痛苦的,但是一路走来也收获满满,我觉得最大的收获便是初步了解了面向对象编程的思维,这些思维也在一定程度上极大的训练我思考、解决问题的能力;最后,期待后续对java的再次相遇~

 

5.对课程的建议

 

①课程内容讲解方面的建议

软件工程相对于计算机专业来讲偏重于应用,所以对相关概念介绍的比较少,需要我们自己去查阅学习,希望老师在平时上课时能够多对一些概念进行简单的讲解;每次的实验和课后作业如果能够出一份答案或者开一个讨论会更好,这样可以在同学之间相互学习,提高自己的编程能力。

 
 
posted @ 2020-06-07 11:14  搬砖程序员  阅读(207)  评论(0)    收藏  举报