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

(按顺序)每周作业链接汇总

  • 预备作业1:对大一上学期进行总结,谈谈你对本专业的认识和期望,你期望的师生关系是什么样的,谈一下从小到大对你帮助/影响最大的老师和原因。.我们课程要你两学期实践10000行代码,你觉得这个负担大吗?
  • 预备作业2:你有什么技能比大多人(超过班级90%以上)更好,针对这个技能的获取你有什么成功的经验?与老师博客中的学习经验有什么共通之处?你对《程序设计与数据结构》的学习有什么具体目标?如何通过“做中学”实现你的目标?
  • 预备作业3:安装Linux操作系统,学习Linux命令。感想
  • 第一周作业:在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一些Java的基本命令,学会了会编译、运行、调试简单的Java程序
  • 第二周作业:学会了一些字符量常量的表示、拼接的知识。转义序列。了解了变量的知识,并学会了用final定义标识符为常量。了解了几种基本数据类型。对于扩展和压缩类型转换有所了解。稍微熟悉了一些scanner相关知识
  • 第三周作业:学习到了创建string对象的方法和简化语法以及使用length等方法。了解了import导入Java包中的概念。学会了使用random类以及math类。了解了numberformat类和decimalformat类的使用区别和方法。学会使用枚举型enum编写程序。简单了解了自动装箱的知识
  • 第四周作业:学习了第四章和第七章,第四章介绍了关于编写类方面的一些问题,第七章学到了了面向对象软件的设计方法和相关知识。
  • 第五周作业:学习了条件循环和判断以及其他条件判断和循环两章内容。学习了条件语句中的if语句、if-else语句、switch语句。 学习了循环语句中的while语句、do语句、for语句。
  • 第六周作业:学习了如何声明和使用数组。
  • 第七周作业:学习继承是如何实现的,及类之间的关系,了解类的层次结构。
  • 第八周作业:学习了多态,Java实现多态性可以有利用接口和继承两种方法。
  • 第九周作业:学习了异常和递归这两章,学习异常以及异常的处理方法和递归的实现。
  • 第十周作业:学习了集合相关知识。
  • 第十一周作业:学习《Java和Anroid开发学习指导》,使用Android Studio编写安卓程序

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

实验3,因为这篇博客我差不多将每一步的操作步骤以及大家会遇到的最困难的几个问题写下去了

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

预备作业1,也许是当时我写得比较详细,而大家第一次写博客,缺少参考才顺便翻翻我的博客

(按顺序)实验报告链接汇总

  • 实验一:学习IDEA的安装和使用。
  • 实验二:学习使用JUnit,初步掌握单元测试和TDD,理解并掌握面向对象三要素:封装、继承、多态,初步掌握UML建模,熟悉S.O.L.I.D原则,了解设计模式
  • 实验三: 安装alibaba 插件,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。。
  • 实验四:学习Android Studio的安装和使用
  • 实验五:使用JavaSocket实现客户端与服务器的连接与交流,并进行一些加密操作。

(按顺序)团队项目报告链接汇总

  • 第一周阶段总结:中缀转后缀及对后缀表达式的计算,题目生成及驱动类的编译,UML图设计。
  • 第二周阶段总结:完成部分关键代码,并对其进行测试。
  • 第三周阶段总结:完全完成全部代码,进行收工。由于这周每组只用交一个,所以使用结对伙伴的连接。

代码托管链接

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

按两学期一万行算,应该是够了一个学期的量了。但是还是与很多同学相差很大,下学期一定要进步。

  • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
    在每周的作业中很多pp项目的代码都是课本例子上就有的,我们有些时候只需在理解课本的基础上做些修改和延伸就能写完
  • 积极主动敲代码做到没?教材实践上有什么经验教训?
    前期觉得课本例子只需理解,学会应用就行,这就让我有些之前的课本例子没敲,使我在代码行数上与其他同学拉开了差距,也不知是好是坏,毕竟已经理解了感觉还是不想再敲一遍吧。经验教训就是尽快把实践搞完会很轻松,如果硬是放最后写,会连续几天都在想这个事,而莫名其妙就感觉负担很重。

