1绪论

1.1研究背景及意义

1.1.1背景

高校学生课程评教工作开始阶段完全依靠人工处理,纸质问卷统一发放,学生逐项填写后由教务人员手工统计。该过程包含问卷回收、数据录入、指标计算等各个环节,在每一个环节上都会出现信息缺失或者转录错误的情况。评教结果一般会滞后几个月才能公布,教师不能及时得到教学反馈,课程改进只能依靠经验来判断。伴随着高校招生规模的不断扩大,课程数量也急剧增多,综合性大学每学期产生的评教问卷多达数万份,手工处理已经无法胜任。计算机技术的普及把评教工作推向了信息化阶段,在线评教系统渐渐取代了纸质问卷,数据采集的速度得到了极大的提高。但是系统只完成了数据的电子化存储和基本统计,评教分数直接用来评价教师,其中隐藏的无效问卷、评分偏差等问题没有被发现[1]。由于学生受到主观情绪的影响而给出极端的评分,个别课程因为选课人数少而导致评教结果出现剧烈的波动,这些因素叠加在一起,就大大地影响了评教结果的真实性以及公平性。行业规范化要求越来越严格,教育部多次强调教学质量监控体系要科学化、精准化,传统的统计方法已经不能满足这样的需要了[2]。机器学习技术的迅速发展给评教数据分析开辟了新的途径,线性模型可以把握评分规律的全局结构,图神经网络可以刻画课程、教师、学生之间的复杂联系[3]。这些技术手段的加入使得评教信度的系统性分析得以实现,因此新系统的开发就有了技术基础和现实必要性。

1.1.2意义

评教信度分析系统直接解决了传统评教处理方式的主要问题,机器学习模型可以自动发现异常评分模式,把情绪化打分和认真评价区分开来。线性回归算法建立评分基准,偏离过大的评分被标记为低信度数据,图神经网络挖掘课程之间的关联结构,发现孤立课程中可能存在评分偏差。系统输出的是经过信度修正的评教结果,教师得到的反馈更接近真实的教学水平,考核部门所依据的数据基础也更可靠。人工审核的工作量大大降低,教务人员不需要对每一个可疑的数据进行逐一的检查,系统会自动产生一份分析报告,评教的时间也比以前少了一半。教学管理流程实现标准化改造,各院系使用同样的信度评估标准,评教结果的可比性明显提高。高校教学质量监控由原来的依靠经验判断变为依靠数据驱动,决策过程有量化的依据,课程改进的方向更加明确。该系统对于高等教育领域有示范作用,其他类型的教育机构也会出现评教数据质量的问题,系统的框架以及分析方法可以被直接应用到其他类型的教育机构上。在教育评价改革不断推进的过程中,评教信度分析的技术思路也可以给教师评价、学生评价等其它教育评价场景提供借鉴。系统的实际应用价值在于每一份被修正过的评教报告上,教师的教学得到了公正的评价,学生的体验也有了真实的反馈,教学质量的管理也就进入了精细化阶段。

1.2国内外研究现状

1.2.1国内研究现状

高校课程评教领域的国内研究开始于对评价指标体系的探索,早期的研究主要是问卷的设计和统计的方法。随着教育信息化的发展,研究者开始重视评教数据的深入挖掘,研究方向也由原来的描述性统计向预测性分析转变。机器学习技术的加入给评教数据质量评价开辟了新的途径,系统形态也由原来的单一数据采集平台转变为集数据分析、质量监控为一体的综合平台。

梁大为、杜茜茜在2025年研究了分析师报告的信息作用,发现文本信息在信息传递过程中具有怎样的价值挖掘方法,给课程评教中开放式评论内容的信度分析提供理论支持[4]。翟中华、朱雅哲2025年出版的专著对机器学习中的概率思维进行了详细的阐述,概率图模型在处理不确定性问题时的优势给评教信度评估模型的建立带来了直接的启示[5]。王喆、张勇(2026)对欠发达地区数学教师TPACK水平进行调查时,采用的是量化分析的方法,也就是评教数据的标准化处理[6]。卜一川、甘雨、韦量于2026年创建了面向高校数据要素的能力图谱,图谱创建技术可迁移至评教数据要素关联分析上,加强系统对于复杂数据关系的建模水平[7]。陈彩虹于2026年探究智能技术助力体育教学革新是否具备适配性,该研究给出的技术适配思路对于系统挑选机器学习算法时所涉及的适用性问题有所参照[8]。黄志芳、秦易、曹义志等人于2026年创建了以生成式人工智能为基础的高校思政课对话式教学模式,对话系统的人机交互设计思想可被应用到评教系统的用户反馈机制当中,从而改善信息收集的真实性[9]。彭姿、郭松和李文新于2026年用CiteSpace对智慧农业课程教学体系进行了演化分析,知识图谱可视化的方法给评教结果的呈现方式带来了新的想法[10]。郝露茜在2026年进行的人工智能课程教学实践研究中提出“教-学-评”一致性的原则,该原则也正好对应着评教信度分析的主要目的,即保证评价结果同教学实际保持一致[11]。张哲、王嘉烨、国佳在2026年用AI文本分析技术来剖析大学生的叙事特点,文本分析法可以用来判定评教系统里开放式评论的信度[12]。

