20172303 2017-2018-2《程序设计与数据结构》课程总结

20172303 2017-2018-2《程序设计与数据结构》课程总结

  • 课程:《程序设计与数据结构》
  • 班级: 1723
  • 姓名: 范雯琪
  • 学号:20172303
  • 教师:王志强
  • 助教:张旭升/刘伟康
  • 必修/选修: 必修

每周做业连接汇总

  • 预备做业01
    • 简要内容:上学期总结;对专业的认识和指望;指望的师生关系;谈一下从小到大对你帮助/影响最大的老师和缘由。
  • 预备做业02
    • 简要内容:有什么技能比大多数人更好?获取此技能的经验?本专业课的学习目标。
  • 预备做业03
    • 简要内容:安装Linux操做系统,学习Linux命令。
  • 第一周总结
    • 简要内容:初步接触java;下载相关软件;学习一些简单的java程序编写;登录Linux时提示储存空间不足的解决方法
  • 第二周总结
    • 简要内容:java的8种基本数据类型;运算符的使用;数据类型的转换;Scanner类命令。
  • 第三周总结
    • 简要内容:String类命令;Random类命令;NumberFormate类和DecimalFormat类命令;虚拟机蓝屏的解决方法
  • 第四周总结
    • 简要内容:UML类图的使用;this引用;接口的相关方法;静态变量和实例变量的区别
  • 第五周总结
    • 简要内容:条件语句和循环语句;break和contin语句;迭代器和ArrayList类。
  • 第六周总结
    • 简要内容:数组及其类型和使用;命令行形参和实参;类/对象/变量/参数的含义和区别和联系IDEA上git push失败,显示让merge的解决方法
  • 第七周总结
    • 简要内容:继承的实现方法;类层次结构;Java修饰符的类型和区别
  • 第八周总结
    • 简要内容:多态性的接口方式和继承方式;两种排序方法;两种搜索方法。
  • 第九周总结
    • 简要内容:异常的相关内容;文件读写的相关内容;递归;标识符的命名规范文件读写分行的方法
  • 第十周内容
    • 简要内容:集合;动态数据结构;线性数据结构arraylist和linkedlist的区别队列、树、图如何用代码来实现
  • 第十一周内容
    • 简要内容:Android的初步了解;活动的生命周期;UI组件;AS下载过程当中遇到的相关问题及解决方法

自认为写得最好一篇博客是?为何?

  • 我的以为写的最好的博客是第10周学习总结。由于我以为这周的博客中是我整个java学习中学习过程最完整,且体现得最好的一篇。
  • 首先从写博客开始,教材内容学习写的比较认真,问题记录也都比较详细。其次,本周是我和结对伙伴结对状况最好的一周,互评积极且内容有意义,不是什么很水的排版好啊内容详细之类的泛泛之谈。最后,本周的博客不是写完就写完了,而后就不再管了,在看告终对伙伴的博客以后,我又对博客内容进行了必定的修改和添加,是一个再次学习的过程,而不是就像完成一个任务同样,本周的完成了,好,我去作下周的,这周作的好很差怎么样还有没有能够补充的这些就全都无论了。我以为学习的过程当中是不能缺乏反复的过程的。
  • 除此以外,我很是喜欢我在这篇博客中写到的那句话:珍惜天赋,保存悲悯