课堂项目实践

  • 参考蓝墨云班课

  • 课堂实践链接(没有的可以不列)

  • 实践1
    生成[-10,10)之间的随机数PseudoNumber,并输出PseudoNumber;
    输出PseudoNumber的二进制、十六进制形式;

  • 实践2
    编写一个Book类,其实例数据分别表示书名、作者、出版社以及版权日期。
    定义一个Book构造方法,接收并初始化实例数据;为所有实例数据定义获取和设置他们的方法
    定义一个toString方法,返回几行描述该图书的字符串。
    创建一个Bookshelf驱动类,其main方法实例化并输出一些Book对象。

  • 实践3
    编译并运行PP7.4

  • 实践4
    使用for循环计算n的阶乘,并截图上传。
    使用while循环计算n的阶乘,并截图上传。

  • 实践5
    命令行参数测试
    从命令行传入 学号、课程的成绩,计算平均成绩,并输出
    输入 java computeAverage 20172301 98 99 100
    输出:2017 2301' average score is :99
    使用边长参数列表实现。

  • 实践6
    已知抽象类Animal,定义Cow类和Sheep类,继承Animal类,并测试

  • 实践7
    使用选择和插入排序法,写出第3次排序的结果:3 1 9 3 6 2 10

  • 实践8
    1.从键盘可以输入任意个整数(int);
    2.写入文件;
    3.从文件读取所有的整数;
    4.使用插入排序对读取的整数进行排序,并将排序的结果写入原文件。
    5.使用try-catch语句处理IO异常,例如文件创建异常

  • 实践9
    使用递归实现;
    输入一个数n;
    使用递归计算F(n)的值;
    写入文件中。

  • 实践10
    完成P397页例题中的节点删除和插入操作,并测试
    完成插入、删除功能
    加分项:用Magazine类实现Comparable接口,并对链表中的杂志按照字母顺序排序,并输出。

  • 实践11
    下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql
    编写程序,查询世界上超过“你学号前边七位并把最后一位加到最高位,最高位为0时置1”(比如学号20165201,超过3016520;学号20165208,超过1016520)的所有城市列表,运行并截图上传(Java代码截图、运行结果)。SQL语句:SELECT * FROM city WHERE city.Population>5000000
    编写程序,查询哪个国家的平均寿命最长,哪个国家的平均寿命最短,并截图上传(Java代码截图、运行结果)
    SQL语句:SELECT * FROM country WHERE country.LifeExpectancy=(SELECT MAX(country.LifeExpectancy)FROM country) SQL语句:SELECT * FROM country WHERE country.LifeExpectancy=(SELECT MIN(country.LifeExpectancy)FROM country)
    编写程序,查询世界上的所有中东国家的总人口

SQL语句:SELECT SUM(Population) FROM country WHERE country.Region="Middle East"

  • 实践12
    在Android平台上开发移动程序,模拟栈的操作:Push、Pop。

  • 实践13
    开发一个Android应用程序,要求:输入一个中缀表达式,输出后缀表达式。

  • 实践14
    开发一个android应用程序,完成以下功能:
    随机生成一个中缀表达式,并使用控件显示。
    将该表达式转换为后缀表达式,并使用控件显示。
    计算后缀表达式的值,并使用控件显示。
    (选做)显示每一步操作数栈和操作符栈的变化过程。

  • 实践15
    伙伴1编写服务器端程序,接收客户端发送的数据(形式如下:12 15 8 100 25 34 19),将其排序后,发回给客户端。
    伙伴2编写客户端程序,将一串字符串(形式如下:12 15 8 100 25 34 19)发送给服务器端,接收排序后的程序,并显示。

  • 课堂实践对提高应用能力有帮助吗?
    实践很多是书上没有的内容,对于提高我们自我学习和应用能力都有帮助

  • 课堂实践上自己有什么经验教训?
    不懂的时候不仅可以去问老师同学,也可以去上网自己寻找答案

  • 课堂实践上对老师有什么教学建议?
    没有,保持这样就好

课程收获与不足

  • 自己的收获(投入,效率,效果等)
    学习了大量课本之外的知识
  • 自己需要改进的地方
    不足在于没有进一步做拓展延伸
  • 结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
    建议讲操作流程细节的部分

问卷调查

  • 你平均每周投入到本课程有效学习时间有多少?
    二十多个小时,但是很多时候不止这么多

  • 每周的学习效率有提高吗?你是怎么衡量的?
    学习效率就在于一次次练习之后,不会被很多基础的东西卡住,所谓的熟能生巧就是这个道理。

  • 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
    有些知识有用,但是很多视频都是很长且很旧的,有时候一个周几十个视频我是没什么信心看完的。

  • 你觉得这门课老师应该继续做哪一件事情?
    建议多些知识点和操作细节的讲解,尤其是在做不涉及书上知识且没有参考博客的实践的时候

  • 你觉得这门课老师应该停止做哪一件事情?
    写博客

  • 你觉得这门课老师应该开始做什么新的事情?
    在讲完基础知识后可以开始做些复杂的项目

其他任意发挥

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

  • 码去项目链接: 二维码

  • 预备作业1:二维码

  • 预备作业2:二维码

  • 预备作业3:二维码

  • 第一周作业:二维码

  • 第二周作业:二维码

  • 第三周作业:二维码

  • 第四周作业:二维码

  • 第五周作业:二维码

  • 第六周作业:二维码

  • 第七周作业:二维码

  • 第八周作业:二维码

  • 第九周作业:二维码

  • 第十周作业:二维码

  • 第十一周作业:二维码

  • 实验一:二维码

  • 实验二:二维码

  • 实验三:二维码

  • 实验四:二维码

  • 实验五:二维码

  • 结对编程 第一周:二维码

  • 结对编程 第二周:二维码

  • 结对编程 第三周:二维码

posted @ 2018-06-24 21:21  m1sty  阅读(272)  评论(0编辑  收藏  举报