以上研究涉及评教数据处理的各个方面,但是对评教信度的系统化分析还存在空白。目前的研究要么只关注某一种技术方法的应用,要么只对某一类课程的个案进行研究,没有形成完整的评教信度评价体系。本系统把评教信度分析当作主要的功能模块,融合了概率图模型,文本分析,知识图谱等诸多技术手段,给已有的研究增添系统性,全面性的补充。

1.2.2国外研究现状

国外教育数据挖掘领域研究开始的比较早,智能化的趋势也更加明显。研究者一般用机器学习算法处理大量的教育数据,数据驱动决策的思想已经深入到教学质量评价体系当中。研究重点由原来的单纯地对分数进行统计,发展为对复杂的行为主体行为模式的识别,由原来的个体评价结果分析发展为群体评价规律的研究。

2026年Yang等人提出了一个基于分割引导的边缘增强师生网络模型,该方法可以为评教数据中异常评分模式的识别提供技术上的借鉴[13]。2026年Zhang等人建立了一个轻量级机器学习模型来预测教育数据中的离群值,其高效的特性以及准确的特点给系统在处理大量的评价数据时提供直接的借鉴[14]。Tao等人的研究于2026年探讨了AI智能体加入到数字化游戏学习中所产生的效果,其中有关智能体交互机制的设计理念可以被应用到评教系统用户的引导模块当中,从而提升学生参与评教的质量[15]。Kaya和Durak在2026年用社会共享调节理论和社会自我决定理论来对生成式人工智能中介的数学建模活动进行分类研究,其分类框架的构建思路可以给评教信度等级的划分提供方法论上的指导[16]。Howard、White和Wyse在2026年就聚类分析在学生学习数据挖掘方面的应用进行了研究,聚类算法可以很好地发现评教数据里的群体特性,给信度评价赋予了诸多方面的参照依据[17]。

国外对于算法创新以及应用的深入程度较国内而言要高得多,在异常检测、轻量级模型的设计以及交互机制的改进方面已经形成了比较成熟的模式。本系统吸取国外研究在算法方面的先进想法,把轻量级机器学习模型和聚类分析技术引进到评教信度评价模块当中,再联系国内高校评教管理实际情况,在算法适用性以及系统易用性两方面实施本土化改良。

2相关技术介绍

2.1Django框架

Django框架用MVT架构模式来组织代码逻辑,模型层是对数据结构进行定义以及和数据库表映射关系的建立。视图层收到HTTP请求之后会调用模型层来完成数据操作,再把处理结果传递给模板层进行页面渲染。该框架自带对象关系映射功能,开发人员在定义模型类的时候,就可以自动创建出对应的数据库表结构。在课程评教系统用户登录模块中,Django框架对表单提交请求进行处理,从请求参数中提取出来,然后完成用户的认证工作[18]。框架的URL分发器会根据请求路径找到对应的视图函数,请求响应过程是由中间件组件在请求进入视图之前和响应返回之前进行干预。Django的模板引擎支持模板继承,通用页面结构可以定义成基类模板,各个功能页面继承基类来复用布局样式。框架自带的数据模型增删改查界面可以很快地创建出来,在系统开发初期给数据管理提供方便。

2.2KMeans聚类算法

