1 2 3 4

20172310《程序设计与数据结构》(上)课程总结

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

博客链接

每周作业链接汇总

  • 预备作业1:对大一上学期进行总结,谈了谈对本专业的认识和期望
  • 预备作业2: 写了自己的优势,这些优势给自己带来好的方面,自己对接下来专业课学习的计
    划和目标,我又该如何去实现它。
  • 预备作业3:这周接触了一个新的学习平台——实验楼,安装了virtualbox和Ubuntu,掌握
    Linux命令的学习方法
  • 第一周作业:对计算机的组成和运行过程有了一个更全面的理解,初步了解了Java及其一些基
    础常识。跟着教程初步配置好了电脑,也下载安装好了一些必须软件包,开通了码云。
  • 第二周作业:学习了String型,基本数字类型,一些表达式,自己重点总结了一下数据类型转
    换技术,还学习了交互式程序中Scanner类。
  • 第三周作业:学习了一下对象的创建和Java标准类库中的一些类。如特殊的静态类、Random类、
    Math类、格式化输出信息的方法和枚举类型包装器和自动装箱的概念。
  • 第四周作业:学习了修饰符、访问器方法、修改器方法和接口类这些基础的知识。初步学习设计一
    个对自己有价值的,及面向对象的软件。
  • 第五周作业:主要是学习了条件判断和循环,此外还有条件运算符。
  • 第六周作业:数组和命令行实参和可变长度参数表。
  • 第七周作业:类的继承和派生,类的层次结构。
  • 第八周作业:学习了后绑定、利用继承和接口两种方式实现多态,还学习了两种排序方法和两种搜索方法。
  • 第九周作业:异常处理和finally子句、try-catch语句。
  • 第十周作业:学习了集合,链表,线性和非线性数据结构和Java集合类API。
  • 第十一周作业:Java和Android开发学习。

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

我认为写的最好的是第六周作业:数组和命令行实参和可变长度参数表。
因为对于第六周的教材学习我自己认为学的比较详细,所以教材的总结比较全面,而且教材和代码的问题
都得到了解决。错题自己都有去认真订正,所以认为这篇写的最认真、最令我满意。不过这篇博客还是没有成为优秀博客,
和同学的优秀博客还是有差距的,所以吧,我的博客的写作风格还要继续完善,争取下个学期有更好的表现。

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

第二周作业:学习了String型,基本数字类型,一些表达式,自己重点总结了一下数据类型转
换技术,还学习了交互式程序中Scanner类。这篇博客的阅读量是最高的。
在最开始写的时候大家写博客都还没形成自己的风格,所以都会去借鉴大家的博客,虽然我自己觉得这篇博客写的很没有逻辑
但这篇博客当初发的可能比较早,所以最多人看。

实验报告链接汇总

  • 实验一 :安装jdk和intellj IDEA;学习用IDEA编写代码,能通过命令行和IDEA两种方式实现前
    两周项目内容;将码云上的程序同步到IDEA上
  • 实验二 面向对象程序设计:初步掌握单元测试和TDD,理解并掌握面向对象三要素:封装、继承、
    多态,初步掌握UML建模并熟悉S.O.L.I.D原则
  • 实验三敏捷开发与XP实践:(1)代码规范(2)协同测试(3)重构(4)密码学应用。
  • 实验四Android开发:Android Stuidio的安装测试、Activity测试、UI测试、布局测试、事件处理测试。
  • 实验五 网络编程与安全:结对编程,我负责客户端,队友负责服务器,
    使用Socket通信,以及Java密码学算法

团队项目报告链接汇总

代码托管链接

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

很开心自己这个学期的任务圆满的完成了,不得不用说代码需要自己动手去敲,去琢磨。学期的后半阶段任务比较重,节奏比较快
所以老师直接将课本上的代码给了我们,我是直接复制粘贴的,希望下个学期能全都自己完成。最后,看到自己敲了这么多行代码,超开心!

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

编程是一种创造性的工作,是一门艺术。

编程水平的高低不是靠你的代码量来决定的,复制粘贴得到的只是没有意义的数字,不是知识的累积。所以说课本上的例题我们可以去复制粘贴,
但是我们要去推敲每一行代码的意义。
借鉴他人的代码是免不了的,就像在实验中,我会去查找一些其他人的代码,但我们不能单纯的做一个搬运工,
我们要去修改代码,使它更加符合我们自己的要求。能够自己修改代码,也证明了自己知道每行代码的作用,所以说编程是要靠自己的。
而且博客还提到我们的代码还需要规范化,要简洁完美,这样才具有可读性,这却是我们现阶段很多人都做不到的,我们的思路有时都不够简洁
,而且没有规范代码的意识,这也是今后要努力的一点。

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

  • 我觉得自己还是做到了的(ノ)ェ(ヾ),虽然后面对老师给出的代码是复制粘贴的,但我还是有自己去理解的。

  • 之前在虚拟机上敲代码的时候都是机械的动作,对照着教材一个一个慢慢地敲,而且在虚拟机里不会自己报错,
    所以有时错误就只是一个单词敲错了就要找很久,效率极其差。所以代码一定要看懂后再敲,不要生搬。