做业中阅读量最高的一篇博客是?谈谈经验?

  • 阅读量最高的一篇博客是预备做业02。说实话,我以为这篇博客阅读量高的缘由主要有两个,一个是由于当初这篇博客我是第一个交的,你们在写博客的时候都喜欢先看看写完的人是怎么写的,因此早写完的博客广泛阅读量要高于后写完的。其次,由于我写的内容是关于背单词的,引发了不少老师的关注,在这篇博客里邹欣老师和娄嘉鹏老师都对个人博客进行了评价,因此阅读量比较高。
  • 但我以为个人博客自己没有什么技术含量也没有什么特别值得学习的地方。其实如今来看的话,我以为当时写这篇博客的我是个狂妄自大的“小屁孩”,由于我不多能找到有人比我背单词的天数更多的,可是可能我太拘泥于数量了,因此就以为本身背的天数多就很厉害了,但其实个人英语水平仍是局限于把英语考试考好而已,并非真正掌握一门语言
  • 但很欣慰的一点是,当时邹欣老师给个人建议是能够开始读英文原版书了,原本我是在扇贝上看文章的,后来发现这个过于靠自觉了以为我开学以后确定坚持不下来,因而我在本学期报了一期薄荷阅读,如今已经读到第三本英文原版书了。

    一个很大的感受就是真的并非你认识的单词多了考试考得好就是你学会英语了,在读第一本书的时候我感受还好,但当到了第二本难度提高了以后,我就发现有不少句子我要反反复复看不少遍才能看懂,由于它不像考试那样系统完整,不少句子是颇有本土风格的(我实在不知道怎么组织语言),就是那种只有把它做为第一语言的人才能写出来的句子,不拘泥于语法结构,能省略就省略,能简单就简单,读起来真的颇有感受。

实验报告连接汇总

  • 实验一 Java开发环境的熟悉(Linux + Eclipse)
    • 简要内容:学习JDB调试;下载并学会使用IDEA。
  • 实验二 Java面向对象程序设计
    • 简要内容:学会使用JUnit测试;学会使用UML建模;熟悉S.O.L.I.D原则。
    • 共设置了五个节点:
      • (一)完成单元测试的学习,提交最后三个JUnit测试用例
      • (二)以 TDD的方式研究学习StringBuffer
      • (三)用本身的学号%6进行取余运算,根据结果进行代码扩充
      • (四)以TDD的方式开发一个复数类Complex,定义四种公有方法:加减乘除
      • (五)使用StarUML对实验二中的代码进行建模
  • 实验三 敏捷开发与XP实践
    • 简要内容:代码规范;JUnit测试;重构练习;密码学相关。
    • 共设置了四个节点:
      • (一)安装alibaba程序并运行,解决代码规范
      • (二)复习JUnit单元测试
      • (三)使用编码规范扫描规范结对伙伴的代码
      • (四)结合重构与结对伙伴共同窗习密码学相关内容
  • 实验四 Android程序设计
    • 简要内容:Android Stuidio的安装测试;Activity测试;UI测试;布局测试;事件处理测试;如何将代码导入ASR文件变红的解决方法修改码云地址后如何上传
  • 实验五 网络编程与安全
    • 简要内容:Java Socket应用;密码学相关内容实践。
    • 共设置了五个任务:
      • 任务一:实现中缀转后缀并计算结果的功能
      • 任务二:基于Java Socket实现客户端/服务器功能
      • 任务三:基于任务二,使用3DES或AES算法将后缀表达式进行加密
      • 任务四:基于任务三,使用DH进行密钥交换
      • 任务五:基于任务四,使用MD5将明文加密

团队项目报告连接汇总

代码托管连接

给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?

  • 由于个人码云当初出过问题虚拟机上的代码统计有问题(第七周博客中有提到),因此这里放IDEA里的代码统计结果,这个是正确的。
  • 代码量目标我想咱们班大多数同窗应该是都达到了,不少人可能一学期的代码量已经达到了两学期总共要求的一万行了,因此说我还要多多努力啊!!!!

加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得

  • 我以为在这篇博客里有一段话我很是喜欢:php

    有位文豪说得好:“看一个做家的水平,不是看他发表了多少文字,而要看他的废纸篓里扔掉了多少。” 我以为一样的理论适用于编程。好的程序员,他们删掉的代码,比留下来的还要多不少。若是你看见一我的写了不少代码,却没有删掉多少,那他的代码必定有不少垃圾。html

  • 我记得有一次作课堂实验,原本我第一次花了半天写好了,可是晚上运行的时候张旭升学长说我这个结果不符合要求,而后我就去改代码,改了一天半,是写代码时间的三倍。而后就以为,改代码比写代码难多了。并且越到后面这种感受越明显,感受本身就在不停地使用ctrl+zctrl+/改来改去删来删去,虽然最后可能就会剩下几十行代码,但在这几十行最后造成以前,其实有比它多好几倍的代码曾经被删除过或者改过。java

