2022秋软工实践 第二次结对编程作业

这个作业属于哪个课程https://bbs.csdn.net/forums/fzusdn
这个作业要求在哪里2022秋软工实践 第二次结对编程作业
这个作业的目标生成符合现实的数据集,实现效益最大的点名算法,加强两人合作
学号032002106、051701128

重点功能及编程思考

  • 数据集生成器
      首先我们使用python生成了course矩阵(90×20),其中行表示学生、列表示单次点名;同时为满足“每门课程均有5-8位同学缺席了该学期80%的课,此外每次课程均还有0-3位同学由于各种原因缺席”的要求,我们运用python的随机数生成来记录每位同学的缺勤情况,若缺勤则登记为1,否则登记为0。
    在这里插入图片描述
course矩阵(90×20部分截图)

  其次,为了将学生的绩点和累计缺勤次数作为因素考虑到点名算法中,我们创建student矩阵(90×2),其中行表示学生、第一列表示学生的绩点(范围为1.5-3.9的随机数)、第三列为累计缺勤次数(开始时置为0,若缺勤则不断累加)。
在这里插入图片描述

student矩阵(90×2部分截图)

  最后在数据集生成的功能中,我们认为重点在于将学生绩点和课程缺勤情况相关联,即构造的课程缺勤情况中,绩点排名前10%的同学和绩点排名后10%的同学有1~2位同学缺席了该学期80%的课;除此之外,我们还将生成的数据集以二进制文件的形式保存在文件夹中,方便点名算法的读取。
在这里插入图片描述

数据集二进制文件(.npy)
  • 点名算法
      首先,由于第一次点名老师并不知道全体学生的情况,因此第一次点名的方式为全点。经过人工计算,第一次点名的评价标准范围在(5÷90=)5.56%~(11÷90=)12.22%之间,经过测试我们的点名算法第一次评价标准的值为6.67%如下图,符合预期值。
    在这里插入图片描述
第一次点名的评价标准值

   其次在第n次点名(n≥2)中,每次点名前系统要计算每位学生被点名的权重值,权重值由一下几部分组成:请添加图片描述

权重值计算公式

   对于公式的解释,若学生上次课点名时缺勤,则下次课点名时这项参数会占40%的比重;若学生累计缺勤次数越多,那么学生被点名的概率越大,这里的累计缺勤次数是指总的缺勤次数÷20,最后这项参数占比54%;学生的绩点分为前10%、后10%以及中间部分80%,前后部分10%被点名的概率会大一些,这部分占比6%。
   之后以及所计算出的90位学生的权重值,挑选出权重值最大的11位同学进行点名,再去计算评价标准。经计算和验证,我们的E值稳定在16%~18%区间,符合预期。
在这里插入图片描述

评价标准值

  最后我们认为这部分的重点功能在于将公式中所给的三种参数归一化,由于三种参数的单位以及所占比例不同,因此需要运用数学的知识对其进行归一化后再进行计算,从而确保答案的准确性。
在这里插入图片描述

数据集生成部分代码展示(共88行)

在这里插入图片描述

点名算法部分代码展示(共383行)

项目经历

  • 工作人员:JC & 丹
    请添加图片描述
JC(左) 丹(右)
  • 工位
    请添加图片描述
宿舍工位

结对感受

JC:本次我们的代码从数据集的生成再到算法的实现,总共编写的代码超过600行,在只有一点python语言的基础上编写本次作业对于我来说既是挑战也是学习的机会,我对于本次编程作业的感受是有点类似于数学建模,只是数学建模有给我们数据集而本次作业是自己生成,在大量的查询网络上的知识的同时我也进一步提高了自己的自学以及编程能力。
Cyd:本次合作相比上一次合作会好一些,但这次是起到辅助作用,有考虑过用C++来实现,但是商量之后还是采用python更方便。这次是为数不多的算法设计体验,一开始一筹莫展,生成数据集的过程多次推翻idea才敲定,对于一些理想的模型,又觉得不太合理,复杂一些的又实现起来眼高手低,看到了自己的短板所在。模型构建参数设定的过程中进行了反复修改讨论。学习构建参数模型,查询模型和语法知识的过程中,python的语言基础进一步夯实了。

收获事件

学会使用python的随机数生成判断矩阵,并且自己设计公式对问题进行求解,提高了代码能力和解决实际问题的能力。

PSP

PSPPersonal Software Process tags预估耗时/分钟实际耗时/分钟
Planning计划6060
Estimate估计这个任务需要多少时间6060
Development开发16001820
Analysis需求分析 (包括学习新技术)6090
Design Spec生成设计文档4545
Design Review设计复审3030
Coding Standard代码规范 (为目前的开发制定合适的规范)6060
Design具体设计150180
Coding具体编码10001200
Code Review代码复审9060
Test测试(自我测试,修改代码,提交修改90120
Reporting报告3030
Test Report测试报告--
Size Measurement测试报告1515
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划3030
Total合计17201950

学习进度表

第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
123023044熟悉random库的各个方法,构建基本的数据分布模型,调整模型参数
213536537了解各预测相关算法,对比性能
326062529验证合理性和稳定性

Github仓库地址和commit记录

仓库提交请记录

在这里插入图片描述

pycharm 提交推送界面

视频演示链接

B站新用户

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
【资源说明】 基于PHP实现游戏服务外部CDK交互功能(网页)+项目说明.zip 基于PHP实现游戏服务外部CDK交互功能(网页)+项目说明.zip 基于PHP实现游戏服务外部CDK交互功能(网页)+项目说明.zip 实现外部CDK兑换功能的WEB页面 - 基于php - 具有签到、后台授权、后台管理、网页GM功能 效果图: ![image](/Hk4e-Cdk-Interaction.png) 功能说明 根目录下 - 首页: DailySignIn.html - 服主快捷功能:AccountAuth.html 在Index目录下 - CDK兑换:CdkExchange.php - CDK添加:AddCdk.php - CDK批量生成:AddCdkRandom.php - CDK个人使用:AddCdkCommon.php - 玩家GM后台:PlayerGmBackstage.php - 服主授权平台1:PlayerAuthorization.php - 服主授权平台2:PlayerBackstage.php 如何部署 - 宝塔建站或php建站即可 Tips: - 网站前端仅仅是一个模板 我并不会具体设计 用的时候自行修改吧 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JC_Ftabf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值