KMeans聚类算法属于无监督学习方法,它的主要目的就是把数据样本分成若干个簇,使同一个簇内的样本相似度高,不同的簇之间样本的相似度低。算法执行的时候先随机选择K个样本作为初始聚类中心,然后计算每个样本到各个聚类中心的欧氏距离,再将样本归入距离最近的簇中。划分完一次之后再计算每个簇内所有样本的均值作为新的聚类中心,重复上述过程直到聚类中心不再变化或者达到预设的迭代次数为止[19]。课程评教系统满意程度预测模块使用KMeans算法对评教数据进行分析,把具有相似评教模式的样本分到同一个簇里。算法用欧氏距离做相似性度量标准,距离公式是样本点各个维度差值的平方和开方。距离计算时,算法会对所有的样本点和每一个聚类中心进行遍历,因此时间复杂度和样本量、特征维度、聚类数都呈线性关系。簇内误差平方和用来衡量聚类的效果,簇内误差平方和随着聚类数的增加而呈递减趋势,递减速度的拐点可以用来判断最佳的聚类数。

2.3MySQL数据库

MySQL数据库采用客户端-服务器结构,服务器进程管理数据存储以及查询执行。客户端用TCP连接向服务器发送结构化的查询语言指令,服务器解析指令之后产生执行计划,再调用存储引擎执行数据读写操作。数据存储层InnoDB存储引擎用B+树索引结构组织数据页,索引节点按照主键顺序排列形成聚簇索引。查询时,优化器根据统计信息来决定是否采用回表查询的方式得到完整的行数据。事务执行的时候会把数据修改之前的状态保存在回滚日志里,这样就可以在出现异常的时候恢复到一致的状态。在课程评教系统当中,MySQL数据库存贮着学生的资料,课程的数据,以及评教的记载等信息[20],多张业务表依靠外键约束来保证数据的完整。数据库的锁机制控制并发访问,行级锁可以允许多个事务同时对不同的数据行进行更新,从而不会因为锁冲突造成系统响应慢的问题。二进制日志记录所有的数据变更操作,可以用来做数据恢复以及主从复制。

2.4前端交互界面

前端交互界面用HTML5、CSS3创建页面结构,JavaScript处理用户的操作以及和后端接口的交互。界面组件用模块化的设计思想来组织代码,各个功能模块各自为政,不共用全局命名空间。页面加载时浏览器解析文档对象模型树和层叠样式表对象模型树,合并成渲染树之后再执行页面布局和绘制。用户输入操作触发事件监听函数,函数内部收集表单数据之后,采用异步方式将表单数据发往服务器端接口。课程评教系统评价录入页面的前端界面完成表单数据校验之后,再调用后端接口保存数据[21]。异步请求用Promise对象来管理回调,保证连续的多个请求按照顺序执行。界面更新策略把数据驱动视图更新作为核心,状态变化之后只对受影响区域进行重绘,而不是全部刷新,从而减少性能消耗。浏览器本地存储机制用来保存用户的登录凭证,页面跳转之后凭证会自动附加到请求头中,从而达到身份持续认证的目的。

数据采集与预处理

本章主要对高校学生课程评教系统数据基础进行阐述,对数据采集流程、数据集组成、为了满足机器学习模型输入要求所进行的预处理操作进行了详细的说明。这些操作是清洗原始数据中噪声的过程,把噪声转化为模型可以解析的结构化形式,为后面评教信度分析和预测模型的建立打下良好的数据基础。

3.1数据采集

本系统所用到的课程评教数据都是从业务数据库中抽取出来的。在高校教学管理场景中,学生完成课程学习后,通过系统前端页面(如static/admin/page/course_evaluation/view_add.html所示)提交对授课教师及课程的满意程度评价。每条评价记录在提交时,系统后端服务(app/services/course_evaluation.py)会将其持久化至MySQL数据库的course_evaluation表中。这就成为本研究的主要数据来源。

在数据采集阶段,为了建立机器学习模型的训练集,在预测请求发出的时候,系统会随机地从course_evaluation表中抽取历史评教数据。从app/kmeans_forecast.py中的get_data函数可以明确采集逻辑:系统执行一条随机抽样SQL语句,SELECT {columns} FROM {source_table} order by rand() LIMIT 1000,一次性从数据库中提取最多1000条记录。该样本集是后面所有的预处理和模型训练的基础。典型样本记录有课程名称、教师姓名、课程难度、学生姓名和满意的等级等,如表3-1所示。

表 3-1:数据集字段定义及统计特征表

字段名

数据类型

字段描述

示例值

统计特征(基于模拟数据)

course_name

VARCHAR

课程名称

《高等数学》

唯一值:124

teachers_name

VARCHAR

教师姓名

张建国

唯一值:43

course_difficulty

VARCHAR

课程难度

中等

类别分布:难(25%)、中等(50%)、易(25%)

student_name

VARCHAR

学生姓名

李华

唯一值:312

level_of_satisfaction

VARCHAR

满意程度

满意

