论文部分内容阅读
在教育领域,人们一直在尝试着将计算机及互联网技术应用于教学活动中,提高计算机教学辅助化工作的水平。在一般的课程管理系统(Course Management System, CMS)之外,面对计算机程序设计类课程,有一类独特的Online Judge系统可以对用户提交的程序进行自动的正确性判定。这一特性对于程序设计类课程的教学来说很大的好处,一方面减轻了老师的工作量,另一方面也可以吸引学生的编程兴趣。但是一般的Online Judge系统更多的关注于仅提供这样一个程序设计的练习平台,在课程教学辅助方面提供的支持并不太多。有鉴于此,我们在北京大学开发的Online Judge系统POJ(http://acm.pku.edu.cn/JudgeOnline/)的基础上,设计开发了针对在线程序设计实践和教学辅助的编程网格(Programming Grid, PG)系统。编程网格系统以Online Judge功能为核心,专注于为程序设计类课程提供教学辅助支持。编程网格系统采用分布式架构,将系统分为PGM(PG Manager)节点和PROGRAMMING节点,PGM节点是统一的创建更新题目、题集和文摘等教学资源的集中环境,而PROGRAMMING节点则通过分布式架构的数据同步机制从PGM获得题目、题集和文摘等信息,以课程为中心,提供教学辅助支持。为了更好的支持教学辅助,编程网格系统从现实的程序设计类课程的教学活动出发,设计了多种针对虚拟环境下的教学资源,包括题目、题集、文摘、课程等。题目是系统的基础资源,为了丰富题目的表现方式和促进教学活动,我们为围绕题目设计了题目数据、题目附带资源、解答、题目评论、解答评论等相关资源;题集是系统为了更好地按照教学要求来管理题目而设置的资源对象,通过它可以将题目按照教学活动的特点更好地组织起来;文摘是用来在以解题为主要教学活动的系统中为师生提供辅导作用;课程则是系统教学资源的集大成者,通过课程可以以更明确更有组织性的目标来管理其它各种教学资源,它是系统中最重要的教学资源,也是教学活动的主要表现形式。上述资源基本涵盖了程序设计类课程教学的全过程,在编程网格系统中,我们以这些资源为基础,提供了以它们各自为中心的多个虚拟教学场景,为程序设计类课程提供计算机教学辅助化支持。系统中的教师和学生两类用户可以通过这些虚拟教学场景,在系统中以解题为中心完成课程教学的虚拟化活动,并可以在虚拟教学场景中通过虚拟教学资源进行教学互动,以收到更有针对性的教学效果。我们在北大《计算概论》课程上的实践证明我们的工作是有成效的,有利于程序设计类课程的教学开展,为师生提供了一种教学选择,值得在此道路上做进一步拓展。