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

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

每周作业链接汇总


  • 写得最好一篇博客
    • 第七周作业
    • 原因:写的最详细的代码问题,特别是PP9.3并附带了UML类图以及代码结果,尽管在课程回顾的部分没有以后博客写的好。

  • 阅读量最高的一篇博客
    • 第四周作业
    • 原因:可能上交比较早的原因造成的,此外第四周编写的代码完成的进度相对较快,可能其他同学的代码没思路来翻翻我的博客吧。

报告链接汇总


代码托管链接

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

  • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
    • 对于编程,可以把它看作手指的劳作,也可以看作脑力劳作。针对第一种只是完全的码农,学完一点用也没有。脑力劳作就是在前代码的同时加上自己的理解的过程,可以在给出的代码基础上创造更多有趣的代码。在最开始的时候,刚学会用命令行敲代码,就用println和print打出一个心形,我想这就是举一反三吧。改点代码可以加入自己的理解和创新、可以拓宽自己的脑洞、可以从中找到乐趣。可能在刚开始的时候,你没有发现代码的乐趣,但久而久之的学习与积累会渐渐喜欢上它的。

  • 积极主动敲代码做到没?教材实践上有什么经验教训?
    • 非常认真的敲代码了!!五一回家的列车上狂敲一路代码,过生日的晚上还敲到将近一点多...教材实践每一次感觉都很累,自我感觉接受能力不是很强,需要消化时间,所以不太适合这种教材实践。不过,这种强迫式的压力也在源源不断的转化为动力,催动我们不断学习。

课堂项目实践

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

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


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

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

  • 实践六
    • 已知抽象类Animal
      public class Animal {
      private String name;
      private int id;
      public Animal(String name, int id) {
         this.name = name;
         this.id = id;
      }
      public abstract void eat();
      public abstract void sleep();
      public abstract void introduction() ;
      }
      
    • 定义Cow类和Sheep类,继承Animal类,并测试

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

  • 实践八
    • 1.从键盘可以输入任意个整数(int);
    • 2.写入文件;
    • 3.从文件读取所有的整数;
    • 4.使用插入排序对读取的整数进行排序,并将排序的结果写入原文件。
    • 5.使用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应用程序,完成以下功能:
    • 随机生成一个中缀表达式,并使用控件显示。
    • 将该表达式转换为后缀表达式,并使用控件显示。
    • 计算后缀表达式的值,并使用控件显示。
    • (选做)显示每一步操作数栈和操作符栈的变化过程。

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

  • 课堂实践对提高应用能力有帮助吗?
    • 感觉很生硬的消化新学的知识,知识量很多,通过课堂实践有一定的帮助。

  • 课堂实践上自己有什么经验教训?
    • 可以和同学之间相互探讨探讨,有些实践可以用不同的方法解决,有些实践大致方法都一样。看看别人的代码可以拓宽自己的思路,提高编程能力。

  • 课堂实践上对老师有什么教学建议?
    • 希望老师可以降低课堂实践的难度,毕竟时间紧,知识消化的还不透彻,可以循序渐进,逐渐增加难度。在学期中间增加的编程项目的就很不错。

课程收获与不足

  • 自己的收获(投入,效率,效果等)
    • 感觉自己对这门科目投入很多,付出很多,几乎每周周末都是八点多起床敲代码或是写博客,而且每晚的自习也是都熬到十点多才离开的。虽然时间不能说明一切,但是从一定程度上也反映出我对这门学科的投入。至于效率,有时候很高,有时候也很低,面对很难很难的代码效率就呈现开口向下的抛物线,在开始的时候效率很高,如果遇到瓶颈难以突破停滞不前的时候就要走下坡路了。效果,我想自己得到小黄衫就能在一定程度上证明自己在《程序设计与数据结构》这门课上的效果了。

  • 自己需要改进的地方
    • 自己面对问题不会解决的时候,尽量要自己解决。而且要拓宽自己的思路,学会上网找答案。

  • 结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
    • 算是真正贯彻了,王禹涵和方艺雯两位结对伙伴很给力,相互交流问题、探讨问题、一起学习很有动力。

问卷调查

  • 你平均每周投入到本课程有效学习时间有多少?
    • 几乎是每个晚自习和周末的大部分时间(任务量比较重的时候,如果不重的话就把周末时间用到别的学科上)

  • 每周的学习效率有提高吗?你是怎么衡量的?
    • 时高时低,就是完成这周基础作业的截止时间,完成进度快,我想效率自然就高吧。

  • 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
    • 有一定的促进作用,但是有些周视频量太大,完全没时间看。

  • 你觉得这门课老师应该继续做哪一件事情?
    • 博客(可以回顾自己一周的学习内容)和课堂实践(强制性促进自己消化新知识)

  • 你觉得这门课老师应该停止做哪一件事情?
    • 实验,或是改善实验内容。实验的过程会遇到了一堆的问题,而且时间相对较短完成实验就很赶。

  • 你觉得这门课老师应该开始做什么新的事情?
    • 多讲讲书本知识(学生需要一个过程去适应),应该在讲完课之后,再完成相对代码。(刚开始的几周,就是先敲代码再进行讲解),感觉那种方式很不适应。

二维码

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

  • 预备作业

    • 寒假作业一:
    • 寒假作业二:
    • 寒假作业三:

  • 学习博客

    • 第一周作业:
    • 第二周作业:
    • 第三周作业:
    • 第四周作业:
    • 第五周作业:
    • 第六周作业:
    • 第七周作业:
    • 第八周作业:
    • 第九周作业:
    • 第十周作业:
    • 第十一周作业:

  • 实验博客
    • 实验一:
    • 实验二:
    • 实验三:
    • 实验四:
    • 实验五:

  • 项目博客
    • 博客一:
    • 博客二:
    • 博客三:

  • 其他博客
    • 小黄衫博客
    • 课堂测试报告

其他

终于学完了《程序设计与数据结构》,回顾着一个学期的学习时光,感觉又像是重温了一遍高三的学习,很忙很忙,但是又那么有意义。从刚开始自己还什么也不会的初学者,到现在可以和伙伴一起制作一个四则运算的项目(虽然还有很多不足,但在我看来已经很完美了。)八千多行的代码,几十个编程项目。希望自己下个学期仍能不忘初心,砥砺前行。最后,感谢老师和助教一学期的帮助,真心感谢,谢谢你们。
posted @ 2018-06-20 11:25  三金哥  阅读(252)  评论(0编辑  收藏  举报