巧用程序实现技工学校的新生编班

点赞:4721 浏览:13916 近期更新时间:2024-02-04 作者:网友分享原创网站原创

一、开发背景

在技工类学校中,学生管理人员在每年的迎新工作过程中会遇到一个难题,即新生班级的编班问题.以笔者任职的学校为例,本校是广东省省属的高级技工学校,学生分为中级和高级两个层次,每个层次的专业都设置了十多个.近几年国家对技工教育尤为重视,学校处于良性发展阶段,招生形势良好,每年新生人数在2000人以上,同时每个专业的人数大多都超过100人,编班成为迎新工作中一项重要任务.

本校的学生信息管理系统早已上线,但并没有编班的功能模块,因此往年的编班工作都是通过人工来完成.学生管理人员用Excel表格记录新生注册报到信息,然后通过手工将同一专业的新生分为若干个班,再将每个班的学生资料录入学生管理系统.

人工编班的方式不但工作量大,效率极低,还不可避免地存在一定的人为因素,而这些人为因素极有可能造成一些不公平的情况,增加了学生管理的难度,给学生管理科和班主任的工作都带来不小的麻烦.

从以上的实际情况出发,笔者考虑开发一个实用性强的编班程序替代人工方式,帮助学校学生管理科解决新生编班的难题.

二、编班的原则

按照学生管理科新生编班的基本要求,编班遵循下列的原则:

编班总原则为随机性原则,尽量避免人为因素的干扰;

同一专业的每班人数基本均等;

同一专业的各班男女生比例基本均等;

巧用程序实现技工学校的新生编班参考属性评定
有关论文范文主题研究: 关于计算机网络应用的论文例文 大学生适用: 硕士学位论文、自考论文
相关参考文献下载数量: 97 写作解决问题: 怎么写
毕业论文开题报告: 论文模板、论文总结 职称论文适用: 职称评定、初级职称
所属大学生专业类别: 怎么写 论文题目推荐度: 经典题目

同一专业同一生源地的学生平均分配到各班.

三、程序设计的基本思路和功能的实现

1.程序实现目标

为了使得分班更具合理性,根据前述的分班原则,编班程序应实现以下目标:

各班人数大致均等;

同专业各班男女生人数比例相近;

避免同一地区学生扎堆.

2.前期准备以及数据表的使用

由于学校的学生信息管理系统的学生数据库已建成,为了实现新生编班功能,在数据库中新建名为“新生注册信息表”的基本表,新生注册时所有的新生信息通过电子表格导入该表中,与此同时,程序还需用到“新生注册信息表”中的两个数据表:“班级表”和“学籍表”.

3.设计思路

一是确定数据表的关键字段.基于编班原则和通过对“新生注册信息表”数据的分析,确定该表中的“专业”“性别”“生源地”为三个关键字段.

二是数据表排序.用SQL语句将“新生注册信息表”中同一专业的所有学生以“性别”和“生源地”排序,可以使记录集的男、女生记录分开,同一生源地的记录聚集.

三是确定班级数.确定每个专业的班级数是编班的首要任务,一般情况下以40~60人编成一个班为宜.检测设某专业共有新生120人,可考虑编成2个班,如有140人,则应编成3个班,但也有些专业由于自身的特殊性,班级人数可能少于40人.笔者通过与学生管理科的沟通,确定此项工作由学生管理人员根据具体情况人工选择决定,因此考虑在程序中设置下拉列表进行选择.

四是提取记录.根据确定的班级数,通过程序语句对排序后的记录集进行跳跃式提取,以2012级新生的高级计算机网络专业为例,检测设分为3个班,将“新生注册信息表”按照上述的查询排序方法排序之后的记录集从首条记录开始取得序号为1,4,7,10,等的记录,使这批新生加入2012级计算机网络应用1班,再取得序号为2,5,8,11,等的记录,加入2012级计算机网络应用2班.同理,再取得序号为3,6,9,12,等的记录,加入2012级计算机网络应用3班.提取的记录可以分别写入临时数据表,也可以直接写入“学生信息管理系统”的班级表和学籍表,编班完成.

4.开发工具

学校的学生信息管理系统为B/S架构,后台数据库采用SQLServer,该程序采用较为流行且功能强大的PHP作为开发工具.运行平台为WindowsServer2003企业版.


5.功能实现过程

(1)新生记录排序.程序需要对“新生注册信息表”进行查询,检索出同一专业的全部新生记录作为一个记录集,检测设当前需要编班的专业为“计算机网络应用”,在PHP程序中嵌入以下的SQL语句:

“Select*from新生注册信息表where专业like‘计算机网络应用’and级别like‘高级’orderby性别,生源地ASC”;

以上的语句执行后可以检索出“新生注册信息表”中“专业”为“计算机网络应用”的所有记录,并且以性别为第一关键字,生源地为第二关键字排序.

图1为执行此语句后的查询结果的记录集示意图.

由图1可以看出同性别并且同生源地的记录是聚集的.

(2)确定班级数.此项工作由学生管理人员根据具体情况人工选择决定,在程序中设置下拉列表进行选择.

(3)提取记录,写入数据表.通过两层循环跳跃式提取记录,以下为提取记录的示意程序:

for($i等于1,$i<=$k,$i++)

{

for($j等于$i-1,$j<$db.length,$j=$j+$k)

{

//此处略去提取记录集$db的记录并用Insert语句写入班级表和学籍表的语句.

}

}

程序段的注释:

$db:查询某个专业并以“性别”和“生源地”排序后的记录集;

$k:班数,由人工确定,通过网页传递;

$i:外循环(班数循环)变量,表示班数,循环终值为$k;

$j:内循环(新生记录循环)变量,表示$db记录集的序号.

6.补充说明

根据以往的迎新经验,编班工作完成之后,必然会出现迟来的新生到校报到,部分学生由于各种原因需要更改专业、调动班级等情况,程序还应增加“加入班级”和“调动班级(包括跨专业调班)”等功能,由于设计思路和功能实现比较简单,在此就不再赘述.

四、结论

编班程序完成之后,学生管理人员通过程序可以轻点鼠标快速完成对新生各专业的分班工作,省去了人工分班的较大工作量,消除了对公平、平均原则不利的人为因素,同时也为学生管理科和班主任的后续工作提供了极大的便利.

灵活运用知识解决现实问题是技工学校计算机教师的必备素质.我们上课时将知识、思维方法及技术传授给学生,但不能仅仅把思维停留在课堂上,而是应该积极地发现问题,将知识灵活运用在日常的工作生活中,主动解决问题.不断创新、开拓、进取,不断地充实自己,为国家培养更多更优秀的技工人才.

(作者单位:广东省机械高级技工学校)