20182315 2018-2019-1《程序设计与数据结构》课程总结
学号 2018-2019-1《程序设计与数据结构》课程总结
(按顺序)每周作业链接汇总
-
第一周作业:学习Java第一章内容,初步了解Java。对Java的类,对象有了初步的认识,并对Linux的操作进行复习。
-
第二三周作业:学习Java课本第二章,第三章。学习Java操作的基础,对象实例化以及类的学习。
-
第四周学习总结:学习Java课本,理清了编写Java头文件的几个修饰词的用法。
-
第五周学习总结:这一周主要学习了继承关系,子类与父类之间的关系。同时学习了重写。重写主要为子类重写父类方法,根据自己的实际情况充实自己的类。
-
第六周学习总结:学习多态,至此封装继承多态已经全部学完了,同时学习了接口的用法,接口常用于写报错类,一次编写,多次引用。极大节约我们的时间。
-
第七周学习总结:开始学习数据结构,学习数据结构最基本的类型,栈。栈虽然很基础,但在却是日后学习更深层次数据结构的基础。这周将栈的基本用法自己实现出来了。
-
第八周学习总结:这周在大一C语言的基础上又学习了一些更硬核的排序方法,这些新学习的排序方法运算效率更高,更适合大型程序运算,简化运算时间。
-
第九周学习总结:这周学习了较为高级的数据结构,树,树的很多操作是要靠前面学习过的栈,队列来完成,这也让我在这周对前面的内容进行了系统的复习。
-
第十周学习总结:第十周学习了最难的数据结构,图。图得操作较前几种数据结构更多样,实现的方式更多,对基础的要求更严。
自认为写得最好一篇博客是?为什么?
最好的博客应该是第八周,该篇博客我引用了gif动态图,将我想表达的意思传递的更加准确,让观看者一目了然。同时编写这篇博客时我查阅了大量其他的博客,整合其他博客的知识内容以及结合自身的具体情况,我整理了这篇博客,获得博客加分。
作业中阅读量最高的一篇博客是?谈谈经验
阅读量最高的为哈弗曼树编写这一篇博客,访问量为35。我认为主要原因为:该篇博客涉及的知识点较难,我的博客提交时间较早,以及博客书写的思路清晰,逻辑严密,代码量多,引起了大家的注意。
(按顺序)实验报告链接汇总
-
实验一 Linux环境的配置:第一次接触命令行操作的操作系统,我明显不太适应,安装相应程序的过程中没出现了许多意想不到的错误,在同学以及学长学姐的帮助下,我才得以完成实验。
-
实验二 Linux上编写程序并进行调试:在Linux进行程序的编写,调试。需要记住Linux上的许多特殊命令行,这个过程需要反复练习。
-
实验三 IDEA的使用:实验三我接触到了一种更高效的Java编写环境。初次使用我就感觉到IDEA提供给我们的便利性。可以快速经行头文件的编写以及代码的调试。
-
实验四 学习socket网络服务器的搭建:这次试验是我感觉最难的一次,服务器的搭建涉及到许多尚未学过的知识,但这次实验过后,我培养出了强大的学习能力以及网络搜索知识的能力。
-
实验五 安卓的学习:实验五,我们又开始学习安卓的相关知识,应用新的软件Android,刚开始接触安卓的时候,我也感到很困惑,对基础的语法不甚了解,但在熟悉基础操作以后,对安卓的学习无比的感兴趣。
-
实验六 实现链表的相关操作:本次实验比较简单,参照课本代码,加以自己的理解就很容易得出答案。
-
实验七 实现各种硬核排序:本次实验我最大的收获是树立了最优求解的意识,了解了代码虽然可以实现共同的目标,但存在效率高低之分。
-
实验八 实现树的递归:该实验让实现了树最基本的操作,遍历。遍历分为三种,分别对应着不同的用法。比如运算后缀表达式,就要用中序遍历。这拓展了树的用法,拓宽了我的思路。
-
实验九 图的操作实现:本次实验难度较大,图操作的实现借助之前学习的其他数据结构。其他数据结构单独使用哪一种,多不算难,可如果结合到一起去,就产生了不小的难度。这个实验的实现,不仅需要理解其概念,还要求我们对其他数据结构熟练掌握
(按顺序)团队项目报告链接汇总
- 第一周:第一周博客描述了团队的风格和任务安排。
- 第二周:第二周博客是对app雏形的一个总体概述,并列出来相关的问题。
代码托管链接:
给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?
完成了二分之三的目标量,颇有感慨
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
在代码编写过程中,可能会为了某一报错头疼不已,但这时,最好的方法就是耐住性子按步调试,错误可能出现在循环条件等小地方上,一定要勤于调试,调试出真理,心急写不出好代码。代码编写过程中,要保持思路的连贯性,即使中途有事要终端代码的编写,也要加上伪代码写明思路。编写伪代码是我的另外一个重要收获。
积极主动敲代码做到没?教材实践上有什么经验教训?
敲代码勤奋的不得了。在教材代码理解上有一定困难,课本代码使用的方法可能过于高端,所以代码还是按照自己的思路编写最好,课本上的代码只可以作为参考而不能迷信。并且课本上代码也有可能存在错误,长期依赖课本代码无疑会降低自己的编程能力。
课堂实践对提高应用能力有帮助吗?
课堂实践最能检验大家的编程能力,一方面考验大家的听课能力;另一方面,规定时间,考验大家思维敏捷度和编写代码的效率降低课后抄袭的几率,可较真实的反应大家的能力。建议老师明年教Java多多采用课堂实践这种考核方式。
课堂实践上自己有什么经验教训?
在课堂实践上自己编写出的代码容易出现小错误,需要反复调试,浪费时间。这说明,在代码编写过程中,我还是不够仔细,出现了不应该有的小错误。
课堂实践上对老师有什么教学建议?
建议老师减少以选择题形式的考试,增加代码编写。选择题类的考试无法体现同学们的真实水平,终是纸上谈兵,只有编写代码的实战才能让同学们发现自己的不足,并使同学印象深刻,变秃变强。
课程收获与不足
这学期学习Java无疑是收获最大的一门课,学习了Linux,IDEA,Android,数据结构。从知识量的角度来说,无疑是充实的一门课,但我认为最主要的收获还是体现在自学能力上。通过查阅别人的博客,我解决了自己的疑惑,增强了我的动手能力,增强解决问题的能力,这才是让我一生受益的能力。
自己需要改进的地方
自己在代码编写的仔细程度上仍需努力,同时编写代码应该心平气和而不应带有情绪化,不应因代码出错而怒发冲冠,应平和的面对代码中出现的错误,而不是暴躁易怒。希望我今后可以直面困难,奥利给!
结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
学习还要靠自身,因为与且结对对象的时间存在冲突,所以对课程的学习,问题的解决还是靠自己搜索。如果有具体的困难,或代码出错自己解决不了,会向他人寻求帮助。
问卷调查
你平均每周投入到本课程有效学习时间有多少?
中间几周课程紧张时,确实投入了全部课余时间。一般阶段也会投入五分之四的课余时间才能按时完成实验和学习总结。
每周的学习效率有提高吗?你是怎么衡量的?
学习效率会提高,主要是因为存在压力,有时候你不逼自己一把,你都不知道自己能写这么多代码出来。
通过代码编写行数来衡量。
蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
有意义,蓝墨云上可以查看老师上课的ppt和学习资料,是一个靠谱的学习资料管理平台,前往蓝墨云,你可以获得Java的通关秘籍。
你觉得这门课老师应该继续做哪一件事情?
老师应该继续给我们施加压力,只有压力够大,我们才能迸发出足够的学习动力。
你觉得这门课老师应该停止做哪一件事情?
我认为学习总结以及实验报告的模板过于僵化,有时候没有出现那么多问题,却要自己刻意制造问题,因为问题空着不写会影响博客得分,这种时候让我很心累。
-
码云项目链接: 二维码
-
预备作业1: 二维码
-
实验一 Linux环境的配置:二维码
-
实验二 Linux上编写程序并进行调试 二维码:
-
实验三 IDEA的使用
-
实验四 学习socket网络服务器的搭建
-
实验五 安卓的学习
-
实验六 实现链表的相关操作
-
实验七 实现各种硬核排序
-
实验八 实现树的递归
-
实验九 图的操作实现
-
第一周作业
-
第二周作业
-
第三周作业
-
第四周作业
-
第五周作业
-
第六周作业
-
第七周作业
-
第八周作业
-
第九周作业
-
第十周作业