#20182330 2019-2020-1《数据结构与面向对象程序设计》第一周学习总结

20182330 2019-2020-1《数据结构与面向对象程序设计》第一周学习总结

教材学习内容总结

  1. 掌握Linux、vim基本命令
  2. 了解并学习什么是markdown格式
  3. 简单编程、编译、调试并实现代码托管
  4. 完成课后自测题

教材学习中的问题和解决过程

  • 问题1:理解面向对象与面向程序
  • 问题1解决方案:在网络上查找、在书中寻找解释

    对象(object)是java程序中的基础实体。本书通过定义相互交互的对象来介绍软件开发的思想。

    • 面向过程的思想解决问题就是要按部就班,一个步骤一个步骤直到问题解决;
    • 面向对象则是将问题分解给不同的对象,注重的是该对象在整个过程中的行为。
    • 区别:我看到一篇很有意思的博客,他将面向对象与面向程序比作盖浇饭与蛋炒饭。

      盖浇饭菜饭易于分离,你可以用你想吃的菜替换不想要的,可以增加或减少;
      蛋炒饭要实现蛋饭分离便很难。由此便引出了两个概念,叫做耦合度和可维护性。
    • 这样的比喻生动而形象,我觉得我会一直记住盖浇饭和蛋炒饭的爱恨情仇。
    • 总结一下:
  • ==面向过程:性能高但可维护性差,耦合性高==
  • ==面向对象:灵活,易于维护,耦合性低==
  • 问题2:程序和软件的区别?
  • 问题2解决方案:在网络上查找
    • 每天编程却不知程序为何物。每天玩手机却不知道程序与软件的区别。这大概就是我与大佬的差距吧。
    • ==软件=程序+文档=数据结构+算法+文档==
    • 简单来说,软件是为了实现某一功能的程序的集合。
  • 问题3:始终不能理解标识符与保留字
  • 问题3解决方案:在网络上查找、在书中寻找解释
    • 标识符:简单来说就是编程过程中遇到的名字。
    • 关键字:在Java语言环境中被赋予了特殊含义的单词。
    • 保留字:特殊含义的标识符。

代码调试中的问题和解决过程

  • 问题1:

  • 问题1解决方案:在网络上查找

    main class and arguments must be specified
    翻译:必须指定主类和参数

run hellojdb即可解决

  • 问题2:虚拟机无法连接网络
  • 问题2解决方案:上网寻找无果,求助助教学姐。
    • 方案一:输入代码
      • 无果
    • 方案二
      • 网络资源配置与物理机共享
      • 无果
    • 方案三
      • 关机重启。我的虚拟机一直处于挂机状态。学姐经验比较丰富,告诉我一般改动了配置之后,需要重启一下才会更新配置。于是我第一次重启了虚拟机,问题解决!用了一下午的时间,不胜欢喜!
  • 问题3: 物理机文件无法直接复制到虚拟机。
  • 问题3解决方案:
    • 由于系统提示的VMware tool无法安装,于是通过网页上的QQ邮箱当作传送门。

      • 但是如果有更好的方法解决这个问题,希望大家能够提供给我学习学习,感谢!
  • 问题4: 第二次push失败,强制提交也无果。
  • 问题4解决方案:多次调试无果,又去求助万能学姐。
    • 解决方法如下:
      • 步骤一:输入
      git fetch origin
      git merge origin/master
      • 步骤二:输入y进入
      • 步骤三:按下i进入输入模式,任意输入字母,esc回车即可(忘截图了)
    • 原因分析:本地和远程的文件应该合并后才能上传本地的新文件,而我因为修改了文件导致远程仓库和码云成为了两个。

代码托管

上周考试错题总结

  • 无错题

    结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):
    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况
    • 20182314
    • 结对照片
    • 结对学习内容
      • XXXX
      • XXXX
      • ...
  • 上周博客互评情况

1.第一周的代码量远远不够,主要精力用在熟悉Linux系统,处理安装程序、调试运行时的各种问题,下一周就可以增加代码练习。

  1. “前紧后松学习法”!
  2. 写博客效率低

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 42/42 2/2 12/12 学会Linux基本操作

参考资料

猜你喜欢

转载自www.cnblogs.com/weiii/p/11502432.html