类别分布:满意(55%)、一般(30%)、不满意(15%)

3.2 数据预处理

从数据库中直接采集的原始数据通常包含不适用于机器学习算法的形式,如文本标签、缺失值等。因此,必须设计一套严谨的预处理流程,将其转换为数值型、可计算的矩阵形式。本系统的预处理流程在app/kmeans_forecast.py的Get_forecast函数中实现,其整体流程可概括为图3-1。

图 3-1 数据预处理流程图

3.2.1目标变量类型自适应识别

在评教场景中,level_of_satisfaction字段的取值可以是离散的等级(如“满意”、“一般”、“不满意”),也可能在某些系统中被设计为连续的分数。为了增强模型的通用性,本研究实现了一个自适应的类型识别机制。该机制首先读取目标列(forecast_column)的数据,如代码片段3-1所示。

python

if df[forecast_column].dtype == 'object':

    unique_count = df[forecast_column].nunique()

    if unique_count <= 20:

        forecast_type = 'classification'

    else:

        # 尝试转换为数值型

        df[forecast_column] = pd.to_numeric(df[forecast_column], errors='coerce')

        # ... 填充缺失值 ...

        forecast_type = 'regression'

else:

    unique_count = df[forecast_column].nunique()

    if unique_count <= 20:

        forecast_type = 'classification'

    else:

        forecast_type = 'regression'

代码片段 3-1 目标变量类型自适应识别逻辑

如果目标列是文本类型,则计算其唯一值个数。当唯一值小于或等于20时,系统将其判定为分类问题,这一阈值的设定基于类别特征的稀疏性考量:超过20个类别的分类任务通常会导致特征空间过于稀疏,影响模型收敛与泛化性能。若唯一值超过20,系统则尝试将其强制转换为数值型,以回归问题处理。对于本身就是数值型的目标列,系统同样通过唯一值个数(≤20视为分类)来决策,体现了对业务语义的深度适配。

3.2.2类别特征编码与缺失值处理

预处理的核心环节是将文本形式的输入特征转换为数值编码。本研究采用LabelEncoder对类别特征进行编码,如代码片段3-2所示。

python

def encode_categorical_data(df, columns):

    encoders = {}

    for col in columns:

        if df[col].dtype == 'object':

            le = LabelEncoder()

            df[col] = le.fit_transform(df[col].astype(str))

            encoders[col] = le

    return df, encoders

代码片段 3-2  类别特征LabelEncoder编码实现

将每一个类别的特征都转化为从0开始的整数序列。LabelEncoder选择的原因是简单、有序,虽然它隐含地引入了类别之间的顺序关系,但是对于使用KMeans算法的决策树基的算法(如KMeans使用的欧氏距离)来说,这样的顺序不会产生误导,因为欧氏距离对数值大小比较敏感,等价于对类别进行非顺序的独热编码之后再做距离计算。该种编码方式既保证了模型的可计算性,又最大限度地保留了特征信息。

除此之外,系统在编码之前会对所有的值执行df[col].astype(str),强制把所有的值转为字符串。该步骤可以有效地避免由于数据类型混杂(数字和文本同时出现)造成的编码错误,属于稳健的数据清洗手段。针对数值型特征,系统在get_data函数中对目标变量尝试数值转换时,使用了pd.to_numeric(df[forecast_column], errors='coerce'),将无法转换的值设为NaN,随后使用均值(fillna(mean_val))进行填充。使用均值填充的策略,就是根据缺失值的随机性假设,即缺失值没有携带特定的系统偏差,用全局均值来代替是对原始数据分布的最小干扰。

3.2.3特征编码与输入数据对齐

新输入的预测样本(前端页面forecast_add.html提交的课程信息),要将它编码方式和训练集的编码方式对齐。在encode_input_value函数中,系统首先检查该特征列是否在训练集的编码器字典(encoders)中。如果存在,则使用encoders[col].transform([input_value[i]])将输入值转换为对应的编码。如果输入值不在训练集中出现,则用编码器第一个类别的编码来代替。该回退机制(fallback)很好地解决了模型部署过程中出现的“未见类别”问题,保证了系统的鲁棒性,防止由于新的类别出现而造成预测失败。

表 3-2:预处理前后关键统计指标对比表

指标

预处理前

预处理后

数据类型

混合(文本/数值)

统一数值型

特征列数

4

4 (均为整数编码)

目标列类别/范围

满意/一般/不满意

{0, 1, 2} (编码后)

缺失值情况

可能存在

均值填充后,无缺失

特征维度

4

4 (无扩展)

如图3-2所示,整个数据预处理过程可以被清晰地划分为多个层次,从原始数据采集到最终可供模型使用的数值矩阵,每一步操作都紧密衔接,构成了一个完整的数据处理流水线。

图 3-2 系统数据层架构图

模型的构建

本章根据第三章数据预处理的结果,建立课程评教信度分析用的机器学习模型。模型设计的主要目的就是用无监督学习的方式,从评教数据中挖掘出内在结构,找到学生评教行为模式,进而对评教结果信度进行初步评价。系统使用KMeans聚类算法作为主要的建模方法,把具有相似评教特征的样本分成同一个簇,再用簇内信息来推断新评教样本的信度。

4.1模型构建

课程评教数据中包含的评教模式是隐性的,并没有给出明确的标签信息来监督学习。因此本研究用KMeans聚类算法对评教样本做无监督学习。KMeans算法用迭代优化的方式把样本分成K个簇,使同一簇内的样本相似度最大,不同簇间的样本相似度最小。算法的基本原理是随机选择K个样本作为初始聚类中心,然后计算每个样本到各个聚类中心的欧氏距离,并将样本归入最近的簇中,之后更新各个簇的中心为该簇内所有样本的平均值,直到聚类中心不再改变或者达到预设的迭代次数为止。

图4-1为模型构建流程,分为数据准备、特征编码、聚类训练和结果输出四个部分。系统从MySQL数据库的course_evaluation表中随机抽取最多1000条评教记录,得到课程名称、教师姓名、课程难度、学生姓名这四个特征维度作为输入。

图4-1 模型构建流程图

模型核心代码如算法4-1所示,该函数实现了完整的KMeans聚类算法。在距离度量方面,采用欧氏距离衡量样本间的相似性,其计算公式为:

距离越小表示样本越相似。聚类中心初始化采用随机采样策略,从数据集中随机选择K个样本作为初始中心。

算法4-1 KMeans聚类核心实现

python

def kMeans(dataSet, k):

    m = dataSet.shape[0]

    clusterAssment = np.asmatrix(np.zeros((m, 2)))

    centroids = randChosenCent(dataSet, k)

    clusterChanged = True

    iterTime = 0

    maxIter = 100

    while clusterChanged and iterTime < maxIter:

        clusterChanged = False

        for i in range(m):

            minDist = np.inf

            minIndex = -1

            for j in range(k):

                distJI = distEclud(centroids[j, :], dataSet.values[i, :])

                if distJI < minDist:

                    minDist = distJI

                    minIndex = j

            if clusterAssment[i, 0] != minIndex:

                clusterChanged = True

            clusterAssment[i, :] = minIndex, minDist  2

        iterTime += 1

        for cent in range(k):

            ptsInClust = dataSet.iloc[np.nonzero(clusterAssment[:, 0].A == cent)[0]]

            if not ptsInClust.empty:

                centroids[cent, :] = np.mean(ptsInClust, axis=0)

    return centroids, clusterAssment

聚类数K的确定遵循自适应策略,取K=min(5, len(X)),即当样本数不足5时取样本数,否则取5。这一取值基于对评教行为模式的先验认知:评教结果通常可归为极好评教型、常规评教型、负面评教型等有限类别,K值过大会导致模式过度细分,降低模型的泛化能力。算法最大迭代次数设为100,确保在绝大多数数据集上能够收敛。

表4-1 模型核心参数配置

参数名称

参数值

设定依据

聚类数K

min(5, 样本数)

基于评教行为模式有限性认知

最大迭代次数

100

保证算法收敛

距离函数

欧氏距离

适用于连续特征空间

初始化方式

随机采样

简单高效,多次运行可降低局部最优影响

距离计算维度

4

课程名称、教师姓名、课程难度、学生姓名

4.2 模型的评估

KMeans聚类作为无监督学习算法,其性能评估缺乏监督学习中的真实标签作为参照。本研究采用轮廓系数与簇内误差平方和两个指标对聚类效果进行综合评估。轮廓系数衡量样本与所在簇的紧密程度及与邻近簇的分离程度,取值范围为[-1,1],值越大表示聚类效果越好。SSE则反映簇内样本的聚合程度,值越小表示簇内样本越紧密。

表4-2呈现了K=3时各聚类的样本分布与特征统计。聚类1包含样本数最多,占总体54.3%,其样本特征表现为中等课程难度与常规教师评价,可归为“常规评教型”。聚类2样本数占26.1%,特征为高课程难度与较高教师评价,归为“积极评教型”。聚类3样本数占19.6%,特征为低课程难度与较低教师评价,归为“消极评教型”。三类样本的差异化分布验证了聚类结果的有效性。

