20172319 2018-3_2018-7《程序设计与数据结构》课程总结
20172319 2018.03.01-06.25
《Java程序设计教程》课程总结
目录
每周作业链接汇总
- 预备作业3:安装Linux操作系统,实验楼进行Linux命令的学习,记录过程中遇到的问题。
- 第1周学习总结:学习计算机系统和java相关的基础知识,配置好Git,为后续的学习做准备。
- 第2周学习总结:学习数据和表达式的基本知识,在交互式程序编写时应注意的地方——nextInt()、next()和nextLine()的不同。
- 第3周学习总结:学习对象创建及常见对象的使用。
- 第4周学习总结:学习对象创建及常见对象的使用、面向对象设计方法。
- 第5周学习总结:学习条件判断和循环语句及使用方法。
- 第6周学习总结:学习数组的使用方法。
- 第7周学习总结:学习类间的关系——继承,类间继承关系的设计。
- 第8周学习总结:学习多态的使用及设计。
- 第9周学习总结:学习异常及异常处理,递归思想及其应用。
- 第10周学习总结:学习集合与数据结构及其使用。
- 第11周学习总结:学习Android的基本知识及相关组件的使用。
最好&&阅读量最高的博客
自认为写得最好一篇博客
- 第九周学习总结:
- 1.教材内容总结较为细致;
- 2.教材及代码问题记录较为详细。
作业中阅读量最高的一篇博客
实验报告链接汇总
- 实验一《java开发环境的熟悉》: java开发环境的熟悉,运用 intellj IDEA调试运行以前项目。
- 实验二《Java面向对象程序设计》: 初步掌握单元测试和TDD,理解并掌握面向对象三要素:封装、继承、多态,初步掌握UML建模,熟悉S.O.L.I.D原则,了解设计模式。
- 实验三《敏捷开发与XP实践》: 代码规范,协调测试,内容重构,java密码学的学习。
- 实验四《Android程序设计》: Android Stuidio的安装测试、Activity测试、UI测试、布局测试、事件处理测试。
- 实验五《网络编程与安全》: Socket通信,栈堆的使用,java密码学的应用。
团队项目报告链接汇总
代码托管链接
- 从数量上看它是远远够了的,但实际上并没有那么多,极大多数代码都会加上注释,为了使代码尽可能能的美观,方法之间会空一行,再加上有时候一个}就占了一行代码量,这些都并不能称之为有效代码;扣除这些之后,它依然会比5000多,因此本学期的任务可以说是完成了的。
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得:
- 编程编程,就是要去编,去创造;这让刚接触java时的我陷入了迷茫:一点东西都没有的人,离开书本去完整地编写一段代码,这根本就是不可能的。随着学习的深入,也开始明白:学java的人那么多,不可能每个人都独立创造出一条路,虽然每个人的编程风格有所差异,但大多数都是殊途同归,因此,你可以去“抄代码”,但你要抄得有意义:你不能直接复制黏贴,这是万万不可取的,这一段代码严格来说并不是你写的,“抄代码”可以,但前提是要“抄”懂。所以,应该在看懂代码的前提下,以自己的风格(即理解)去编写出代码,这时候的代码才真正属于你。
- 良好的代码规范会给别人在阅读你的代码时一种美的感受,记得蓝墨云上我点开的第一个视频就是这么描述代码规范的:一接到任务,什么也不管,上去对着电脑就是咣咣乱敲,功能也基本实现了,但注释也不打,格式也混乱;几个月后,当你再看这个代码,蹦出的第一句话:哎哟我去,这谁敲的啊,真是糟糕。因此良好的代码规范是很有必要的,它不仅仅是让几个月后的你看得懂,更是让别人(比如你的结对伙伴)看得懂。
- 简洁的代码更符合编码的要求,明明可以一个for循环能解决的东西,你却偏偏要用if-else语句,这不是吃饱了撑的?当你写的代码呈现在别人面前,上面定义了数十个变量,然后一大半的作用基本没变,不仅让别人难以看懂你的代码,许多时候还会把自己搞蒙。
积极主动敲代码做到没?教材实践上有什么经验教训?
- 总的来说80%吧,前期时间充裕,不仅完成每周作业布置的,还会完成其余的;但后期明显有些懈怠,仅仅追求只是做完任务交卷就行了。
- 记得当时有一个需要用到NumberFormat类来编写的程序,许多人就仅仅局限本章的知识,但没想到NumberFormat,因此造成编不出来的情况;赵乾宸同学跳出这一章节,预习条件句,领先其他人编出了程序。因此,学习时要灵活,思维要跳出去,不能被某一知识点所拷牢,灵活地运用知识才更有益于编程。
返回目录
课堂项目实践
- 实践链接:
- 作业/小组任务 2018-389727:生成随机数及输出形式(二进制、十六进制)的练习。
- 作业/小组任务 2018-415266:简单的类的编写及测试。
- 编译运行PP7.4:类的编写及测试。
- 计算n!:for/while的练习。
- 作业/小组任务 2018-622612:命令行参数练习。
- 继承-练习:继承的练习。
- 排序:选择与插入排序的理解。
- IO操作及异常处理
- 递归
- 链表插入和删除
- 数据库操作实践
- Android课堂实践:开发程序、模拟栈操作。
- Android-中缀转后缀
- Android表达式计算
- Socket编程
课堂实践对提高应用能力有帮助吗?
- 有帮助,课堂上讲的东西能及时地应用,加深认识,也有利于掌握;实践的完成状况能很好体现一个人编程能力的强弱。
课堂实践上自己有什么经验教训?
- 对于上课所讲内容要认真去听, 对代码有疑问之处要及时弄懂,相关内容应根据需要自己去查找资料进行拓展补充。
课堂实践上对老师有什么教学建议?
- 保持现状,时间放宽。
课程收获与不足
自己的收获(投入,效率,效果等)
- 从投入上讲:这门课的投入是所有学科中最多的,一周7天几乎没断过
从效率上讲:感觉效率不是很高,在编程时候有时往往会因某些问题而陷入思索,导致在某些东西的编写中耗费的时间过多;
许多时候遇到的问题不能及时记录,往往在写博客时才想起,导致又得重现事故现场,极其花费时间。
从效果上讲:总归学到点东西,虽然有些时候老师并没有把需求讲得和清晰,给人一种云里雾里的感觉,但根据同学所实现后的效果及自己的摸索,也能把任务完成,但有时想使其趋于完美,耗费些时间也是值得的;总体上看对于java也是学有所得的。
自己需要改进的地方
- 碰到问题要及时记录,以免写博客时花费时间;
- 当有疑问时,应尽量将其剖析出来,化抽象为具体,这样也有利于针对性解决,而不是针对一些模糊的概念死死地思索。
结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
- 应该算是贯彻了,教导其如何写Junit测试内容,针对我代码运行时有一些情况不符合题目需求进行指正。
问卷调查
你平均每周投入到本课程有效学习时间有多少?
- 一周差不多28小时以上用来学java,博客至少花费6小时左右,敲代码22小时,差不多10小时是针对代码问题进行相关的检索查找,弄懂相关知识后才敲上代码,因此有效的时间是10-12小时。
每周的学习效率有提高吗?你是怎么衡量的?
- 前期刚接触,很多东西还不是很明白,因此花费了大量时间,学到后面发现其实很简单,因此前期来说效率较低;
中期接触一段时间了,也能很好地合上老师的步伐,代码实现速度较前期来说较快;
后期有些懈怠,比起前期来说效率高,但不如中期。 - 衡量标准:需求的难易程度及代码实现的速度。
蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
- 有,一些资源及视频的作用帮助还是很大的,比自己靠着模糊的概念去查找解决相关知识要好得多。
- 视频资源太多了,而且进度条不能拖,看不过来,建议更多的是类似CSDN博客式的资料。
你觉得这门课老师应该继续做哪一件事情?
- 让学生自主学习,每周的测验,课堂实训。
你觉得这门课老师应该停止做哪一件事情?
- 博客互评,感觉实在没有必要,说来说去都是那些东西,意义不大,增加博客排版负担。
你觉得这门课老师应该开始做什么新的事情?
- 保持现状就挺好的。
其他任意发挥
- 无。
返回目录
给出你的总结中涉及到的链接的二维码
每周作业:
-
预备作业3:
-
第1周学习总结:
-
第2周学习总结:
-
第3周学习总结:
-
第4周学习总结:
-
第5周学习总结:
-
第6周学习总结:
-
第7周学习总结:
-
第8周学习总结:
-
第9周学习总结:
-
第10周学习总结:
-
第11周学习总结:
实验报告:
-
实验一《java开发环境的熟悉》:
-
实验二 《Java面向对象程序设计》
-
实验三《敏捷开发与XP实践》
-
实验四 《Android程序设计》
-
实验五 《网络编程与安全》
团队项目:
-
第一周:
-
第二周:
-
第三周:
课堂实践:
- 作业/小组任务 2018-389727:
- 作业/小组任务 2018-415266:
- 编译运行PP7.4:
- 计算n!:
- 作业/小组任务 2018-622612:
- 继承-练习:
- 排序:
- IO操作及异常处理:
- 递归:
- 链表插入和删除:
- 数据库操作实践:
- Android课堂实践:
- Android-中缀转后缀:
- Android表达式计算:
- Socket编程: