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

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

概述201923092020-2021-1《数据结构面向对象程序设计课程总结目录第一章简要内容1.1Java程序设计语言注释标识符和保留字空白1.2程序开发程序设计语言编辑器/编译程序和解释程序开发环境错误1.3问题求解1.4软件开发行为1.5面向对象程序设计第二章简要内 20192309 2020-2021-1 《数据结构与面向对象程序设计》 课程总结目录第一章 简要内容1.1 Java程序设计语言

注释
标识符和保留字
空白

1.2 程序开发

程序设计语言
编辑器/编译程序和解释程序
开发环境
错误

1.3 问题求解1.4 软件开发行为1.5 面向对象程序设计第二章 简要内容2.1 字符串

print及print方法
字符串连接
转义字符

2.2 变量和赋值2.3 基本数据类型2.4 表达式

算术运算
关系运算
逻辑运算
运算符优先级
自增,自减

2.5 数据转换2.6 读输入数据第三章 简要内容3.1 创建对象3.2 String 类@H_419_55@3.3 包3.4 Random类3.5 Math类3.6 格式化输出3.7 枚举类型3.8 包装类第四章 简要内容4.1 布尔表达式4.2 if语句4.3 数据比较4.4 switch语句4.5 while语句4.6 迭代器4.7 do 语句4.8 for 语句第五章 简要内容5.1 再谈类和对象5.2 类的剖析5.3 封装5.4 方法的剖析5.5 静态类成员5.6 类关系5.7 方法设计5.8 方法重载5.9 测试5.10 调试第六章 简要内容GUI元素第七章 简要内容7.1 数组元素7.2 数组的声明及使用7.3 对象数组7.4 命令行参数7.5 变长参数表7.6 二维数组第八章 简要内容8.1 创建子类8.2 方法的重写8.3 类层次8.4 可见性8.5 设计继承第九章 简要内容9.1 后绑定9.2 通过继承实现多态9.3 接口9.4 通过接口实现多态第十章 简要内容@H_403_149@10.1 异常处理10.2 不捕获异常10.3 try-catch 语句10.4 异常传播10.5 异常类的层次10.6 I/O异常第十一章 简要内容11.1 递归思想11.2 递归程序设计11.3 使用递归第十二章 简要内容12.1 算法效率12.2 增长函数和大O符号12.3 比较增长函数第十三章 简要内容13.1 查找13.2 排序13.3 分析查找和排序算法第十四章 简要内容14.1 集合的介绍14.2 栈集合14.3 继承、多态和泛型14.4 栈的ADT14.5 使用栈:计算后缀表达式14.6 异常14.7 使用数组实现栈14.8 ArrayStack类14.9 将引用作为链14.10 管理链表14.11 没有链的元素14.12 使用链实现栈14.13 使用java.util.Stack 类实现栈14.14 包第十五章 简要内容15.1 队列ADT15.2 使用队列:编码K值15.3 使用队列:模拟票务柜台15.4 实现队列:使用链表15.5 实现队列:使用数组第十六章 简要内容16.1 树16.2 树的遍历16.3 树的实现策略16.4 二叉树的实现16.5 决策树第十七章 简要内容17.1 二叉查找树17.2 二叉查找树的实现17.3 平衡二叉查找树第十八章 简要内容18.1 堆18.2 堆的实现18.3 堆排序18.4 优先队列第十九章 简要内容19.1 无向图19.2 有向图19.3 带权图19.4 常用的图算法19.5 图的实现策略第二十章 简要内容20.1 哈希方法20.2 哈希函数20.3 解决冲突20.4 从哈希表中删除元素20.5 Java Collection API中的哈希表第二十一章 简要内容21.1 数据库介绍21.2 建立与数据库的链接21.3 创建并修改数据库表21.4 查询数据库21.5 插入/查看及更新数据21.6 删除数据和数据库表作业一:

实验一 linux基础与Java开发环境

(1)基于命令行和IDE进行简单的Java程序编辑、编译、运行和调试。
(2)练习linux基本命令;
(3)学习Java程序的JDB调试技能。
链接:https://www.cnblogs.com/jinyifei/p/13781205.html
二维码:

作业二:

实验二

