智慧化程序设计实验实训平台建设

智慧化程序设计实验实训平台建设

[摘要]针对工程型远程教育特点,从智慧身份认证、教学资源重构和评价体系建设三个维度出发,设计并实现了智慧化程序设计实验实训平台。该平台采用人脸识别方式实现远程教育的过程控制,以知识块为建设单元,以专业技能提升为目标,重构远程教育教学资源,以分布式智能测评和不同岗位能力需求设计个性化评价机制。实际教学效果证明,该平台创新了远程教育教学服务模式,有效提升了学生自主学习意识和程序设计综合能力。

[关键词]远程教育;程序设计;资源建设;评价机制;身份认证

随着教育信息化的不断推进,远程教育已经成为成人(继续)教育的主流教学模式[1]。传统远程教育专注理论型通识课程网络教学平台的建设和应用[2],对工程实践型平台研究较少。程序设计是计算机类专业的核心技能,具有很强的工程实践性[3]。本文剖析工程型远程教育教学特点,从智慧身份认证、教学资源重构和评价体系建设三个维度出发,探索智慧化程序设计实验实训平台的建设与应用,创新远程教育教学服务模式,对创建智慧学习环境,建设终身教育体系,促进学习型社会发展具有重要意义[4]。

一、工程型远程教育的特点

成人(继续)教育的对象是社会上各行各业的成人,其参与工程型远程教育旨在提升职业素养和专业技能[5],完成不同发展阶段的晋升任务,具有很强的学习目的性。(1)突出实践性,专注技能提升。工程型远程教育不同于常规远程教育,实践性环境对配合理论学习、提升职业素养和专业技能具有重要意义,所有学习者都是为了增强岗位竞争力这一核心目标。(2)职业阶段不同,水平参差不齐。远程教育的参与者来自不同行业和不同岗位,其职业发展阶段各不相同,知识储备差距较大,专业技能提升目标也不尽相同,“同质化、普教化”教学模式及平台无法满足需求[6]。

二、平台的整体规划

(一)系统架构

基于远程教育的智慧化程序设计实验实训平台立足工程型远程教育特点,围绕智慧身份认证、教学资源重构和评价机制建设三个核心问题,将人脸识别技术[7]引入远程教育过程监控,实现智慧身份认证,保证远程教育的真实性和有效性,重构远程教育程序类课程,以知识块为建设单元,满足个性化学习需求,依托OJ系统,建设多元评价机制,促进多样化专业技能提升,切实改善远程教育智慧学习环境[8]。实验平台系统架构如图1所示。

(二)功能分析

1.智慧身份认证。该模块包括人脸样本特征库管理、人脸图像自动采集和上传、人脸识别、预警控制等功能。系统接轨校园信息化建设,构建所有学生的人脸图像特征信息库,通过人脸自动采集和上传、特征提取和人脸识别等技术,根据系统配置在平台登录环节和其他实验环节中实时进行身份验证[9],防止中途离开、代替学习等不良情况发生,实现远程的过程监控,保证整个学习过程都是由学生本人进行,确保教学效果的真实有效。2.教学资源重构。该模块包括程序设计知识点库管理、课程实验项目库管理、课程考试题库管理、科研孵化项目库管理、企业实训项目库管理、程序测试数据库管理等功能。围绕专业技能提升目标,重构程序设计类课程,凝练基本语法、顺序结构、选择结构、队列、图等程序设计核心知识块,再以知识块为建设单元,融合行业主流应用,校企、校校合作成果,构建各类实验教学项目库。在开展实验实训教学时,学生可以根据自身提升需求个性化选择知识块,重构个性化课程,满足个性化学习[10]。3.多元评价机制。该模块包括编译器智能选择、程序智能测评、分布式并发处理等功能。融合行业主流开发语言编译器,实现程序代码统一托管,引入OJ测评系统,融入代码抄袭检测[11]、代码等功能,针对编译、运行、数据测试等各个环节给出细致合理的评判标准,推行多元评价机制,帮助学生快速了解程序运行过程,并能根据不同的评判结果进行快速有效的修改,加深对程序语言设计的理解。同时,针对大规模远程教育特点,实现多服务器的分布式系统部署[12],确保测评服务的快速响应。4.系统管理。该模块包括系统日志管理、预警控制配置管理、数据库管理等功能。系统详细记录教师和学生的相关操作,形成系统操作日志,针对系统运行的关键节点和各类故障情况,形成系统运行日志,保证对系统的整体运行情况完全掌握。实现与智慧身份认证模块、多元评价模块的无缝连接,管理人脸识别参数、程序智能测评参数等配置信息。同时,实现对数据库的定点备份、指定还原等功能。5.用户管理。该模块包括学生信息管理和教师信息管理等功能。实现对教师信息和学生信息的批量添加、指定删除、定时备份等功能。6.统计分析。该模块包括成绩管理、图形统计分析、统计报表导出打印、综合查询等功能。针对教师和学生的整个教与学的相关信息,包括学生每次实验成绩、教师班级总体实验情况等,能够实现多条件的复杂数据查询,并针对各类对比性数据能形成直观的对比数据图表,同时还提供了相应数据的报表导出和打印功能。

