种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

raptor

(2019-04-07 02:35:20) 百科综合
raptor

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提供了一个基于Ada[1]Graph的简单图形库。学生不仅可以可视化创建算法,所求解的问题本身也是可以是可视化的。
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中执行。这迫使学生使用软体工程中的瀑布模型[2],而实际上学生在使用增量[3]或螺旋[4]方式开发可能有更多的成功机会。
Visual Logic是FLINT的后续项目,是为过渡到Visual Basic课程之前专为大学的第一门计算机课程设计的。它摒弃了瀑布模型的编程,并增加了对一维数组和图形功能支持。
与上述程式开发环境相比,RAPTOR将以上产品功能都结合在一起并进化成更先进的教学工具。RAPTOR让学生在其环境内执行算法,而无须单独编译和执行。这意味着,程式逻辑不必在传统程式设计的文字环境中进行设计和调试,可以直接在可视化表达环境中进行,从而也避免了使用多种工具时带来的学习负担。
对学生而言,RAPTOR并没有强制要求对程式设计目标进行自上而下的分解,而是让学生逐步开发代码。此外,RAPTOR中包含一维和二维数组、档案、字元串和一个允许用户互动的图形库。因此,较之前的工具而言,学生能够创造出更有趣的算法。
[1]Ada是一种大型通用程式设计语言,它是现代计算机语言的成功代表,集中反映了程式语言研究的成果。
[2]瀑布模型(Waterfall Model)瀑布模型核心思想是使用系统化的方法将複杂的软体开发问题化简,将软体功能的实现与设计分开。将开发划分为几个基本活动(制定计画、需求分析、软体设计、程式编写、软体测试和运行维护等六个基本活动),并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
[3]增量模型(incremental model)融合了瀑布模型的基本成分和原型实现的叠代特徵。当使用增量模型时,第一个增量往往是产品的核心,即它实现了基本需求,但很多补充的特徵还有待发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特徵和功能,这个过程在每一个增量发布后不断重複,直到产生了最终的完善产品。
[4]螺旋模型(Spiral Model)採用一种周期性的方法来进行系统开发。该模型也称为快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行叠代。软体开发过程每叠代一次,软体开发又前进一个层次。

标 签

搜索
随机推荐

Powered By 种豆资源网||