总结性Blog03:对于本学期java面向对象程序设计的总结
一、前言
对整门课程的Blog作业、PTA作业、实验、线上课程以及线下课程的工作量、难度等进行概要性总结。
实验:
难度中等偏上,工作量大。
在刚开始做简单的把大象装进冰箱里的时候,我就用了较长的时间,后续每一次都是如此,到第五次实验我debug的时候提交系统的时间都截止了。工作量大。难度中等偏上,在所有作业里面,实验的难度是逐级递增的,越往后面耗时越长,特别是将代码誊抄到实验提交系统里面的时候,我打字慢耗费了非常多的时间。但是我打字速度确实比以前有所增长,但是还没学会盲打,且打字的错误率非常高,经常需要使用删除键。
Bolg作业:
难度简单,工作量中等。
写blog的时候凑字数很难凑到3000,所以会在里面大量添加诸如分析类图,耦合度、复杂度之类的。这次blog是没有代码可以分析,纯文字总结就分析的比较久。
线上课程:
难度中等,工作量中等。
线上课程从假期的时候就可以开始听第一个了。我一般是吃饭的时候顺便把线上学堂在线开着,边吃饭边听。里面讲的所有内容除了正则表达式老师上课都会将一样的内容,相当于预习,没听懂的地方上课再听一遍也听懂了。所以难度较小,加之完成周期长,负担很小。
PTA作业
1.电梯运行+查找java程序里面的关键字
难度大,工作量大。
思来想去,我还是决定把PTA分成两个部分来进行总结。实在是这个两个部分难度差距过大。特别是电梯题目,让我想到了上学期学习c语言的时候搞不懂链表和指针的痛苦。感觉第一个问题是我的逻辑思维能力不够。第二个是题目并没有描述的特别清晰,然后老师还不提供那些能盘懂逻辑是测试样例。我理解老师想让我们多思考,但就像我说的,老师可以提供能看出思路的测试样例,而不是教我们怎么自己写测试样例(老师教了怎么写输出下一天的测试样例)。恕我直言,我们很清楚计算日期的逻辑,但是我们不明白老师原创题目的逻辑,一旦逻辑出错,后面很难对。
2.其他题目集
难度简单,工作量小。
剩下的题目基本上都是面向对象的题目,里面的逻辑很简单,就是使用接口、继承什么的。
线下课程
线下课程里面讲的东西大部分网课里面都有。翻转课堂我认为还是比较有意思的,可以看到同学们的巧思,内容也比较简单易懂。让我觉得最难的是当堂作业,因为我逻辑思维能力不强,当堂课学的东西我不能够马上投入使用,必须要到做PTA的时候我才会有那种,原来老师上课讲的这个东西是这么用的,这种感觉。所以当堂交作业让我觉得难,而且我也觉得这是纯浪费时间。因为对我来说,当堂写出来的东西很粗糙,写完了也没什么体悟,不如上课,然后通过课后习题巩固知识。
二、面向对象技术总结
结合各个教学环节(PTA作业,实验)重点总结个人对封装、继承、多态、抽象类、接口、集合框架、异常
以及JavaFX等相关内容掌握情况的总结,学到了什么,对各部分技术的认知,哪些技术掌握有欠缺等。
封装
将一些代码写在一个方法里面(或者其他类里面),在有需要的时候调用,可以避免代码出现大量同质化的内容。
继承、多态、抽象类、接口
这些我个人认为是在帮助你在写代码的过程中理清思路,因为我确实觉得写java比c更加思路清晰了。同时还可以提高代码的可维护性和复用率,一举多得。
集合框架
ArrayList是我认为java里面最好用的东西,在保留了数组的基本功能的同时,更加方便的查找,排序等,且<>里面的泛型也很大程度上避免了错误的发生,比c语言里面是数组和链表好用太多。
异常
这个老师没将太多,我也不太喜欢使用这个东西,一般不报错我都不会在代码里使用这个东西。总的来说,“异常”可以让你的程序结束的更加体面。
javafx
常用的控件、Lambda、事件驱动我都会使用。且Lambda比匿名内部类好用太多。
三、采坑心得
总结整门课程学习过程中走的弯路以及吸取的经验教训等。
- 坑点1: 题目要求阅读理解偏差
PTA的电梯题和后面几个实验是重灾区。看题目描述,感觉“哦,懂了懂了”,噼里啪啦一顿写。一运行测试样例就通过不了。再回头细抠题目,发现某个关键条件被自己完全忽略或者理解错了。
教训:- 反复读题
像做语文阅读理解一样,把每个条件、约束、输入输出格式都标出来。 - 脑补边界和极端情况
比如电梯:空载、连续同层请求......
- 反复读题
- 坑点2: 时间管理差与低估工作量
这个必须深刻检讨!Blog作业觉得“不就是写字嘛”,拖到截止前几天才动笔,发现凑3000字和分析各种图那么耗时。实验报告觉得“代码都写完了,抄一下很快”,结果被自己龟速打字狠狠打脸。PTA作业,特别是难题,总想着“再想想就能搞定”,结果陷入死循环,占用大量本该用于其他作业或复习的时间。就连这次的blog作业也是在最后一天11点多钟才写完。
后果: 熬夜、焦虑、提交质量下降(比如实验报告草草了事)、甚至错过截止时间(第五次实验debug到提交关闭的痛!)。
改进:- 利用零碎时间: 像听网课那样,Blog的构思、实验报告的某些描述性文字,可以在通勤、排队时用手机备忘录打草稿。
- 提前做完: 不要每次都拖到截至时间才交作业。给自己定比截止日期早1-2天的“个人截止日”。给突发状况留出缓冲。
- 坑点3: 忽视注释
写代码时,觉得自己逻辑清晰无比,睡一觉起来后再看自己写的某个复杂方法,完全搞不懂昨天的自己在想什么。特别是在调试或者撰写实验报告时,悔不当初。
教训:- 实验报告中的设计说明部分: 其实在编码前或编码过程中写更好,能理清思路,避免报告阶段对着代码“倒推”设计,痛苦且可能不准确。
- 理清类之间的关系
我经常写代码拿起键盘就敲,对于pta里面的部分简单题目,这样也不太影响,可是这次javafx的作业,我发现类特别的,而且我用文本输入框之类的控件导入一个新的订单的时候,因为类之间全部是用在Main类里面设置参数,然后在构造方法导入的方法,导致我一开始的时候填写下一个订单信息会影响到前面的数据,修改起来花费了大量时间和精力。因为这个问题实在是非常不好改。情愿一开始多画一点时间。
四、总结
对整门课程的综合性总结。
学的好的地方就在于我期中考试拿了满分(虽然三分之一的人都拿了)。且除了电梯有部分测试点未通过,实验五超过提交时间bug还没有改完之外,其余作业都在规定时间内按时完成。
总的来说,我认为我这门课学的还行,但是学的不是很深入,并且我没有深度思考的习惯,因为我特别喜欢压ddl,到了做东西的时候往往没有时间静下心来想为什么这么做,而是做完了就万事大吉,这是我认为我做的不够的地方。
五、改进建议
对教师、课程、作业、实验、课上及课下组织方式等方面的改进建议及意见。
1.提供能盘懂逻辑是测试样例
题目并没有描述的特别清晰,然后老师还不提供那些能盘懂逻辑是测试样例。我理解老师想让我们多思考,所以老师可以提供能看出思路的测试样例,而不是教我们怎么自己写测试样例(老师教了怎么写输出下一天的测试样例)。我们很清楚计算日期的逻辑,但是我们不明白老师原创题目的逻辑,一旦逻辑出错,后面很难对。
2.老师应对学生的作业进行及时的反馈
现在已经是期末周了,但是目前为止,上交的所有实验报告、实验、blog都没有评分和评语(也可能是老师做了但是学生不知道)。我认为学习应该是要有及时反馈的,比如说我这次的实验提交到系统里面的代码有哪里没有规范或者我自己都没发现的错误,实验报告撰写的哪里不完善,这些老师都应该及时给予学生反馈,包括上学期c语言写的实验报告也都没有评语和评分的反馈。
综上,我认为老师应该在作业完成的一到两周内给予学生评语和评分的反馈,特别是评语。

浙公网安备 33010602011771号