20172329 2017-2018-2《程序设计与数据结构》课程总结
作者:lalalouye(20172329王文彬)
2017-2018年大一Java程序设计课程总目录:第一周 第二周 第三周 第四周 第五周 第六周 第七周 第八周 第九周 第十周 第十一周 实验一 实验二 实验三 实验四 实验五
20172329 2017-2018-2《程序设计与数据结构》课程总结:
还有一周就要结束这个学期对于Java的学习了,Java是我接触到的第一个计算机语言,它让我对于计算机的兴趣又增加了不少,在前不久,在C语言教材的开头的部分,介绍了C语言在当今世界的位置,但是其中有这样一句话,让我发现了一点神奇的东西,就是“C语言在当今计算机语言总是排在前三,甚至前二的地位,可见C语言之重要。”他在后面还有这样一副插图,显而易见,Java语言的普及程度超出这些编程语言不止一点,因此也是让我对于C语言感到了一分兴趣。这个学期,学习了很多自己在小时候就想学到的东西,希望我们自己可以不要忘记这些东西,因为从学习长笛了过程中,我就发现这样一个事实,当我们掌握一个新知识的时候,就应该一直坚持学习下去,忘记,即使对自己学习的不尊重,也是对于自己学习的不负责。
每周作业链接汇总
- 第一周总结
- 学习了在Linux操作系统下进行代码编写,学习使用Vim编辑器,可以编写一些小程序,开启了我编码道路。
- 第二周总结
- 可以编写一些程序进行数据的处理,可以初步的实现人机交互,认识了字符串和一些字符串之间的拼接方式,在学习变量的时候学会了编写一些可计算的程序,为今后的编程打下基础。
- 第三周总结
- 学习了一些数学算法,可以进行乘方和开方的运算,了解了随机数的创造以及电话号码的产生,学习了格式化输出。
- 第四周总结
- 学习了如何编写类,了解类的构成与用途,理解了各个数据的不同和其各自特点,学习了很多新的语句和方法,了解了静态变量和静态的方法,类与类之间的关系和关联性,相比于之前实例数据的引用增添了“this”语句的引用,学习了如何在编写类中加上接口,并且学习了几个接口如何运用,知道了编写程序所需要的几个步骤。
- 第五周总结
- 条件语句、循环语句、数据比较、迭代器。
- 第六周总结
- 数组元素、声明和使用数组、对象数组。
- 第七周总结
- 学习了继承,子类与父类的关系,如何重写方法,抽象类的使用。
- 第八周总结
- 多态类的学习,利用多态进行对于字符的排序,两种排序法的学习,选择排序法和插入排序法,两种搜索方式,线性搜索,二分搜索。
- 第九周总结
- 学习了捕获异常,如何解决异常,IO流的学习,懂得了如何把字符可以写进文件,学习了递归,了解递归思想和递归编程。
- 第十周总结
- 集合与数据结构,集合的同构与异构、分离接口与实现、数据结构的动态表示、线性数据结构、非线性结构、Java 集合类的学习。
- 第十一周总结
- Android应用程序的开发和代码编写的学习,了解了app是如何写出来的。
THE BEST AND THE MOST
自认为写得最好一篇博客是?为什么?
- 其实写了这么一学期的博客,发现自己从什么都不会到现在会一点点的这个阶段也是一段一开始并没有什么紧张意识,每天就像完成任务一样重复着这个过程,说实话,自己这学期一开始的博客质量真的不高,或许可能因为第一次接触这门课程,再加上这门课与众不同的作业与考核方式,一开始学习起来真的是有压力的,再加上一开始的懒惰,并没有太过注重Java这门课程的学习。既然要选出一篇自我感觉最好的博客,我觉得应该是这一篇:20172329 2017-2018-2 《程序设计与数据结构》实验四报告。
- 因为这是我第一次仔仔细细自己一个人做的实验,很多别人遇到的没遇到的问题我都差不多解决过,也是从这次试验开始,我突然发现Java太有趣的,感觉什么都可以做出来,因为之前都感觉自己什么都不会,到现在还可以偶尔帮助别人解决一下他们的困难,我觉得这样一个过程无论是谁,都会感觉到对自己骄傲。这个博客是一次实验博客,我觉得我很清楚的说明了从一开始安装到最后运行成功的所以过程,也提及了很多会遇到的问题以及问题的解决方法,所以我觉得这篇博客是我觉得最棒的。
作业中阅读量最高的一篇博客是?谈谈经验
- 目前为止,我的作业中阅读量最多的是:20172329 2017-2018-2 《程序设计与数据结构》第六周学习总结.
阅读量竟然达到了87次,我自己都感觉到惊讶。 - 从有时候我看别人博客的经验来讲,一般次数很多的博客都是因为可能这篇博客里解决了一个很多人都遇到的问题,而且这个问题可能我刚好写到了,因为我写的这篇博客自我认为其实并没有什么特别可圈可点的地方,所以自我认为可能是因为很多人抱着解决问题的心态来看的我这一篇博客,所以才会有这么多的阅读量。
实验报告链接汇总
- 实验一报告
- 安装学习了IDEA;从码云上克隆了代码到IDEA并且对于之前的错误进行了修改;学习如何从idea将代码上传到码云。
- 实验二报告
- 初步掌握单元测试和TDD;理解并掌握面向对象三要素:封装、继承、多态;初步掌握UML建模;熟悉S.O.L.I.D原则;了解设计模式;
- 实验三报告
- 代码规范;协同测试;重构;密码学应用
- 实验四报告
- Android Stuidio的安装测试;Activity测试;UI测试;布局测试;事件处理测试
- 实验五报告
- 学习了客户端和服务器如何进行无限传输,然后可以准确的将密码学和之前学习的知识联系起来,进行代码编写。
- 结对编程项目(四则运算):
代码托管链接:码云链接:20172329王文彬
statistic.sh的运行结果:
这个是虚拟机和idea两方的代码量截图
- 首先,我先来说一下为什么idea有这么多呢。
请看我的idea的目录:
因为为了保存并且查看方便,我进行了备份以及我进行了很多对于自己新编的类的测试,其实idea上的有很大一部分是无效的代码,虚拟机上的才是这学期我真正有效的代码量,7800行,达到了这学期5000行的预备标准,而且我刚刚看了看之前写的代码和现在自己写的代码,不仅仅是代码质量的提高,涉及自己代码意识,代码思想的提高,我觉得这个才是我真正收获到的最多的东西。
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
- 当我通篇读完这篇文章之后,我发现了两个问题,我想说的并不是这篇文章提及的问题,而是首先,我发现博主非常喜欢拿条件和循环语句做例子,当然这一部分的确是很多人出错率极高的地方,具体我们一会儿再具体来讲,第二点,我觉得博主肯定是一个厉害,并且自我认识很高的人,因为或许是我的眼界还不够广,他/她是我看了这么多博主主动把付款写在博客里的大神,我当时想,为什么会弄这样一个东西,博客,文章很多就是记录自己的想法分享给别人看的,我觉得别人看我的博客次数越多,我觉得我所写的内容就越有价值,虽然我没有见过甚至不了解这位博主,但是从这篇文章的一些语句中就可以看出,这个人不一般。
- 我现在来说说读完这篇文章以后,我对于题目中所问的,“加点代码,改点代码是理解最好的方式。”首先我并不否认这个观点,的确,我们把一个自己觉得很好的代码能够做到后期添加或者修改代码,我觉得这个代码对于我肯定是非常熟悉了,所以文章所谈及的“加点代码,改点代码”我个人来讲,我觉得它不是理解的最好方式,而是为新的灵感的产生提供平台的一个过程。就之前提及的话题,我想具体谈谈我读了整篇文章的感觉,第一,我觉得我感觉像是看了一篇讲解条件语句和循环语句如何写才变得美观这样一篇文章,是的,一个代码最好的目标的确是既能让自己看懂,也能让别人读懂,但是,我们大家都得清楚一个问题,我觉得代码是面向全体程序员的,包括像我这种刚刚买入编写代码大门的这样的变成小白,文章告诉我们不建议写注释,我们小白本身需要联系编码中的所有步骤,但是这一篇文章否定了很多我们一直沿用的方法,在我看来,这样一篇文章,其实应该是给那些高端程序员看,或者等我们再成长一些,对于所有语言都近乎达到精通的时候,我觉得我看这样一篇文章一定会受益匪浅。
积极主动敲代码做到没?教材实践上有什么经验教训?
- 我觉得我做到了。因为我在很早的博客里就提到抄袭代码这一行为的利和弊,的确,看别人的代码会让我们在编写代码上面增长很是迅速,但是我所希望的大家抄代码的时候首先搞懂别人的代码,在最近的实验五当中,其实我发现很多人都是看到别人这里实现了,先不管三七二十一,那复制粘贴过来,完成任务,想的并不是自己能够学到多少,而是学完,完成任务就可以去玩了。我觉得我从一个小白到现在这个阶段,其实现在也很垃圾,但是我觉得我自己是学到东西的,让我做一个基础的程序,或者捎带复杂的程序查一查API,查一查百度其实都是可以实现的,甚至,我觉得敲代码或者就是敲博客带给我最大一个技能就是,自己打字速度提高了,虽然还是没有班里很多码字大神快,但是我觉得肯定比这学期刚刚开始的时候快,勤于练习感觉是非常重要的。
- 最后我想特别强调一个问题,API真的非常有用,特别有用,希望我自己以及看了这篇博客的同僚们,能够利用起这个工具,走向人生巅峰!!!!!
课堂项目实践
- 课堂实践对提高应用能力有帮助吗?
- 对我个人而言,我觉得有一定帮助,因为它可以让我复习和巩固这一堂课学习的知识,通过编码的方式进行对于自我的检验和再次学习。 - 课堂实践上自己有什么经验教训?
- 一定要好好听课,不能发呆或者干其他事情,有重点来不及记录就一定要先拿手机拍下来,后期进行理解和复习,有时候课堂实践的内容其实很简单,但是假如不听课,真的什么都不会。 - 课堂实践上对老师有什么教学建议?
- 我建议老师可以分层次布置作业,按能力分配课堂上所要完成的任务,避免成绩好的人早早做完没事干,学习差的人又久久不能做出来,带最后又发生抄袭代码甚至抄袭截图的情况。
课程收获与不足
自己的收获
- 课程收获,我觉得通过Java,我觉得我找到了很多学习知识的途径,我觉得这个应该是我在课程里面收获最多的地方。
- 我觉得这学期我投入Java学习的时间是非常多的,首先是因为上学期学姐已经告诉我们,Java是我们的核心课,需要投入时间和耐心进行学习,况且还是我们的班主任教我们,所以自然肯定要好好学习。
- 由于这门课的计分方式不同其他科目,是累计分制,因此,我需要做好每一次作业,每一次实验才能取得高分,每一个学生其实都想拿第一,但是争第一是真的累。
- Java这门课程,是我上大学第一个接触的计算机语言的课程,对于我这种小白来讲,还是有一定难度的,我也是投入了相当多的时间才逐渐找到自己学习感觉。
自己需要改进的地方
- 不足,有很多,比如对很多知识点掌握的确不清楚,这就再次证明了我这学期花在实践里的时间比看理论的时间更长,我相比与写每次作业的教材问题总结,更愿意写实践的时候遇到的困难,我还是打算放假以后,继续好好研读一下课本我没有掌握以及自己没有学的知识,因为多学一点总是有好处的。
结对学习是不是真正贯彻了?
- 结对编程我们小组贯彻的并不是很到位,总是各干各的,并没有太多的交流,最后导致的结果就是使得我们小组在最后汇总的时候总是联系不起来,最后只能重新进行编写,整理,花费了大量的时间和精力。
- 接受帮助最大的应该就是别人写的博客了吧,因为在我们自己没有思路的时候,很多时候都是靠别人的思路找到自己的思路才能让这个项目顺利的走下去。
问卷调查
- 你平均每周投入到本课程有效学习时间有多少?
- 每周平均每天可能由3个小时,一周差不多保持在18个小时左右的时间进行学习。 - 每周的学习效率有提高吗?你是怎么衡量的?
- 学习效率是逐渐增高的,因为一开始学习Java很是抓瞎,无从下手,学习效率就会很低,逐渐找到学习这门课程的感觉以后,觉得学习效率日益提升。 - 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
- 对于我的学习是有促进的,因为我可以和老师同学们进行互动,遇到自己真的解决不了的问题可以问老师同学和学长。我建议取消经验加分这一条件,刷经验现象太严重啦!!结局就是不公平。 - 你觉得这门课老师应该继续做哪一件事情?
- 继续考试,可以多多布置实验任务,加强编码能力。 - 你觉得这门课老师应该停止做哪一件事情?
- 我觉得没有。 - 你觉得这门课老师应该开始做什么新的事情?
- 上课能够讲再细致一点,因为有时候没有完全听懂。
任意发挥
希望自己可以继续找到学习Java以及计算机编程的乐趣。加油!
总结中涉及到的链接的二维码
预备作业
预备作业一
预备作业二
预备作业三
课程总结
第一周
第二周
第三周
第四周
第五周
第六周
第七周
第八周
第九周
第十周
第十一周
实验报告
实验一
实验二
实验三
实验四
实验五
结对编程练习
结对编程一
结对编程二
结对编程三