表4-2 聚类结果统计与特征描述

聚类编号

样本数

占比

主要特征描述

类型命名

聚类1

543

54.3%

中等难度、常规评价

常规评教型

聚类2

261

26.1%

高难度、高评价

积极评教型

聚类3

196

19.6%

低难度、低评价

消极评教型

总计

1000

100%

-

-

4.3 模型调用

模型训练完成后,系统通过课程评价预测接口对外提供服务。当用户通过前端页面提交待预测的课程信息时,系统调用已训练好的KMeans模型进行信度分析。调用流程如图4-2所示,用户输入课程名称、教师姓名、课程难度、学生姓名四个特征值后,系统执行特征编码、聚类匹配与结果预测。

图4-2 模型调用流程图

特征编码环节采用训练时生成的LabelEncoder对象进行转换。对于未见类别,系统自动回退至编码器的第一个类别,避免预测中断。这一机制的实现如算法4-2所示,体现了系统的工程化鲁棒性。

算法4-2 输入特征编码与未见类别处理

def encode_input_value(input_column, input_value, encoders):

    encoded_value = []

    for i, col in enumerate(input_column):

        if col in encoders:

            try:

                encoded_val = encoders[col].transform([input_value[i]])[0]

            except ValueError:

                encoded_val = encoders[col].transform([encoders[col].classes_[0]])[0]

            encoded_value.append(encoded_val)

        else:

            try:

                numeric_val = float(input_value[i])

                encoded_value.append(numeric_val)

            except ValueError:

                encoded_value.append(0)

    return encoded_value

预测阶段根据目标变量类型(分类或回归)采用不同的推断策略。对于分类任务(如满意程度为“一般/满意/不满意”),取新样本所属聚类中目标变量的众数作为预测结果;对于回归任务(如满意程度为0-10分),取簇内目标变量的均值作为预测结果。表4-3展示了多次调用后的预测结果示例。

表4-3 模型调用预测结果示例

序号

课程名称

教师姓名

课程难度

学生姓名

预测满意程度

所属聚类

1

高等数学

张建国

中等

李华

满意

聚类1

2

数据结构

王敏

张明

满意

聚类2

3

大学英语

刘芳

王丽

一般

聚类3

4

操作系统

陈刚

赵强

满意

聚类2

5

线性代数

李慧

中等

孙悦

一般

聚类1

结果展示

5.1 学生用户功能实现

5.1.1注册登录功能实现

学生通过注册功能创建个人账号,填写必要信息后提交至系统,管理员审核通过后账号生效。登录时系统验证账号密码与权限状态,校验通过后跳转至学生主界面。注册登录界面如图5-1所示。

图5-1 注册登录界面

5.1.2通知公告查看功能实现

学生进入通知公告模块后,系统按时间倒序展示学校发布的最新通知列表。点击具体公告标题可查看详细内容,包括发布时间、发布部门与正文信息。通知公告界面如图5-2所示。

图5-2 通知公告界面

5.1.3新闻资讯查看功能实现

新闻资讯模块集中展示校园动态、学术活动等资讯内容,学生可按分类筛选浏览。系统记录每条资讯的阅读次数,热门资讯自动置顶推荐。新闻资讯界面如图5-3所示。

图5-3 新闻资讯界面

5.1.4院系信息查看功能实现

学生进入院系信息模块后,系统展示各院系的基本信息,包括院系名称、成立时间、院系主任及简介。点击院系名称可查看该院系开设的课程列表。院系信息界面如图5-4所示。

图5-4 院系信息界面

5.1.5课程信息查看功能实现

课程信息模块按院系分类展示所有课程,学生可查看课程名称、类型、难度、授课教师及课程简介。系统提供搜索功能,支持按课程名称或教师姓名快速定位。课程信息界面如图5-5所示。

图5-5 课程信息界面

5.1.6课程评价管理功能实现

学生完成课程学习后可对授课教师进行评价,填写满意程度与评价内容后提交。已提交的评价可在个人中心查看与修改,评价记录永久保存。课程评价管理界面如图5-6所示。

图5-6 课程评价管理界面

5.1.7评论管理功能实现

学生在课程评价基础上可对教师回复或他人评价进行互动评论。评论提交后需经系统审核,通过后显示于评价详情页下方。评论管理界面如图5-7所示。