(1)编写简单的计算器,完成加减乘除模运算。
(2)要求从键盘输入两个数,使用判定语句选择一种 *** 作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
链接:https://www.cnblogs.com/jinyifei/p/13783146.html
二维码:

作业三:

实验三
下载安装并使用IDEA,完成下面实验。

(1)初步掌握单元测试和TDD
(2)理解并掌握面向对象三要素:封装、继承、多态
(3)初步掌握UML建模
(4)完成蓝墨云上 (1)-(5)实验。
链接:https://www.cnblogs.com/jinyifei/p/13804436.html
二维码:

作业四

实验四

(1)Java Socket编程
1.学习蓝墨云上教材《Java和AndroID编程》“第16章 输入/输出 ”和“第22章 网络”,学习JavaSocket编程
2.结对编程。结对伙伴A编写客户端SocketClIEnt.java,结对伙伴B编写服务器端。
3.截图加学号水印上传蓝墨云,代码push到码云,并撰写实验报告。
(2)Java和密码学
以结对的方式完成Java密码学相关内容的学习(帖子中所有代码和相关知识点需要学习)。提交学习成果码云链接和代表性成果截图,要有学号水印。
(3)编写有理数/复数计算器
结对编程,结对伙伴A编写有理数计算器。结对伙伴B编写复数计算器。截图加水印上传蓝墨云,代码push码云。
(4)远程有理数计算器
结对编程,结对伙伴A编程实现客户端,结果伙伴B实现服务器端。
客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端A,A收到结果后输出结果。截图加水印上传蓝墨云,代码push码云。
(5)远程复数计算器
结对编程,结对伙伴B编程实现客户端,结果伙伴A实现服务器端。
客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴A(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端B,B收到结果后输出结果。截图加水印上传蓝墨云,代码push码云。
注意实验四(4)和实验四(5),一个人不能仅实现客户端,必须实现一个客户端和服务器,否则两个实验均不得分!!!
(6)实验报告
在规定时间前发表博客,标题“学号 实验四 《数据结构与面向对象程序设计》实验报告”
链接:https://www.cnblogs.com/jinyifei/p/13903872.html
二维码:

作业五

实验五

(1)AndroID Stuidio的安装测试:
参考《Java和AndroID开发学习指南(第二版)(EPUBIT,Java for AndroID 2nd)》第二十四章:
参考http://www.cnblogs.com/rocedu/p/6371315.HTML#SECANDROID,安装 AndroID Stuidio
完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
学习AndroID Stuidio调试应用程序
(2)Activity测试
参考《Java和AndroID开发学习指南(第二版)(EPUBIT,Java for AndroID 2nd)》第二十五章:
构建项目,运行教材相关代码
创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
(3)UI测试
参考《Java和AndroID开发学习指南(第二版)(EPUBIT,Java for AndroID 2nd)》第二十六章:
构建项目,运行教材相关代码
修改代码让Toast消息中显示自己的学号信息
(4)布局测试:
参考《Java和AndroID开发学习指南(第二版)(EPUBIT,Java for AndroID 2nd)》第二十七章:
构建项目,运行教材相关代码
修改布局让P290页的界面与教材不同
(5)事件处理测试:
参考《Java和AndroID开发学习指南(第二版)(EPUBIT,Java for AndroID 2nd)》第二十八章:
构建项目,运行教材相关代码
提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
链接:https://www.cnblogs.com/jinyifei/p/13921029.html
二维码:

作业六

实验六

(1)链表练习,要求实现下列功能:
通过键盘输入一些整数,建立一个链表;
这些数是你学号中依次取出的两位数。 再加上今天的时间。
例如你的学号是 20172301
今天时间是 2018/10/1, 16:23:49秒
数字就是
20, 17,23,1, 20, 18,10,1,16,23,49
打印所有链表元素, 并输出元素的总数。
在你的程序中,请用一个特殊变量名来纪录元素的总数,变量名就是你的名字。 例如你叫 张三, 那么这个变量名就是
int nZhangSan = 0; //初始化为 0.
做完这一步,把你的程序签入源代码控制(git push)。
(2)链表练习,要求实现下列功能:
实现节点插入、删除、输出 *** 作;
继续你上一个程序, 扩展它的功能,每做完一个新功能,或者写了超过10行新代码,就签入代码,提交到源代码服务器;
从磁盘读取一个文件, 这个文件有两个数字。
从文件中读入数字1, 插入到链表第 5 位,并打印所有数字,和元素的总数。 保留这个链表,继续下面的 *** 作。
从文件中读入数字2, 插入到链表第 0 位,并打印所有数字,和元素的总数。 保留这个链表,并继续下面的 *** 作。
从链表中删除刚才的数字1. 并打印所有数字和元素的总数。
(3)链表练习,要求实现下列功能:
使用冒泡排序法或者选择排序法根据数值大小对链表进行排序;
如果你学号是单数, 选择冒泡排序, 否则选择选择排序。
在排序的每一个轮次中, 打印元素的总数,和目前链表的所有元素。
在(2)得到的程序中继续扩展, 用同一个程序文件,写不同的函数来实现这个功能。 仍然用 nZhangSan (你的名字)来表示元素的总数。
(4)在androID上实现实验(1)和(2)
(5)在androID平台上实现实验(3)
链接:https://www.cnblogs.com/jinyifei/p/13961114.html
二维码:

作业七

实验七

(1)定义一个Searching和Sorting类,并在类中实现linearSearch,SelectionSort方法,最后完成测试。
要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位
提交运行结果图。
(2)重构你的代码
把Sorting.java Searching.java放入 cn.edu.besti.cs1823.(姓名首字母+四位学号) 包中(例如:cn.edu.besti.cs1823.G2301)
把测试代码放test包中
重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种)
(3)参考http://www.cnblogs.com/maybe2030/p/4715035.HTML ,学习各种查找算法并在Searching中补充查找算法并测试
提交运行结果截图
(4)补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等(至少3个)
测试实现的算法(正常,异常,边界)
提交运行结果截图(如果编写多个排序算法,即使其中三个排序程序有瑕疵,也可以酌情得满分)
(5)编写AndroID程序对实现各种查找与排序算法进行测试
提交运行结果截图
推送代码到码云(选做,加分)
链接:https://www.cnblogs.com/jinyifei/p/14058639.html
二维码:

