20192305 2020-2021-1 《数据结构与面向对象程序设计》课程总结

20192305 2020-2021-1 《数据结构与面向对象程序设计》课程总结

一、课程内容总结:

第一章 绪论

  • 了解Java程序设计语言
  • 了解程序编译运行的步骤
  • 理解问题求解的一般方法
  • 了解软件开发的一般过程
  • 了解面向对象技术相关概念

第二章 数据与表达式

  • 讨论字符串的使用、字符串的连接及转义字符
  • 讨论变量的说明和使用
  • 介绍Scanner类

第三章使用类和对象

  • 讨论对象的创建及对象引用变量的使用
  • 探讨String类提供的服务
  • 探讨Random类和Math类提供的服务

第四章 条件与循环

  • 使用if和switch语句执行基本的判定
  • 分别使用while、do、和for循环重复执行语句
  • 探讨用于判定的布尔表达式

第五章 编写类

  • 讨论类定义的结构和内容
  • 探讨方法定义的结构,包括参数和返回值
  • 讨论类之间的关系

第七章 数组

  • 定义并使用数组来组织数据
  • 讨论边界检查及容量管理技术
  • 讨论数组作为对象及对象数组的问题

第八章 继承

  • 讨论类继承的设计机制
  • 说明抽象类的目的及使用方法
  • 讨论与继承有关的可见性问题

第九章 多态

  • 讨论动态绑定的概念
  • 使用继承机制创建多态引用

第十章 异常

  • 研究用于处理异常的try-catch语句

第十一章 递归

  • 讨论深化递归思想的几个例子

第十二章 算法分析

  • 探讨渐近复杂度的概念

第十三章 查找与排序

  • 探讨线性及二分查找
  • 探讨选择、插入、冒泡、快速及归并排序算法

第十四章 栈

  • 使用栈集合求解问题
  • 探讨链表的管理技术

第十五章 队列

  • 讨论队列的处理
  • 探讨队列的不同实现方式

第十六章 树

  • 讨论树的不同遍历方法
  • 探讨二叉树的实现

第十七章 二叉排序树

  • 讨论二叉查找树的特性

第十八章 堆和优先队列

  • 讨论堆的链式实现方法

第十九章 图

  • 讨论有向图和无向图
  • 定义图的广度优先遍历和深度优先遍历

第二十章 哈希算法

  • 讨论不同的哈希函数
  • 定义哈希方法

二、作业

  • (1)安装虚拟机;
  • (2)实践一,虚拟机编写简单程序;
  • (3)编写简单的类;
  • (4)测试一
  • (5)复数计算器
  • (5)类的继承
  • (6)概念常识问答
  • (7)测试二;
  • (8)栈实践;
  • (9)二分查找实践;
  • (10)树——计算;
  • (11)二叉树建立,层序遍历实践;
  • (12)哈夫曼编码实践;
  • (13)测试三;
  • (14)地图染色实践;
  • (15)迪杰斯特拉算法实践;
  • (16)拓扑排序;
  • (17)最小生成树测试;
  • (18)英语打卡;

三、实验报告连接汇总

实验一 实验名称:练习Linux基本命令

https://www.cnblogs.com/w1137146/p/13781694.html

实验二 实验名称:编写简单的计算器,完成加减乘除模运算。

https://www.cnblogs.com/w1137146/p/13783360.html

实验三 实验名称:理解并掌握面向对象三要素:封装、继承、多态

https://www.cnblogs.com/w1137146/p/13802281.html

实验四 实验名称:Java Socket编程

https://www.cnblogs.com/w1137146/p/13903841.html

实验五 实验名称:.Android Stuidio的安装测试

https://www.cnblogs.com/w1137146/p/13923110.html

实验六 实验名称:链表练习

https://www.cnblogs.com/w1137146/p/13954809.html

实验七 实验名称:排序方法

https://www.cnblogs.com/w1137146/p/14043957.html

实验八 实验名称:链树LinkedBinaryTree的实现

https://www.cnblogs.com/w1137146/p/14088459.html

实验九 实验名称:图的实现

https://www.cnblogs.com/w1137146/p/14211308.html

三、代码托管

  • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
    加点代码,改点代码总让我觉得好像是在copy别人的代码,感觉这种经过自己大脑思考的过程有所缺失,但是感觉这种方式确实会有利于理解,但我觉得最好的做法应该是先自己独立思考,自己独立编写代码,如果存在疑惑或不懂的地方,可以通过加点代码,改点代码这种方式进行修改,我觉得会更有助于编程能力的提升,也会提高自己的自学能力。
  • 积极主动敲代码做到没?教材实践上有什么经验教训?
    基本上做到了积极主动敲代码。教材实践上给我很多经验教训,我以为懂的东西其实根本不会用,一敲代码就发现下不去手,所以纸上得来终觉浅,绝知此事要躬行。还有就是教材上的代码不一定都是对的,需要自己进行实际操作。

四、问卷调查

  • 你平均每周投入到本课程有效学习时间有多少?
    大概有18小时左右
  • 每周的学习效率有提高吗?你是怎么衡量的?
    有提高,我在相同的时间内,完成更多的内容。
  • 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?
    有促进。它会显示剩余时间,会给我们一个警示的感觉,会督促我们完成作业。
  • 你觉得这门课老师应该继续做哪一件事情?
    继续保持翻转课堂教学方式。
  • 你觉得这门课老师应该停止做哪一件事情?
    减少考试中的英语题目。

五、二维码链接:

  • 码云项目链接
  • 实验一 实验名称:练习Linux基本命令
  • 实验二 实验名称:编写简单的计算器,完成加减乘除模运算。
  • 实验三 实验名称:理解并掌握面向对象三要素:封装、继承、多态
  • 实验四 实验名称:Java Socket编程
  • 实验五 实验名称:.Android Stuidio的安装测试
  • 实验六 实验名称:链表练习
  • 实验七 实验名称:排序方法
  • 实验八 实验名称:链树LinkedBinaryTree的实现
  • 实验九 实验名称:图的实现
posted @ 2020-12-31 21:06  王梓全  阅读(131)  评论(0编辑  收藏  举报