课程设计的题目有两大类:
1. 传统题目
-
Java课程设计任务书里面的题目。详见:Java课程设计参考资料
-
Java的一些小任务,可将里面的任务改造成课程设计。
2. 综合性题目(有一定挑战性、有趣、实用)
2.1题目特点:
- 无固定题目要求
可根据自己的想法自己出题,出提前最好和老师交流,以确定题目是否可行。
- 完成周期长、难度大、综合性强
较难,完成周期长,需要提前启动。
因为需要使用到诸多技术,综合性较强、难度大。
- 要使用到第三方类库
2.2 常见类库与技术参考资料
2.2.1 jsoup
网页解析工具。可用于简单的爬虫,爬取网上信息。
- 参考链接:jsoup
2.2.2 HttpComponents
使用Java代码操作HTTP。可以编写类似不通过网页查询成绩或者刷票这样的代码。
- 参考链接:HttpComponents
2.2.3 lucene
一个基于Java全文检索引擎工具包,可以使用其制作简单的搜索引擎或者基于内容的桌面搜索。
- 参考链接:Lucene、Lucene 全文检索入门
2.2.4 ECharts
网页图表(前端技术)
- 参考连接:ECharts
2.2.5 中文分词
ansjIKAnalyzerChinese Segmentor
2.2.6 POI(使用Java代码处理office文档)
先到POI下载将所需类库下载下来,然后参考Excel表格的快速入门代码快速编写处理Excel表格的代码。注意:请使用最新版本的Eclipse。
2.2.7 JSON处理
JSON常用于前后端数据交互。流行的JSON处理类库有jackson, gson与fastjson。国产阿里巴巴出品-Fastjson高性能的 JSON 处理 Jacksonjackson入门教程
2.2.8 JSP相关
JSTL(JSP Standard Tag Library,JSP标准标签库)
2.2.9 Git
2.2.10 Java FX
2.2.11 安卓、Web、网络相关、游戏
待补充
2.3 综合性题目
2.3.1 博客作业教学数据分析系统
根据Java班级博客中每次作业的数据,制作一个针对个人与老师的教学数据查看系统。个人可以查看自己作业完成情况、平时作业成绩映射到最终平时成绩、某次作业在班级的排名情况、个人作业完成度、个人PTA完成度(每次实验会提供相应的PTA成绩Excel表格)。老师可以观察一些总的统计结果,如每次作业的成绩分布、方差等数据分析功能、给教师的建议等功能。这些功能都要全自动化成。
- 涉及技术:网络爬虫、图表展示、数据分析、Web、Excel表格读写
2.3.2 基于学院网站的搜索引擎
对学院网站进行抓取、建索(需要中文分词)、排序(可选)、搜索、摘要显示。
可以是GUI界面,也可以是Web界面。
建索方面:也可以自己开发倒排索引
- 涉及技术:网络爬虫、中文分词、Web
2.3.3 垂直搜索引擎
只搜索某个领域的信息,比如去哪儿主要搜索旅店、出行相关信息,然后以组织好的页面呈现出来。
尝试针对集美大学的网站,设计一个图片搜索引擎或文档搜索引擎(doc, pdf, xls, xlsx)。
- 涉及技术:网络爬虫、Web、中文分词、Lucene、读取各种文档相关技术。
2.3.4 文档搜索
针对自己硬盘指定目录的列表中的所有txt、doc、docx、pdf
等文档进行内容搜索。
至少完成.txt
文档的搜索。
- 涉及技术:GUI、中文分词、Lucene
2.3.5 其他
游戏类:
请重点参考Java图形界面编程里面的Java游戏参考资料部分。
二. 团队分组及要求
==========
基本要求
-
自由分组完成(一组一般不超过3人)
-
使用git管理代码(希望得B及以上)
-
每个人都要负责一个相对完整的模块。必须包含代码编写工作,编程一定要规范。
-
前期调查与系统功能分析与设计由所有组员共同完成。
组长负责制
-
每个小组必需有组长,否则考核不及格。
-
组长需对项目的代码管理、代码质量、编码规范、进度推进、项目展示负责。
-
组长可适当加分
详细要求参看Java课程设计参考资料中的课程设计任务书文档。
三. 课程设计基本要求
===========
所有桌面程序都应可直接运行。不允许:通过IDE启动运行。
1.游戏类
阅读Java图形界面编程里面的两份文档:
Java游戏入门1-Java 2D games tutorial
Java游戏入门2-南洋理工大学的-Java Game Programming
老师考核时,可能从这篇文章中的一些概念出发进行提问。
2.数据库类
基本要求:
-
一定要使用老师提供的JDBCUitl.java或将数据库常用操作封装好的数据库工具类;
-
一定要使用DAO模式;
可选:
1.数据库连接池。
3.基于他人已有的代码的项目
考核前一定要说明参考了什么代码。
考核时主要讲解自己:新增、改进的功能。
4.网络类
基本要求:
-
直接操作Socket的一般都要使用多线程技术。
-
要搞清楚自己使用了什么网络协议?为什么使用这个网络协议。
可选:
- 涉及HTTP操作的使用JDK 11的HTTP Client或其他第三方类库。
四. 考核及提交材料说明
============
考核前请务必在IDE中使用阿里巴巴代码规范扫描插件对项目代码进行扫描,并解决项目中的所有警告。
负责编写博客的同学请在博客中列出改正前2-3个不同类型的扫描警告结果,并描述改正过程,请放入团队博客3.9。
1.考核过程
-
先将课程设计报告与项目压缩包上传至课堂派相应作业进行查重,查重超过30%不予通过。
-
叫老师检查之前,请事先准备好所有待检查事项(项目需可直接运行、课堂派提交电子版实验报告)。
-
将考核表格交给老师演示项目(组长先讲,组员再讲自己的模块)。老师根据考核表格中每个人负责的部分进行详细提问。然后在课堂派上打分。
-
组长:演示项目及自己负责代码
-
组员:自己负责模块(要达到代码级别掌握)
2. Java语言课程设计考核表格打印版(每组1份)
里面自己负责的模块需填写,不能留空。
3. 团队课程设计博客(每组1份)
3.1 团队名称、团队成员介绍、任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长。
3.2 如果有参考他人代码,请给出项目所参考的其他项目的博客与链接。
3.3 本项目的git地址。
3.4 项目git提交记录截图(要体现出每个人的提交记录及提交说明)。
3.5 前期调查(主要包含别人做得怎么样、怎么做的内容)
3.6 项目功能架构图、主要功能流程图
3.7 面向对象设计包图、类图。如果类太多,可仅列出主要类。
3.8 项目运行截图或屏幕录制
3.9 项目关键代码分模块描述:模块名称-文字说明-关键代码(注意:不得直接复制所有源代码,仅粘贴最关键代码)。
3.10 项目代码扫描结果及改正。
3.11 项目总结(包括不足与展望、想要进一步完成的任务)
3.12 可选:其他,如感想等。
4. 课程设计报告电子版(每人1份)
每个人的课程设计报告基本内容如下,详见**《面向对象程序综合设计》课程设计报告模板.docx**文件。
-
团队课程设计博客链接
-
个人负责模块或任务说明
-
可选:自己的代码提交记录截图
-
自己负责模块或任务详细说明。
-
文字描述
-
关键代码截图
-
可选:使用JUnit为自己编写的方法进行测试的测试用例。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-aWhP95KT-1715776853778)]
[外链图片转存中…(img-LsuAYm9T-1715776853778)]
[外链图片转存中…(img-0wmjzO7b-1715776853779)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!