首页 > 范文大全 > 正文

基于.NET与在线评测的分布式程序设计教学实验平台

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于.NET与在线评测的分布式程序设计教学实验平台范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:在我国,针对程序设计的课程在高校教学中占有重要地位,它不仅是计算机专业中最为关键的课程,也是其他专业的必修课程,因此足见其在高校教育中的重要地位。这类课程的学习效果与实践有着紧密的联系,但是这个目标的实现仍然存在许多困难,因为其在发展过程中出现很多难题。为了应对这些问题,本文在.net的基础上实现了与其在线评测有关的分布式程序设计教学平台。介绍了高校程序设计教学现状,解读了高校程序设计教学实验平台的设计,阐述了高校程序设计教学实验平台的应用。

关键词:在线评测;程序设计教学;教学实验平台

中图分类号:TP311.1-4;G652

高校方面的程序设计类课程主要包括数据结构和算法设计等,它们都有一个较为重要的特点:侧重于实践。学生如果想要很好地掌握程序设计技能,就要在大量设计实践中实现目的。当前,我国针对这类课程所采用的教学模式通常是课堂与实验相结合。如此的课程布局虽然具有流程简单的特点,但是仍然出现一些需要解决的问题,会影响到教学质量的提高。

1 高校程序设计教学现状

当前,高校针对程序设计的教学都是沿用教学和实验相结合的方式,将两者进行分离教学。如此的做法使得教学流程的操作变得简便,教师能够对教学进度实现较为良好地掌控,但是教学持续的过程中也会出现一些不可忽视的问题[1]。

在现实教学中,教师的教学侧重点在于理论知识的传授,对于实验部分则采取轻视的态度;如此的教学方式也使得教学的内容无法和实践进行有效的连接,使得学生的学习内容无法和实践的内容达到同步;学生在设计出程序之后,针对性的评测出现了空白的状况。教师在教学的过程中已经花费了较多的时间,因此再难抽出多余时间对作业进行仔细地检阅,针对学生的作弊行为也很难做出相应的监察,这种情况导致教学结果难以得到客观的评测结果[2]。

2 高校程序设计教学实验平台设计

2.1 系统架构

(1)客户端与服务器。这两个部分的程序的主要作用是用来辅助用户之间的交互,并针对这个过程中产生的交互信息进行整理。这个部分在架构方面通常是B/S和C/S两种架构,其中的C/S的使用需要在客户安装具有特殊功能的程序之后才能够实现,而B/S则是较为普及的,因为当前的操作终端几乎都有自备的浏览器,可以轻松地实现浏览功能,使得用户的使用效率得到提高,节省了学习用时[3]。

就目前而言,许多在线评测系统建立的平台基础都是LAMP,常用的PC背景系统是Windows,而Linux需要付出较高时间和安排成本,因此将IIS、Access/SQL Server以及.NET CLR相结合,设计出相应的平台[4]。

(2)评测模块。这个部分的功能是实现对使用者上交的代码和程序代码进行解析,在参照预设的数据信息和限定因素实现评测的过程。这类模块和服务器之间的信息往来一般是利用Web Service或者Socket等。其中的Socket在进行信息传递的过程中不必打开固定的端口,在某些方面也表现出较为良好的性能,因此信息传递方式可以选用Web Service。

在线评系统的开发是C++辅助之下完成的,使其能够在Linux的条件下实现运作。但是C++只能够在既定的平台中发挥作用,因此不能够在Windows环境中实现处理的目的,为了应对这种状况,必须将平台定位为.NET,以确保评测模块研发工作的顺利进行。

(3)数据库。它的功能是用来保存在线评测系统产生的各种数据信息。在进行设计的过程中,需要考虑那些没有对在线评测系统有过了解的高校的情况,对于它们在数据库上的布局工作就显得较为复杂。在应用.NET实现系统研发的过程中,想要实现对数据库的浏览只能在服务器的辅助之下完成。针对数据库和服务之间的连接媒介是微软企业库,针对SQL语句的差别进行针对性的应对,让不同种类的数据库实现紧密连接[5]。

目前,很多个体以及高校的电脑设备并没有配备数据库,当能够使用的数据只有一个的时候,则各种类型的测试都会变得较为棘手。而Windows自备了JET Database Engine,处于32位的环境中就可以在无任何外在支持的情况下实现对Access 数据库的进入,加之Access的保养工作较为便捷,所以其具有较强的应用性,如果能够兼容SQL Server,那么就会为未来系统的升级工作以及平台的转移预留下伏笔[6]。

2.2 分布式系统设计

当系统需要处理的业务较少的情况下,可以将程序服务器、评测模块以及数据库安置到单一的服务器里,如此的安排使得用户可以登录程序服务器进入系统,程序服务器则会与数据库之间产生联通,评测模块则在程序服务器的辅助下实现对评测表格的获取,然后通过一系列环节将终极结果回流到程序服务器之中。

在进行评测的过程中,可能会出现多台服务器同时发出请求的状况,为了防止出现拥堵的问题,因此应该将服务项目分布在不同的服务器之中,实现负荷的分担,在一些特殊的情况还可以增加服务器的数量。

针对这个部分的模块,当用户发出过多指令的时候,如果评测模块不能够实现较多的指令处理,就会导致评测延迟的出现。模块对程序的调动是通过Web Service实现的,因此模块的指令只需要能够通过网络进行传送即可发挥作用。

3 高校程序设计教学实验平台应用

实验平台最为重要的方面就是其现实应用,使其能够在教学和实验中发挥出应有的效能。因此在赋予其功能的过程中,不但要注意评测方面,还要关注其功能的拓展,实现使用者对于教学题目的修改增删。

功能模块的内容为评测、联系、比试以及使用者面板等四个部分。针对其进行应用,教师可以布置题目,为考试的随时布置提供便利性,也可以准备与实验相关的内容。从学生角度而言,他仅需要通过一台PC就可以实现对平台资源的使用,并且突破了时空的限制。

系统的管理权限的界定较为重要。系统管理员拥有固定的管理页面,可以实现对系统的全方位管控,比如题目、考试、用户准入等。而且这个页面实现了分类管理的功能,能够对系统中的存在差别性的各个课程实施有效的管理,并将试题也按照一定的规范进行存放。

4 结束语

当前,我国高校的程序设计类课程呈现出较多的新情况,使得教学工作的发展受到了阻碍,为了应对这些问题,提高教学效率,开发新的模式成为十分必要的举措。在这种情况下,教师如果不能针对各种情况做出相应的调整,便难以适应教学的现实要求。

参考文献:

[1]杨春明,杜炯,王磊.分布式程序设计实验平台的设计与应用[J].实验室研究与探索,2012(08):141-145.

[2]尤枫,史晟辉,赵瑞莲.编译程序在线评测系统的实现[J].实验室研究与探索,2010(12):156-158.

[3]何钦铭,颜晖,苏小红,叶乃文.“程序设计基础”课程教学实施方案[J].中国大学教学,2010(05):118-119.

[4]耿国华.程序设计能力培养模式的探索与实践[J].中国大学教学,2009(03):116-118.

[5]万臣,谢芳,胡泉.计算机专业程序设计课程群的建设与研究[J].合肥工业大学学报(社会科学版),2009(01):112-114.

[6]谢迪,李文新,郭炜.“百练”:一个程序设计技能训练与水平测试平台[J].合肥工业大学学报(社会科学版),2008(04):178-179.

作者简介:孙伟(1980.12-),男,山东新泰人,系副主任,讲师,硕士,研究方向:计算机。

作者单位:盘锦职业技术学院,辽宁盘锦 124000