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的实现
- 实验九 实验名称:图的实现