考完研开始具体写相关内容,可以看看这里🌃Summary And Schedule🌠

一些建议:

(⭐️简言:找答案、学Python、用procress、学word、按照需求和老师沟通改报告、拓展!!)

  • 1、一开始是去类似 CSDN上搜题解,看一看开始选题,建议先去看看。
  • 2、 主动学习高级语言 , 比如C、C#、C++、Python、Java、Rust、Go等等,不熟看不懂就别乱看。
  • 3、报告一定要画 程序流图 ,推荐processon(没什么别的比较好的作图软件,不要手绘)。
  • 4、报告给的 参考文档 可能真的传三代,有什么明显不需要的步骤建议和老师沟通,而不是自己不写跳过去。
  • 5、一定不要局限于题目,要做自己的 拓展 !!只按照题目去写⭐️不拓展最多拿良。
  • 6、学习 基本的word操作 ,比如样式是什么?字体怎么设置?段落怎么设置?目录怎么插入?
  • 7、Mac 录视频用自带的QuickTime Player,可以写一个逐字稿,对应着讲会更加流畅。

⭐️当然课程结束之后的考试周(也叫实践周),会给几个选题让写一份实践活动报告,报告不算分但是也是一个很好的学科调研,可以去bilibili刷刷视频找找方向,多截几个图做份报告,参考文献找几篇csdn、bilibili链接一类的水一下(如果比较厉害的话可以直接上 学校知网 or https://arxiv.org 找论文写参考文献)

所有题主要参考学校给的文档进行选题做题,最后按模版做计划表、期中报告、word报告、PPT、展演视频

一个Excel表选题,一个Word对所有题目进行详细说明。

1、高级语言程序设计课程设计

大一下学期的一门必修课,下面是我的选题,

记得当时猜成语Xcode中文输入流默认会把输入成语转换成拼音,后面把比对改成拼音了,

比如德高望重,对比的是degaowangzhong1,就很投机取巧

学号 姓名 类型 批次 项目编号 项目名 语言
04200122 魏启林 A I A16 发工资 C++
04200122 魏启林 A II A30 数字拆分 C++
04200122 魏启林 A III A57 房价 C++
04200122 魏启林 B I B07 猜成语 C++

2、面向对象程序设计课程设计

大二上学期的一门必修课,下面是我的选题,

两道题都有做好的模版和讲解视频,没什么难度但是需要一定的时间去理解实操

学号 姓名 类型 批次 项目编号 项目名 语言
04200122 魏启林 A I A02 阶乘和组合 Python
04200122 魏启林 B II B03 学生课程系统 Python

3、数据结构与算法课程设计

大二下学期的一门必修课,

相关资料(提取码: 62nt ),这个是期中那时候交的的,最后斗地主UI做好了,找不到了。项目整体是比较复杂的,这阶段也开始有很多很6的课程设计出现,比如机票值机,股票市场一类,属于正式开卷。

学号 姓名 类型 项目编号 项目名
04200122 魏启林 A A02 拦截导弹
04200122 魏启林 B B03 一元稀疏多项式计算器
04200122 魏启林 C C59 手机斗地主游戏

4、软件综合课程设计

大三上学期的一门必修课,实验报告和源码在 网盘链接(提取码: fca4 )

跟着黑马完全过了一遍Reegie外卖项目,项目中更多的是CRUD,调用API和库,总体上功能简单,没有什么难点,也没有高并发的场景可以供调优来实践,之后学到很多新技术,新框架的使用,确实大大简化了开发,提高了效率。

在项目的学习中遇到了一些问题(点击展开)

(1) 数据库的主键大都是由mybatis-plus的主键自动生成策略之雪花算法生成的,雪花算法生成的是一个Long类型的数字,而雪花算法生成的主键传输到前端的时候会出现精度丢失现象导致前端拿到的id和数据库中的id不一致。那么前端再发出请求无论是通过id查找数据还是修改数据都会因为id不一致而修改失败。因为后端使用64位存储长整数(long),最大支持9223372036854775807 2.前端的JavaScript使用53位来存放,最大支持9007199254740992,超过最大值的数, 可能会 出现问题(得到的溢出后的值);springboot前后端资源传输可以采用json格式字符串,我们可以添加消息资源转换器MessageConverters,将Long类型的数据序列化为字符串,添加后spring web mvc在处理controller返回值的时候会采用自定义的序列策略自动将Long/BigInt序列化为字符串,这样就可以解决Long类型数据精度丢失问题

(2) 在数据库表与表中共同含有的字段,在Reggie项目中如createUser,createTime,updateUser,updateTime这些字段十分通用几乎每个表中都有,此时如果对于每个表的每次操作都考虑填充这些字段无疑十分繁琐,代码重复度也高,mybatis-plus可以通过简单配置MetaObjectHandler类就能够在每个sql语句到达数据库之前检查对象是否有这些字段并进行自动注入,借助ThreadLocal本地线程变量来储存信息。

(3) 在WEB项目中经常会遇到一种情况,前端传输的参数在后端controller层中原有的对象无法全部接收到前端传输的所有参数,因此我们可以创建一个原有对象对应的DTO对象继承原有对象,拓展新的属性以便接收前端传输的全部参数。这一点在后端controller层返回值中也可以体现,Reggie项目中,controller的返回值封装成R对象中的data属性,即我们需要用一个对象封装前端想要的所有参数而返回,但有时候前端想要的所有数据可能后端已有的类都无法一个对象封装所有参数。因此我们可以在原有的类基础上继承一个子类拓展属性来满足要求。

(4) Redis支持很多语言,我们以JDK序列化器序列化的对象,别的语言写的服务器就无法正确的反序列化可能会导致乱码问题。如果真有这种需求可以考虑统一序列化为json格式的字符串,那么所有类型都能够访问。redis是二进制安全的,在redis中存储的数据其实是经过序列化的字节流,而redis中数据类型仅仅代表数据的组织结构,并不是值其真实存储的数据。在实际项目中我们需要将redis作为缓存使用,将从数据库中查询出来的数据存储在redis中,而查询出来的数据一般都是对象,List集合,甚至需要将map存进redis当中,这时后我们就需要考虑要使用redis提供的啥数据类型进行存储?我们可以统一用redis中的字符串类型来存储,将对象序列化为字节数组然后以字符串的形式保存在数据库当中。这样我们只需要配置RedisTemplate的value序列方式为JdkSerializationRedisSerializer,就可以将jave中的对象序列化为字符串,然后读出来的时候以同样的方式反序列化。

(5) 缓存一般都是用来解决读请求的,来降低落到mysql的访问压力,而当数据发生写操作时,需要根据实际需求可能需要删除redis缓存或者同步缓存和数据库的数据。对于一些简单的逻辑我们完全可以用注解来实现,比如需要使用缓存的读请求,一般都是先看缓存中有没有,如果有直接从缓存中拿,没有去mysql中拿并回写到缓存中。spring cache框架支持用简单的注解来满足简单的使用缓存的需求,但若是有较为复杂的逻辑还需要自己来实现。

(6) 主从复制中出现的问题,出现因为MySQL8的身份验证方式是 :Caching_sha2_password 从而导致从机连接主机失败,这是因为Caching_sha2_password验证插件安全性更高需要配置RSA密码交互方式,否则会失败,如果不想配置,可以使用MySQL5.7 之前的版本的密码验证方式:mysql_native_password,通过以下命令解决问题:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;从机可以通过show slave status\G 查看错误信息

5、计算机系统综合课程设计

大三下学期的一门必修课,选题是树莓派人脸识别

下面是部分相关内容,简单介绍了怎么进行系统课程设计

1、树莓派树莓派人脸识别-硬件组装+系统烧录

2、树莓派人脸识别-树莓派人脸识别-环境搭建、相机测试

3、树莓派人脸识别-人脸检测与识别实践部分

6、专业综合课程设计

大四上学期的一门必修课,所有相关的资料在百度网盘(提取码: 5f4b),

这个项目做的挺全面的,叫《基于SpringBoot的跨平台家居电商系统》,是一款适合小型企业在线销售的开源跨平台企业商城解决方案,旨在满足企业在线销售需求的同时降低搭建电商平台的成本和风险。(功能很全面,根据很多开源项目合并的一个项目,B2C2C并且在一家企业实际使用,各方面都还ok)

展演答辩准备:

  • 1、本地环境(Java、Maven、Node、MySQl、Wx开发者工具)

  • 2、运行Vue、Spring、微信开发者工具,准备好所有的调试环境

  • 3、答辩PPT、讲稿

7、毕业设计

大四下学期的毕业设计,《基于知识蒸馏的轻量化迁移模型在肺部疾病检测应用研究》

我觉得我做的挺好的,内容源码都在网盘和github,各部分写的都很详细。

数据集使用:ChestX-ray14(有些AUC过高的可能去掉了只有227例的Hernia做13分类的任务,但是正常来说都是做的14分类)

CXR8数据集

教师模型选择:OFA-595、CheXNet、Visformer-S、AutoFormerV2-T、EEEA-Net-C2

学生模型选择:EEEA-Net-C2

蒸馏损失:硬损失(Focal二元交叉熵损失)和软损失(MSE损失,相对于教师模型预测的误差)的加权和

结果:较优,CheXNet,结果还是比较好的,作为一篇研究性的本科论文是ok的

写作思路(补充知识,参考文献,写代码,完成论文)

实验思路

(1)预处理和划分ChestX-ray14数据集;

(2)对EEEA-Net-C2、OFA-595、CheXNet、Visionformer-S和AutoformerV2-T等模型进行初次CXR分类任务评估;

(3)执行知识蒸馏,将知识从CheXNet等模型迁移到EEEA-Net-C2,并进行第二次评估。