积极主动敲代码作到没?教材实践上有什么经验教训?

  • 我以为我仍是算作到了吧,刚开始的时候是为了追求代码量因此能多敲就多敲,到了后面对代码量看得比较淡了以后就开始想办法用尽可能简洁的代码把程序写出了。可是积极主动敲代码看得又不是敲代码的量而是态度,因此我以为是作到了。
  • 绝对不要100%地去相信课本,对什么有疑问有怀疑的时候必定要本身去测试。而后就是不要仅仅局限把在教材上的代码敲一遍,应该去学学老师,本身根据代码作一些修改,充分发挥一下本身的“脑洞”。

课堂项目实践

  • 参考蓝墨云班课

课堂实践连接

  • 命令行参数测试:从命令行传入学号、课程的成绩,计算平均成绩并输出,使用边长参数列表实现。
  • 继承-练习:已知抽象类Animal,定义Cow类和Sheep类,继承Animal类,并测试。
  • 排序:使用选择和插入排序法,写出3 1 9 3 6 2 10第3次排序的结果。
  • IO操做及异常处理:从键盘写入任意个整数到文件中,从文件中读取后排序再次写入原文件,使用try-catch语句处理IO异常。
  • 递归:输入一个数n,使用递归计算F(n)的值,并将计算结果写入文件中。
  • 链表插入和删除:完成P397页例题中的节点删除和插入操做,并测试。
  • 数据库操做实践:下载相关软件;编写程序,查询世界上超过“你学号前边七位并把最后一位加到最高位,最高位为0时置1”;编写程序,查询哪一个国家的平均寿命最长,哪一个国家的平均寿命最短; 编写程序,查询世界上的全部中东国家的总人口。
  • Android课堂实践:在Android平台上开发移动程序,模拟栈的操做:Push、Pop。
  • Android-中缀转后缀:开发一个Android应用程序,要求:输入一个中缀表达式,输出后缀表达式。
  • Android表达式计算:在上一个实验的基础上,计算后缀表达式的计算结果,并显示栈的变化过程,使用控件显示。
  • Socket编程:伙伴1编写服务器端程序,接收客户端发送的数据,将其排序后,发回给客户端。伙伴2编写客户端程序,将一串字符串发送给服务器端,接收排序后的程序,并显示。

课堂实践对提升应用能力有帮助吗?

  • 固然有了,通常老师出的课堂实践都是他本身想的,从网上查都查不到只能本身作。常常为了一个课堂实践活动把一成天都花在java上,去不停地敲啊改啊,但我以为真的是对能力的一种考察,并且是对所学知识一个很好的应用。就和学会英语要看原版书同样,知道怎么去应用才是真正学会了你想要学的东西

课堂实践上本身有什么经验教训?

  • 上课要好好听老师讲怎么作,好好看老师的代码是怎么敲的。光上课听一遍经常记不住也学不会,能够上课的时候用手机录下来下课以后找时间慢慢扣慢慢学,亲测有效~

课堂实践上对老师有什么教学建议?

  • 其实我以为王老师作的已经很好了,建议的话但愿课堂实践占比再多一点,好比评小黄衫的时候能够把课堂实践的完成速度和完成状况作一个占比多一点的参考。

课程收获与不足

本身的收获(投入,效率,效果等)

  • 首先,语言表述能力、知识总结能力和记录问题的能力由于写博客的缘故有了很大提高,而后在效率方面感受本身在作课堂实践的时候花的时间老是比较长效率不高,以为仍是学得不够精细的缘故,最后效果的话自我感受良好,能学到东西而且能会去用我就很知足了。
  • 这个学期最大的感受就是本身把大部分的精力和时间都放在java学习上了,它也确实是一门很是有意思并且让人颇有成就感的课。常常由于一个什么程序有错误或者代码实现不了纠结上几个小时甚至几天,过程当中真的很难受也很难过,但往往熬到最后成功以后老是会开心很是很是久,感受以前再多的苦再多的累都是值得的。