课堂项目实践

  • 实践一:

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

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

    • 编译并运行PP7.4
  • 实践四:

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

    • 命令行参数测试
    • 从命令行传入 学号、课程的成绩,计算平均成绩,并输出
    • 使用边长参数列表实现。
  • 实践六:

    • 已知抽象类Animal
      public class Animal { private String name; private int id; public Animal(String name, int id)

    • 定义Cow类和Sheep类,继承Animal类,并测试

  • 实践七:

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

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

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

    • 完成P397页例题中的节点删除和插入操作,并测试(满分3分,插入删除各1分,测试1分)。
      public void insert(int index, Magazine newMagazine){}//在index的位置插入新节点newMagazine
      public void delete(Magazine delNode){}//删除节点delNode
    • 完成插入、删除功能
    • 加分项:用Magazine类实现Comparable接口,并对链表中的杂志按照字母顺序排序,并输出。
  • 实践十一:

    • 下载附件中的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"
  • 实践十二:

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

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

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

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

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

有的有的

课堂实践上自己有什么经验教训?

老师讲的例子很重要,后面的实践都会用到。之前没有经验,都没有用手机拍下来,所以后面都记不住老师是怎么做的,
后来就每堂课都会拍照,哈哈O(∩_∩)O

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

希望老师一边讲,我们可以一边有自己理解的时间

课程收获与不足(不要抄上学期的,否则会扣分)

收获:

最开始因为什么都不懂,很多的任务想要完成都要花费很多的时间,而且有时还会遇到
很多自己解决不了的问题,所以在前期的学习阶段有一点浮躁的心情,不过俗话说得好失败是成功之母,我最终还是学到了很多的Java的知识。
这个学期的很多任务都向其他人寻求了帮助,特别是实验。我觉得找他人帮助确实是一个很有效的方式,因为有时候自己可能陷入一种思维定式,
所以有些事情只靠自己很难取得进展,但是自己还是需要多一些的去独立思考,看别人帮自己解决问题的时候要去学习他们解决问题的方式,
这些都是这个学期我发现自己的一些收获和不足。其实在Java学习的这条道路上,我还没有走得很远,但我要一直的鼓励自己,坚持下去,
才能慢慢领会到它的乐趣

自己需要改进的地方:

- 自己要静下心来,对于不会的问题不要急躁,要想办法去解决它; - 要自己学会解决问题。要学会当遇到了问题想要找答案时,知道要去找些什么内容,要有自己解决问题的方式; - 要更多地去积极主动的敲代码,不要局限于课本,还要在课下去充实自己的专业知识。

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

我认为我是做到结对学习的
在结对学习的过程中,我和队友有着明确的分工,就像在编写四则运算的代码的时候,我们就认真的分好了工。但我们还会相互体谅,
在对方比较忙的时候承担起更多的工作。而且在结对学习的过程中,队友给了我很多的帮助,为我解决了很多的难题,为我讲解我不懂的地方。
我们这个学期的合作时很愉快的٩(๑❛ᴗ❛๑)۶

问卷调查

  • 你平均每周投入到本课程有效学习时间有多少?
    我平均每周都有投入20消息的时间学习Java,主要是自习和周末,不过自己在这方面的能力不强,还要多多努力。

  • 每周的学习效率有提高吗?你是怎么衡量的?
    有时效率是有提高的。毕竟刚开始的时候什么都不会,到后来才算是慢慢上道路。
    比如下周一的课堂测试的得分,博客的写作速度和内容是否有意义。

  • 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
    有。在班课上老师会给我们很多的资源,课堂测试、实践都在上面完成,很方便。
    觉得有时候给的资源太多了,老师可以给出一些建议看看那些是一定需要去看的,这样更加节省时间,不然后期看到那么多的资料都没有动力去看o( ̄▽ ̄)d

  • 你觉得这门课老师应该继续做哪一件事情?
    继续布置课堂实践,嗯o(一︿一+)o

  • 你觉得这门课老师应该停止做哪一件事情?
    emmm,这个问题,好像没有什么需要停止的呢(`・ω・´)

  • 你觉得这门课老师应该开始做什么新的事情?
    上课的时候不仅要讲解还要让我们跟着去做

其他任意发挥

我的高中同学知道当初我要学的是计算机都纷纷跟我说,你将来就是我们中间电脑玩得最溜的人啦,可我现在内心只有呵呵o( ̄︶ ̄)o 。
电脑不好学,程序猿不好当。不过这一个学期下来,我从一个初级菜鸟变成了中极菜鸟,还是有点收获的。希望下个学期自己继续努力,加油!

总结中涉及到的链接的二维码

项目链接:

预备作业

  • 预备作业1:

  • 预备作业2:

  • 预备作业3:

每周小结:

  • 第一周:

  • 第二周:

  • 第三周:

  • 第四周:

  • 第五周:

  • 第六周:

  • 第七周:

  • 第八周:

  • 第九周:

  • 第十周:

  • 第十一周:

实验:

  • 实验一 :

  • 实验二:

  • 实验三:

  • 实验四:

  • 实验五:

结对小结:

  • 小结1:

  • 小结2:

  • 小结3:

实践

  • 『Java程序设计』课程 结对编程练习_四则运算_第一周:

  • 『Java程序设计』课程 结对编程练习_四则运算_第二周:

  • 『Java程序设计』课程 结对编程练习_四则运算_第三周:

posted @ 2018-06-21 23:54  qx2017  阅读(216)  评论(0编辑  收藏  举报
页尾