raptor
用于有序推理的快速算法工具
Raptor(the Rapid Algorithmic Prototyping Tool for Ordered Reasoning)是用于有序推理的快速算法原型工具,是一种可视化的程序设计环境,为程序和算法设计的基础课程教学提供实验环境。Raptor专门用于解决非可视化环境的语法困难和缺点,其目标是通过缩短现实世界中的行动与程序设计的概念之间的距离来减少学习上的认知负担。
概述
使用RAPTOR设计的程序和算法可以直接转换成为C++、C#、Java等高级程序语言,这就为程序和算法的初学者铺就了一条平缓、自然的学习阶梯。
背景
沙克尔福德和勒布朗(Shackelford and LeBlanc)曾经观察到的在计算导论课程中使用特定的编程语言容易导致学生“受到干扰并从算法问题求解的核心上分散注意力”。由于教师希望学生在上课时间中解决他们觉得最有难度的问题。因此,往往把授课的重点集中在语法上,这是由于大部分学生都会遇到的困难(例如:在c语言环境中,错将须使用关系运算符“==”用成了赋值符号“=”,或在语句结束时遗忘了分号等)。
此外,费尔德(Felder)指出,大多数学生是视觉化的学习者,而教师则往往倾向于提供口头讲授。有的专家研究估计,在高校大约有75%到83%的学生为视觉化学习者。所以对大多数学生来说,由于其高度的文本化,而不是视觉化的性质,无论是传统的编程语言或伪代码提供了一个反直觉的算法表达框架。
在最终用户开发(End User Development)的背景下,菲舍尔(Fischer)等陈述了图形语言优于文字的好处,他说:“基于文本的语言往往是比较复杂的,因为任何人类语言从无到有,必须从语法和词汇(术语)开始。因此,专为最终用户设计的图形语言表达了编程世界中的包含了通过条件行动规则(condition-action rules)自我训练的图形隐喻。其目标则是通过缩短现实世界中的行动与程序设计之间的概念距离来减少学生学习上的认知负担。”
RAPTOR专门用于解决非可视化的环境的句法困难和缺点。RAPTOR允许学生用连接基本流程图符号来创建算法,然后可以在其环境下直接调试和运行算法,包括单步执行或连续执行的模式。该环境可以直观地显示当前执行符号所在的位置,以及所有变量的内容。此外,RAPTOR提供了一个基于AdaGraph的简单图形库。学生不仅可以可视化创建算法,所求解的问题本身也是可以是可视化的。
RAPTOR作为一种可视化程序设计的软件环境,已经为卡内基。梅隆大学等世界上22个以上的国家和地区的高等院校使用,在计算机基础课程教学中,取得良好的效果。
由于RAPTOR是一种基于流程图的可视化程序设计环境。而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令。符号之间的连接决定了指令的执行顺序。由于流程图是大部分高校计算机基础课程首先引入的与程序、算法表达有关的基础概念,所以一旦开始使用RAPTOR解决问题,这些原本抽象的理念将会变得更加清晰。
使用RAPTOR基于以下几个原因:
·RAPTOR开发环境可以在最大限度地减少语法要求的情形下,帮助用户编写正确的程序指令。
·RAPTOR开发环境是可视化的。RAPTOR程序实际上是一种有向图,可以一次执行一个图形符号,以便帮助用户跟踪RAPTOR程序的指令流执行过程。
·RAPTOR是为易用性而设计的(用户可用它与其他任何的编程开发环境进行复杂性比较)。
·使用RAPTOR所设计程序的调试和报错消息更容易为初学者理解。
·使用RAPTOR的目的是进行算法设计和运行验证,所以避免了重量级编程语言,如C++或Java的过早引入,给初学者带来的学习负担。。
其他环境
事实上,IBM已经认识到可视化编程环境对其产品最终用户的重要性,他们在其webSphere产品中使用了基于流程图的开发环境
瓦茨(Watts)等开发了SFC,一种结构化流程图编辑器。SFC允许用户开发的流程图,并始终在显示流程图的同时显示C或Pascal类似程序语法的文本。然后用户可以复制和粘贴文本到另一个文本编辑器中进行修改,以获得完整的程序。
卡奥尼和巴格特(calloni and Bagert)开发了一个图标式的编程语言,BACCII+,这是作为C++到补充并应用在大学的计算机基础课程序列中。他们的实验表明,学生使用BACCII+和C++两者的表现比使用那些只使用C++的效果更好。一旦BACCII+程序开发完毕,用户可以生成多种基于文本的语言(包括Pascal和C++代码)。
FLINT是由美国西肯塔基大学齐格勒等人开发的一个程序设计开发教学环境,在FLINT中进行程序开发消除了文本代码必须调试的缺陷。使用FLINT,学生需要进行一次自上而下的程序分解,然后为实现每个子目标而设计流程图。流程图可以在FLINT中执行。这迫使学生使用软件工程中的瀑布模型,而实际上学生在使用增量或螺旋方式开发可能有更多的成功机会。
Visual Logic是FLINT的后续项目,是为过渡到Visual Basic课程之前专为大学的第一门计算机课程设计的。它摒弃了瀑布模型的编程,并增加了对一维数组和图形功能支持。
与上述程序开发环境相比,RAPTOR将以上产品功能都结合在一起并进化成更先进的教学工具。RAPTOR让学生在其环境内执行算法,而无须单独编译和执行。这意味着,程序逻辑不必在传统程序设计的文字环境中进行设计和调试,可以直接在可视化表达环境中进行,从而也避免了使用多种工具时带来的学习负担。
对学生而言,RAPTOR并没有强制要求对程序设计目标进行自上而下的分解,而是让学生逐步开发代码。此外,RAPTOR中包含一维和二维数组、文件、字符串和一个允许用户交互的图形库。因此,较之前的工具而言,学生能够创造出更有趣的算法。
Ada是一种大型通用程序设计语言,它是现代计算机语言的成功代表,集中反映了程序语言研究的成果。
瀑布模型(Waterfall Model)瀑布模型核心思想是使用系统化的方法将复杂的软件开发问题化简,将软件功能的实现与设计分开。将开发划分为几个基本活动(制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动),并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
增量模型(incremental model)融合了瀑布模型的基本成分和原型实现的迭代特征。当使用增量模型时,第一个增量往往是产品的核心,即它实现了基本需求,但很多补充的特征还有待发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。
螺旋模型(Spiral Model)采用一种周期性的方法来进行系统开发。该模型也称为快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。
简介
Raptor程序实际上是一个流程图,运行时一次执行一个图形符号,以便帮助用户跟踪Raptor程序的指令流执行过程。开发环境可以在最大限度地减少语法要求的情形下,帮助用户编写正确的程序指令。程序员在具体使用高级程序设计语言编写代码之前,通常使用流程图来设计其算法,现在可以应用Raptor来运行算法设计的流程图,使抽象问题具体化。
Raptor用连接基本流程图符号来创建算法,然后,可以在其环境下直接调试和运行算法,包括单步执行或连续执行的模式。该环境可以直观地显示当前执行符号所在的位置以及所有变量的内容。此外,Raptor提供了一个基于Ada Graph的简单图形库,这样,不仅可以可视化创建算法,所求解的问题本身也可以是可视化的。
Raptor是一种基于流程图的可视化程序设计环境,而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令,符号之间的连接决定了指令的执行顺序,所以,一旦开始使用Raptor解决问题,这些原本抽象的理念将会变得清晰。
Raptor可以在最大限度地减少语法要求的情形下,帮助用户编写正确的程序指令。它是可视化的,实际上就是一种有向图,可以一次执行一个图形符号,以便帮助用户跟踪Raptor程序的指令流执行过程。与其他任何的编程集成开发环境进行复杂性比较,Raptor的易用性显而易见。使用Raptor的目的是进行算法设计和运行验证,这样避免了重量级编程语言(例如,C++或Java)的过早引入给初学者带来的学习负担,此外,Raptor对所设计程序的调试和报错消息更容易为初学者理解。
特点
Raptor具有下列特点:
①Raptor语言简洁灵活,用流程图实现程序设计,可使初学者不用花太多时间就能进入计算思维中关于问题求解的算法设计阶段。
②Raptor具有基本的数据结构、数据类型和运算功能。
③Raptor具有结构化控制语句,支持面向过程及面向对象的程序设计。
④Raptor 语法限制较宽松,程序设计灵活性大。
⑤Raptor可以实现计算过程的图形表达及图形输出。
⑥Raptor对常量、变量及函数名中所涉及的英文字母大小写视为同一字母,但只支持英文字符。
程序设计可移植性较好,可直接运行得出程序结果,也可将其转换为其他程序语言,如C++、C#、Ada及Java等。
界面及符号
Raptor的界面由绘图编程窗口和主控台窗口组成,主控台窗口用于显示运行状态和运行结果。Raptor的界面及主控台窗口如图1和图2所示:
从Raptor的界面可看到,有七种不同的图形符号,分别代表一种不同的语句类型。各图形所代表的语句含义及功能如下:
①赋值语句:使用某些运算来更改变量的值。
②过程调用:调用系统自带的子程序,或用户定义的子图等程序块。
③输入语句:输入数据给一个变量。
④输出语句;用于显示变量的值。
⑤选择语句:用于从两种选择路径的条件判断中选择路径走向。
⑥循环语句:允许重复执行一个或多个语句构成的语句体,直到给定的条件为真。
注释
Raptor的集成开发环境像其他许多编程语言一样,允许对程序进行注释。注释是用来帮助他人理解程序的,特别是在程序代码比较复杂、很难理解的情况下。注释本身对计算机毫无意义,并不会被执行。但如果注释得当,程序的可读性就大大提高。
要为某个语句(符号)添加注释,就右击该符号,在弹出的快捷菜单中选择“注释”命令,然后,在弹出的“注释”对话框中输入相应的说明。注释可以在Raptor窗口中国移动通信集团,但建议不要移动注释的默认位置,以防在需要更改时,引起错位和寻找的麻烦。
注释一般包括以下几种类型:
①编程标题:谁是程序的作者、编写的时间、程序的目的等,应添加到Start符号中。
②分节描述:用于标记程序,有助于理解程序整体结构中的主要部分。
③逻辑描述:解释非标准逻辑。
④变量说明:对重要的或公用的变量进行说明。通常情况下,没有必要注释每一个程序语句。
参考资料

Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike1.com/id.php on line 362
目录
概述
概述
背景
其他环境
简介
特点
界面及符号
注释
参考资料