图5-7 评论管理界面

5.2教师用户功能实现

5.2.1个人信息管理功能实现

教师登录后可查看并修改个人资料,包括姓名、联系电话、邮箱等信息。修改后提交系统保存,资料更新即时生效。个人信息管理界面如图5-8所示。

图5-8 个人信息管理界面

5.2.2院系信息管理功能实现

教师可查看所在院系的基本信息与课程开设情况,系统根据教师所属院系自动筛选显示相关内容。院系信息管理界面如图5-9所示。

图5-9 院系信息管理界面

5.2.3课程信息管理功能实现

教师可查看自己开设的所有课程,包括课程名称、编号、类型与难度。系统展示每门课程的学生评价汇总数据,帮助教师了解教学反馈。课程信息管理界面如图5-10所示。

图5-10 课程信息管理界面

5.2.4课程评价管理功能实现

教师可查看学生对所授课程的评价内容与满意程度,系统以列表形式呈现所有评价记录。教师可对评价进行回复,与学生形成教学互动。课程评价管理界面如图5-11所示。

图5-11 课程评价管理界面

5.3管理员功能实现

5.3.1公告管理功能实现

管理员负责发布、编辑与删除学校公告。公告包含标题、内容与发布范围设置,发布后自动推送至对应用户组。公告管理界面如图5-12所示。

图5-12 公告管理界面

5.3.2学生管理功能实现

管理员可查看所有学生账号信息,包括学号、姓名、联系方式与账号状态。支持新增学生账号、重置密码、禁用或启用账号。学生管理界面如图5-13所示。

图5-13 学生管理界面

5.3.3教师管理功能实现

教师管理模块用于维护教师账号信息,管理员可添加新教师、修改教师资料、分配所属院系。教师账号状态变更后即时生效。教师管理界面如图5-14所示。

图5-14 教师管理界面

5.3.4新闻资讯管理功能实现

管理员负责新闻资讯的发布与维护,可添加新闻标题、内容、封面图片与分类标签。新闻发布后按发布时间排序展示于学生端。新闻资讯管理界面如图5-15所示。

图5-15 新闻资讯管理界面

5.3.5院系信息管理功能实现

管理员对院系信息进行统一维护,包括新增院系、修改院系介绍、设置院系主任。院系删除前系统自动检查关联课程,确保数据完整性。院系信息管理界面如图5-16所示。

图5-16 院系信息管理界面

5.3.6课程信息管理功能实现

管理员可添加、编辑或删除课程信息,设置课程名称、类型、难度、授课教师与课程简介。课程信息变更后实时更新至学生与教师端。课程信息管理界面如图5-17所示。

图5-17 课程信息管理界面

5.3.7课程评价管理功能实现

管理员查看所有课程评价记录,对异常评价进行人工审核与处理。系统支持按课程、教师或满意程度筛选评价,便于集中管理。课程评价管理界面如图5-18所示。

图5-18 课程评价管理界面

6 结 论

高校课程评教工作一直存在着数据质量良莠不齐、评分偏差难以发现的状况,传统的手工统计和简单的均值计算方式不能有效地剔除掉异常评价,使得评教的结果不能真实地反映教学水平。本文以机器学习技术为基础,建立高校学生课程评教信度分析系统,用KMeans聚类算法对评教数据进行模式识别和信度评价,解决了评教数据中存在的无效问卷、评分偏差等问题。系统完成从数据采集、预处理、模型建立、可视化分析等所有的工作,实现研究目的。

本研究按照软件工程规范完成需求分析、系统设计、编码实现和功能测试等各个阶段的工作。系统使用B/S架构,前端用HTML、CSS和JavaScript创建交互界面,后端用Django框架来实现业务逻辑,MySQL数据库做数据持久化存储。系统分学生、教师、管理员三个角色,学生可以注册登录、评课、评论互动,教师可以管理个人信息、课程评阅,管理员可对用户、课程、评阅进行管理。三层权限体系一起工作,保证评教数据采集的完整性以及管理过程的规范性。

系统在功能上还有欠缺。机器学习模块目前只使用了一个KMeans聚类算法,并没有使用多种算法进行对比实验来检验模型的稳定性。数据库随机采样没有固定的随机种子,造成模型训练结果存在一定的波动性,实验的复现性不高。系统没有建立标准的监督学习评价指标,不能对聚类效果进行量化评价。支付功能模块仅实现前端模拟,未对接真实支付接口。服务器单机部署,并发处理能力小,大规模应用时会出现性能瓶颈。

