基于Python数据分析的 模块课选课分班软件的设计与实现
作者:唐新彩 胡燕
来源:《中国信息技术教育》2021年第18期
        摘要:為充分培养学生的信息素养,提升高中生的信息意识,多方面地培养学生学习兴趣,高中学校普遍会给学生开设校本课或者创新选修模块课。课程涉及多个科目和全年级的学生,学生按兴趣选择对应课程,但人工处理学生的选课结果耗时耗力,本文给出基于Python的第三方数据分析处理库pandas的模块课分班软件,大大提高了分班效率,帮助教师快速获取学生的选课结果,充分体现了信息技术的优势。
        关键词:数据处理;python;pandas;DataFrame;选课分班
python安装教程win7
        中图分类号:G434 文献标识码:A 论文编号:1674-2117(2021)18-0070-04
        ● 问题描述
        笔者所在学校的每位教师都会根据自己的特长及学校规划、学生学习兴趣,针对高二学生开设创新选修模块课程,课程科目每年都会更新,主要是科学与技术学科类的拓展课程。历年开设过的课程如下页表所示。
        高二全年级学生根据自己的学习能力和兴趣特长从中选择一门课程拓展学习。技术科组教师需要根据学生的选课志愿、教室情况以及课程硬件设备(如平板电脑数量)情况来分配学生的选课结果。手动人工处理这些数据耗时耗力,给技术科组教师带来了较大负担。而Python在数据处理和分析方面有很大的优势,笔者发现基于Python 的pandas库编写的模块课选课分班软件,可以帮助教师快速获取选课结果,在解放教师的同时也体现了信息技术的魅力。
        ● 准备工作
        编写软件前需先采集好学生的选课志愿以及搭建好编写软件的平台。
        (1)首先确定好开设的课程和对应的授课教师、授课地点、授课人数、可容纳学生数等信息,把这些信息放在“课程设置.xlsx”文件中,作为选课分班的一个输入文件。目前用到的测试文件有两组,其中一组的“课程设置.xlsx”的内容如下页图1所示,列表项“可容纳学生数”的值“平均数”是指当同一上课时间内的学生数减去60后刚好能被3整除,那这个平均数就真的是平均数,但若不能整除,若余下1个,就放在课程1中,若余下2个,就放在课程1和课程2中。
        (2)采集数据。将以上第一步信息制作成选课单,然后在问卷星上以调查问卷的形式,让学生填写,填好后下载结果,并存放在“高二模块课选课结果.xlsx”文件中。这也作为选课分班的一个输入文件。部分选课结果展示如下页图2所示。
        (3)根据学校安排的课表把班级的上课时间制作成Excel文件,文件名为“上课时间.xlsx”。这也作为选课分班的一个输入文件,如下页图3所示。
        (4)软硬件环境如下。
        ①建议使用安装了win7或以上操作系统的计算机。
spring下载文件是读到内存吗乒乓球模拟器下载破解版下载
android编程入门指南 pdf
        ②安装了pandas库的Python编辑器:PyCharm、IDLE、Spyder (anaconda3)、海龟编辑器等。笔者使用的是Spyder(anaconda3)。
        (5)将“课程设置.xlsx”“高二模块课选课结果.xlsx”“上课时间.xlsx”三个输入文件与实现分班的Python软件包放在同一个目录下。
        ● 软件设计分析
        1.选课分班原则
        ①以学生角度。优先按第一志愿分班,再按第二志愿分班。如果第一志愿和第二志愿的课程人数都已经达到了可容纳学生数,再被随机分配到其他班。
做网站搭建好一点的公司        ②以课程角度。优先从第一志愿的学生中选择,再从第二志愿的学生中选择。如果第一志愿和第二志愿的学生加起来还不够课程的可容纳学生数,则随机选择学生。
js hover 触发事件        2.软件数据结构分析
        ①最主要的数据结构是DataFrame,不管是读入三个输入文件后的信息的保存,还是
分班中途数据的存储和分班后结果的存放都存放在DataFrame中,再把DataFrame数据保存到excel文件中。
        ②字符串、列表、集合:集合用来去重,列表用得非常多,很多信息都是放在列表中的,如由字符串组成的列表、由DataFrame组成的列表等。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。