论文部分内容阅读
随着软件产业的快速发展,人才日渐成为制约产业发展的关键因素。程序设计ICAI(Intelligent Computer-Assisted Instruction)软件作为培养软件人才的一种新型辅助教学工具,倍受业内人士青睐。目前,很多计算机程序设计教学软件质量不高,它们往往是按照某一固定模式进行教学,交互性较差,更不用说在程序教学中实现程序设计过程自动推理;且大多数都片面地强调语言的语法和语义,对程序的由来讲述不清,无法给出程序设计的全过程,忽略了对学习者程序设计能力的培养。其中程序设计理论不完善是主要原因之一。 科学的程序设计理论和方法是构造高质量程序设计教育软件的基础。薛锦云教授在国家863和多项国家自然科学基金课题的资助下,根据多年从事算法程序设计理论研究的成果,提出了一种简单、实用的设计和证明算法的形式化方法—PAR方法。应用PAR方法,可以给出从需求解的问题,到可执行程序的具体设计过程。薛锦云教授领导的课题组几年来一直在从事程序设计教学软件的研究,以克服现有程序设计教学软件的不足。本论文在本课题组已有研究的基础上,重新构建了一个程序设计ICAI系统,实现了PAR方法知识教学以及关于部分复杂递归类问题的程序设计过程和推理的教学,并可通过PAR方法支撑工具(即自动程序转换系统)及时检测程序的正确性。 本论文也是薛锦云教授主持承担的“实用的软件形式化方法”和“基于PAR方法的算法设计形式化和自动化研究”两个国家自然科学基金项目的理论成果在程序设计教学实践中的具体应用。本文的创新点主要体现在以下几个方面: (1)进一步深入研究PAR方法,将PAR方法知识点重新进行分类并重构知识库,将领域知识库中的知识点单独组织起来,并将知识点的内容文件存放在教学材料库中,供不同水平的学生选择学习,更好地实现因材施教与个别化学习。 (2)深入研究复杂递归问题的非递归算法,实现了部分复杂递归类问题的可重用程序模板,为生成无限题库提供支持和理论依据。 (3)充分运用人工智能技术,实现了关于部分复杂递归类问题的程序设计过程的自动推理。