作业八

实验八

(1)参考教材PP16.1,完成链树linkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
用JUnit或自己编写驱动类对自己实现的linkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
(2)基于linkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树
用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
(3)自己设计并实现一颗决策树
提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
(4)输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
提交测试代码运行截图,要全屏,包含自己的学号信息
链接:https://www.cnblogs.com/jinyifei/p/14110926.html
二维码:

作业九

实验九
图的综合实践

(1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分)
(2) 图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)(4分)
(3) 完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环(3分)
(4) 完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出(3分)
(5) 完成有向图的单源最短路径求解(迪杰斯特拉算法)(3分)
链接:https://www.cnblogs.com/jinyifei/p/14199597.html
二维码:

码云链接:https://gitee.com/besti1923/java

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

原定5000行代码,还是没达到差了几百行,有遗憾也有收获,继续加油。

加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
需要更多的去学习,去更多的去打代码,注重实践,课上听和自己 *** 作完全两码事,也要多记住一些英语单词。

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

刚开始挺积极的,可后来随着课程难度加大,逐渐被困难吓到,变得不那么积极,我觉得以后遇到困难都要迎难而上。

课程收获与不足

收获:学会了很多知识,得到了很多东西,有一个很大的自我提升。
不足:在课程学习中有懒惰的现象,没有坚持下来,应该一直坚持。

问卷调查你平均每周投入到本课程有效学习时间有多少?

大约6个小时

每周的学习效率有提高吗?你是怎么衡量的?

还可以,就是有时候实验需要花费很多时间。

蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?

有作用,随机抽人很适合课堂学习。

你觉得这门课老师应该继续做哪一件事情?

继续提交实验时间能够延长,有时候确实实验可能做得慢。

你觉得这门课老师应该停止做哪一件事情?

无。

总结

以上是内存溢出为你收集整理的20192309 2020-2021-1 《数据结构与面向对象程序设计》 课程总结全部内容,希望文章能够帮你解决20192309 2020-2021-1 《数据结构与面向对象程序设计》 课程总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1053974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存