三、平台的关键实现

(一)智慧身份认证

智慧身份认证的核心是通过人脸识别技术确保参与远程教育的是本人,防止代替学习、中途离开等情况。智慧身份认证适用于远程教育的各类网络教学平台,将其开发成功能独立的模块具有非常重要的意义。本文以.net作为开发平台,采用C++和HTML5等开发技术[13],接轨校园信息化建设,将学生注册时的电子照片作为人脸识别训练库,运用OpenCV构建平均人脸、特征脸和特征值(比率)等指标,创建学生人脸样本特征库,实现客户端自动人脸采集、上传和在线识别。同时,与平台学生信息进行共享,实时更新学生人脸识别训练图片库,保证人脸样本特征库的实时性和有效性。其核心流程如图2所示。学生登录平台进行学习或测试时,系统自动驱动客户端摄像头进行用户人脸图像获取,并自动上传到识别服务器,在识别服务器中通过特征脸(PCA)方法与样本特征库中的对应学生信息进行比对。如果比对值在允许范围内,则身份认证通过,继续学习或测试。否则,身份认证失败,给出提示信息。

(二)教学资源重构

教学资源是指课程视频、实验项目库、考试试题库、实训项目库等。传统远程教育只注重单一理论课程资源建设,同时存在“同质化、普教化”等问题。本文从成人教育特点出发,区别全日制高等教育,遵循OBE教育理念[14],以行业专业技能提升为目标,重构程序设计课程群,凝练核心概念、经典算法和关键技术等,以知识块作为教学资源构建单元,形成树形知识点库,创建MOOC、微课、虚拟项目等多样化教学资源库[15],实现优质资源的开放共享。具体建设中,重构C语言程序设计、java程序设计、数据结构等课程,凝练出基础语法、顺序结构、选择结构、循环结构、队列、堆栈、图等一级知识点,再对选择结构构建if语句和switch语句,对循环结构构建for、while、dowhile等二级知识点,以此类推,构建完善的程序设计知识点库。同时,根据不同行业、不同职位对程序设计能力的不同要求建设相应的实验项目库、工程实训库和考试试题库等。技术实现上,本文采用B/S三层体系结构,以.NET+SQLServer2016作为开发平台,以Ajax方式进行数据请求,以JSON方式组织数据传输,既保证开发的高效性,又保证系统部署和维护的便利性,确保信息管理的高效性和使用操作的友好性。

(三)多元评价建设

多元评价突出体现不同行业、不同职位对程序设计能力的不同要求,与重构后的教学资源实现匹配考核。通过分析项目经理、系统分析师、软件设计师、数据库工程师、软件测评师、程序员和测试员等职位的岗位履职能力要求,平台实现了完全拷贝、修改注释、重命名变量、重排代码块、常量替换、修改操作符或操作数顺序、修改数据类型、增加冗余语句或变量、拆分表达式、替换控制结构等代码抄袭或检测方法,创建了代码抄袭或、编译、链接、运行、测试数据验证、消耗时间和消耗内存等智能测评点,设计了CE(编译错误)、SE(系统错误)、RE(运行时错误)、PE(输出格式错误)、WA(答案错误)和AC(答案正确)、TLE(运行超时)和MLE(内存空间超出)等评价指标库。在进行远程教育时,根据学生的不同职位和提升目标,组合不同的方法、智能测评点及评价指标,形成个性化考核评价体系,开展达成式考核评价[16],切实提升学生的实践动手能力和岗位专业技能。多元考核评价的核心是智能测评,面对多用户、高并发的程序测评请求,本平台采用多服务器分布式系统架构,测评服务请求通过WebService方式进行通信,模拟数据库连接池构建程序测评请求池,通过负载均衡服务器中的任务分发控制器进行负载平衡[17],将测评请求分发到相应的测评服务器上,实现快速高效的程序测评服务响应。

四、平台的应用及意义

智慧化程序设计实验实训平台于2017年4月开始投入使用,依托嘉兴学院成人教育学院开展远程教育。截至目前,已有“C/C++程序设计语言”“Java程序设计语言”“数据结构”“程序设计综合实训”等课程在平台上应用,共有注册学生2000余人,知识点库和各类项目库包含的项目总计500余个,日均访问使用量达500人次以上。该平台同时还在浙江省省级实验教学示范中心———嘉兴学院计算机实验中心推广使用,效果良好。平台的建设与应用有效地促进了程序设计类课程的远程教与学,教师能够更加紧密地围绕程序设计类课程群建设,以知识块为建设单元、以专业技能为建设目标,构建实验教学项目库,实现资源的开放共享。学生则通过智慧身份认证更加注重学习过程,杜绝了中途离开、代替学习等情况的发生。同时,多元化评价机制的执行激发了学生的学习积极性,使学生能够根据自身提升需求完成达成式考核,有效促进了远程教育的开展。

作者:吴军强 许小东