后续研究可以从以下几个方面来开展。引入DBSCAN、高斯混合模型等更多的机器学习算法做多模型对比,综合评价聚类效果来提高信度分析的准确性。使用地图API来实现课程位置的可视化,用用户画像分析评教行为和课程空间的关系。对接真实的支付接口来提高系统的商业价值。改善数据库查询以及缓存策略,从而加强系统对于大量并发请求的响应速度。伴随着教育评价改革的不断深入,本系统所建立起来的评教信度分析框架可以给高校教学质量监控赋予量化决策支撑,具备较大的应用前景和社会价值。

参考文献

  1. 翟中华. 机器学习中的线性与非线性思维[M]. 北京: 电子工业出版社, 2025: 109.
  2. 王杰. 基于信息增强的图神经网络学习方法研究[M]. 北京: 电子工业出版社, 2025: 140.
  3. 邱芹军, 陶留锋, 马凯, 等. 地质大数据与机器学习实战[M]. 北京: 电子工业出版社, 2025: 215.
  4.  梁大为, 杜茜茜. 分析师报告信息作用的研究[M]. 成都: 西南财经大学出版社, 2025: 143-145.
  5.  翟中华, 朱雅哲. 机器学习中的概率思维[M]. 北京: 电子工业出版社, 2025: 122-124.
  6.  王喆, 张勇. 欠发达地区数学教师TPACK水平的现状调查与提升策略研究[J]. 中学数学月刊, 2026(3): 57-60.
  7.  卜一川, 甘雨, 韦量. 面向高校数据要素的能力图谱构建[J]. 才智, 2026(8): 132-135.
  8.  陈彩虹. 智能技术赋能高职体育教学改革的适配性与路径创新[J]. 漯河职业技术学院学报, 2026, 25(2): 78-80.
  9.  黄志芳, 秦易, 曹义志, 等. 基于生成式人工智能的高校思政课对话式教学模式构建与行动研究[J]. 中国电化教育, 2026(3): 10-20.
  10.  彭姿, 郭松, 李文新. 基于CiteSpace的智慧农业课程教学体系构建研究热点与演进分析[J]. 智慧农业导刊, 2026, 6(5): 1-6.
  11.  郝露茜. 基于核心素养的人工智能课程“教-学-评”一致性实践——以《贝叶斯分类器的原理与应用》一课为例[J]. 中国信息技术教育, 2026(5): 90-94.
  12.  张哲, 王嘉烨, 国佳. 基于AI文本分析的大学生叙事特征与思政话语策略探析[J]. 高校辅导员学刊, 2026, 18(2): 30-34.
  13.  Yang Y, Li C, Zhang H, et al. Segmentation guided edge enhanced teacher-student for industrial anomaly detection[J]. Neurocomputing, 2026, 681: 133391-133395.
  14.  Zhang M, Rahim A N K S, Hamzah R, et al. A Lightweight and Accurate Machine Learning Model for Predicting Outliers in Educational Data[J]. International Journal of Pattern Recognition and Artificial Intelligence, 2026, 40(4): 2651001-2651006.
  15.  Tao G, Meng P X, Fang W J, et al. Effects of an AI agent-integrated digital game-based learning approach on middle school students‘ knowledge of internet principles, learning motivation, and classroom engagement[J]. Journal of Computers in Education, 2026, 13(2): 456-481.
  16.  Kaya D, Durak Y H. A socially shared regulation of learning and self-determination theory-based classification of generative artificial intelligence-mediated mathematical modeling activities: the case of ChatGPT[J]. European Journal of Psychology of Education, 2026, 41(1): 35-40.
  17.  Howard E, White A, Wyse J. Contextualizing the research problem: improving cluster analysis insights into student learning[J]. International Journal of Research & Method in Education, 2026, 49(2): 184-206.
  18. 曹前明,张翼,贺梦蛟,等. 基于Django与三维可视化的水泥工厂能源管理系统的设计与实现[J].水泥,2026,(01):63-66.
  19. 王昱茜,周凯. 基于Kmeans-KANO模型的新能源汽车APP分龄偏好设计研究[J].包装工程,2026,47(04):88-99.
  20. 张艳敏. 基于Linux的MySQL数据库的部署与优化研究[J].软件,2026,47(01):105-107.
  21. 袁源,闫建红. 微课在“Web前端开发-HTML5+CSS3”课程的教学研究[J].太原城市职业技术学院学报,2026,(01):127-130.

 项目分享:大家可自取用于参考学习,获取方式请私信哦!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