论文部分内容阅读
随着信息时代的到来,社会对软件人才的需求急剧增长,软件人才的培养成为新世纪的一大热点。程序设计CAI(Computer Aided Instruction)软件作为培养软件人才的一种全新辅助教学工具,成为世界各地专家关注的焦点。当前很多程序设计教学软件质量不高,比较注重介绍“知识”,特别是语言的语法和语义;无法给出程序设计的过程分析,对于程序的由来讲述不清;忽略了程序设计能力的培养。其中程序设计理论的不完善是主要原因之一。 算法程序设计是程序设计的关键。薛锦云教授在多项国家级课题的资助下,根据多年从事算法程序设计的方法和实验研究成果,创造性地提出了一种简单实用的设计和证明算法的形式化方法——PAR。PAR方法是一种统一的算法开发方法,可取代目前普遍使用的分治法、动态规划法、贪心法等算法设计方法,支持算法程序开发的全过程,能够给出程序设计的过程分析。本项研究以两个国家自然科学基金高技术探索项目:实用的软件形式化方法和高可靠性Java程序开发方法研究的研究成果为基础,使用PAR方法进行程序设计的教学,将代理技术运用于系统的构建,初步实现了基于多代理的程序设计ICAI(Intelligent Compuzer Aided Instruction)系统。 在系统的研制过程中,本文主要从事了以下工作: 1.较深入地研究了程序设计方法和PAR方法,将该方法相关知识划分成知识点,以知识点为中心构建了本系统; 2.研究了教育学方面的知识,总结和归纳了一些适合计算机和程序设计ICAI使用的教学策略: 3.仔细比较了国内外代理平台间的优缺点,在此基础上,选择Stanford University的JATLite代理平台作为本系统代理的开发平台; 4.研究了代理的构建,并在系统中构建了多个代理,在多代理的协作过程中贯彻教学策略; 5.较深入地研究了代理交流语言KQML,按KQML格式,提出本系统代理交互协议: 6.研究了多媒体技术,特别是SUN公司提供的JMF(Java Media Framework);利用JMF在教学软件中加入多媒体机制,增强了学习效果。 本研究主要进行了如下创新: 1.以知识点为中心构建系统的领域知识库; 2.通过PAR方法教授程序设计,能够阐述程序设计的过程,真正提高学生的基于JATLite代理平台的程序设计ICAI的研制程序设计能力; 3.针对学习难度不同,系统分成四个等级的教学环境,并创建不同的教师代理负责相应的教学环境; 4.根据学生能力等级的不同,利用多代理之间的协作,指派不同的代理生成相应的教学或测试环境,实现因材施教,因材施测; 5.遵循KQML格式,针对本系统多代理之间的交互,制定了各代理之间的交互协议; 6.将以R方法的支撑工具—自动程序转换系统集成进本系统,使学生可以利用自动程序转换系统的纠错、调试和运行功能检测作答结果; 7.利用JAVA中多线程技术,实现启发式教学。在学生练习过程中,能够给出提示信息,启发学生完成练习,并提供答题过程中的动态纠错机制; 8.分析学生的答题情况,找出薄弱环节复习; 9.事实性知识讲解采用三分屏技术,用视频在教学过程中加强教学的效果; 10.系统界面上直接引入数学符号工具栏,方便用户的使用。 研究过程中,教学策略的制定、代理的构建和多代理之间通讯协议的制定是重点和难点。