本身须要改进的地方

  • 对学过的内容上点心,不要学到后面把前面的忘了又去返工重看。
  • 养成写代码及时加注释的习惯,不要每次都等别人来提醒才去加。

结对学习是否是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议

  • 我以为我和个人结对伙伴在前期结对学习效果不是很好,可是越日后面两我的愈来愈认真,结对评价也愈来愈细致,仍是不错的。
  • 我和个人结对伙伴在敲代码的过程当中互相帮助都有的,但个人结对伙伴在敲代码以外的一些事情上对我帮助极大,好比如何在IDEA中查代码量,怎么把代码复制到Android Studio中等等,都是他教会个人。

问卷调查

你平均每周投入到本课程有效学习时间有多少?

  • 二十个小时左右吧。

每周的学习效率有提升吗?你是怎么衡量的?

  • 我以为后期确定是比前期好的,从每周的博客总结中就能够看出,感受后期的博客更加条理并且细致,前期的话有时候有些赶工的感受。

蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?

  • 很是有。但愿视频能够自动调节时长,有时候想看到本身想看的东西前面要等很久,若是不当心在没看完以前关了的话又要从新开始看很浪费时间。

你以为这门课老师应该继续作哪一件事情?

  • 继续进行一些课堂实践。

你以为这门课老师应该中止作哪一件事情?

  • “以博客写的好坏论高低”。其实就是但愿博客写得怎么样的评价在总分中的占比能下降一些,每周的博客写得好能在总分中加一分,这个比重实际上是很是大的了,我也由于这个“受益”了好多,有几回博客加分,成绩会高点,但我自认为并无某些博客写的不是很精美但编程能力强的同窗学得好,良好的学习过程记录确实很重要,但我以为程序设计仍是实践应用更重要一些。若是你们都为了获得那一分的加分而把时间花在把博客写的更整齐,把界面弄得更好看上,就有些本末倒置了。

你以为这门课老师应该开始作什么新的事情?

  • 学的东西和咱们未来要干的事情结合得再深一点,不但愿学了整整两学期的东西在离开了学校以后用得很少。

写在最后

  • 刚开始学的时候感受特别迷茫和混沌,不知道本身学的是什么,该在哪方面下功夫,寒假写预备做业的时候觉得Linux操做系统就是咱们这学期要学的主要内容,找了个有一百多个视频的学习教程慢慢看,还作了笔记,结果开学以后发现它不是咱们要花一学期去学的东西,就只是一个铺垫,那会儿感受特难受,感受本身白费功夫了...可是回顾这一个学期,其实我学会了好多东西,发现本身从一个什么都不会的小白变成了一个稍微会写点代码的半小白了。
  • 这个学习的过程累吗?累,说不累那都是骗人的。但这并不妨碍它同时是一个很快乐的过程,我以为这就像我最喜欢的一句诗同样:git

    雄关漫道真如铁,而今迈步从头越。程序员

  • 下个学期继续努力吧。web

给出你的总结中涉及到的连接的二维码

  • 预备做业
    预备做业01

    预备做业02

    预备做业03
  • 教材学习
    第一周

    第二周

    第三周

    第四周

    第五周

    第六周

    第七周

    第八周

    第九周

    第十周

    第十一周
  • 实验
    实验一

    实验二

    实验三

    实验四

    实验五
  • 结对编程项目
    四则运算 第一周

    四则运算 第二周

    四则运算 项目总结
  • 码云连接
    Java项目

    Android项目

    四则运算
  • 课堂实践
    命令行参数测试

    继承练习

    排序练习

    IO操做及异常处理

    递归

    链表插入和删除

    数据库操做实践

    Android课堂实践

    Android-中缀转后缀

    Android-表达式计算

    Socket编程
相关文章
相关标签/搜索