作为计算机导论的一部分,Raptor的图形化界面可以让编程的初学者更加容易深入理解算法,可以作为一个简单入门的学习工具。

1.Raptor是什么?

Raptor( the Rapid Algorithmic Prototyping Tool for Ordered Reasoning — 用于有序推理的快速算法原型工具)是一种基于流程图的编程开发环境。流程图是一系列的可连接的图形符号的集合,每一种符号代表一个可被执行的特定类型的指令,符号之间的连接决定指令的执行顺序。当你使用Raptor解决问题的时候,这些概念会越来越清晰。

Raptor是由美国空军学院的Martin C. Carlisle博士带头开发的,其他的设计人员包括Terry A. Wilson、Jeffrey W. Humphries以及Steven M. Hadfield 等,Martin C. Carlisle博士目前为美国空军学院计算机科学系的一名教授。Raptor最初是为美国空军学院计算机科学系设计的,但是它的使用已经得到了广泛的普及,目前该软件至少被17个不同国家用于计算机教学。

Dr. Martin C. Carlisle

 

2.为什么要使用Raptor进行程序设计?

佐治亚理工学院(Georgia Institute of Technology)计算机学院的Shackelford 和 LeBlanc教授曾经注意到这样一个现象,在“计算概论”课程中使用一种特定的编程语言容易干扰并分散学生对于算法问题求解核心部分的注意力。教师都希望把时间用在他们认为学生最可能遇到困难的问题上,因此他们往往把授课的重点集中在语法上,这是他们希望学生能够克服的困难。(例如:在C语言环境中,错误的将关系运算符“==”当成了赋值符号“=”,或者在语句结束时忘记了加分号等)。

此外,北卡罗来纳大学的费尔德(Felder)教授认为,大多数学生是视觉化的学习者,而教师们则往往倾向于提供口头讲授。据研究发现,大约有75%到83%的学生为可视化的学习者。因此对大多数初学者来说,传统的编程语言或伪代码由于具有高度的文本化而非可视化的性质,从而无法为他们提供直觉的算法表达框架。

Raptor是被专门设计用于应对语法困难以及非视觉环境的缺陷的,Raptor允许学生通过连接基本的图形符号来创建算法,在Raptor环境中执行算法,还可以观察算法的一步步的执行过程。通过Raptor环境,可以观察到当前的程序执行到了哪个部分,可以看到所有的变量当前的内容。此外,Raptor还提供了一个基于AdaGraph 的简单的图形库,学生通过该图形库,不仅可以将算法视觉化,而且也可以将他们要解决的问题视觉化。

Martin C. Carlisle教授曾为美国空军学院的学生讲授“计算概论”课程,在该课程中有12个小时的算法方面的课程,一开始的时候,这一部分是使用Ada 95和Matlab进行讲授的。从2003年夏季开始,他们改用了Raptor讲授这一部分课程。在最后的结课考试中,他们追踪了需要学生设计算法来解决的三个问题,学生可以使用任何方式来表达他们的算法(Ada,Matlab,流程图等等)。在这样的前提下,他们发现学生们更喜欢使用可视化的描述,而且那些学习过使用Raptor进行算法设计的学生在考试中发挥的更加出色。

使用Raptor进行程序设计主要基于以下几个原因:

(1)Raptor开发环境可以最大限度地减少编写出正确的程序所需要的语法要求。

(2)Raptor开发环境是可视化的。Raptor程序是一种一次执行一个图形符号的有向图,因此它可以帮助用户跟踪RAPTOR程序的指令流执行过程。

(3)Raptor是为了便于使用而设计的(相对于其他的复杂的开发环境,Raptor开发环境非常简单)。

(4)对于初学者来说,使用Raptor进行程序设计出现的调试和报错消息更易于理解。

(5)使用Raptor的目的是进行算法设计和运行验证,这个目标不要求你了解像C++或JAVA这样重量级的编程语言。

 

3.Raptor安装

可以在Raptor官方网站http://raptor.martincarlisle.com/下载Raptor的安装文件,该网站上有几个不同的安装版本,推荐使用最新的安装版本,只需点击“Download latest version”即可。该网站上还有一个便携版本,这个版本可以安装在U盘上使用。安装过程非常简单,只需双击安装文件,按照提示进行操作即可。

Or

链接:https://pan.baidu.com/s/17aud2nDKkDlXNBpWlYTOhQ
提取码:ayaj

 

Raptor入门与安装的更多相关文章

  1. Yeoman入门之安装及环境配置

    Yeoman入门之安装及环境配置 http://blog.csdn.net/panlingfan/article/details/27345037 http://www.nodejs.orgYEOMA ...

  2. ES 入门之一 安装ElasticSearcha

    安装ElasticSearcha 学习ES也有快一个月了,但是学习的时候一直没有总结.以前没有总结是因为感觉不会的很多,现在对ES有一点了解了.索性就从头从安装到使用ES做一个详细的总结,也分享给其他 ...

  3. Maven的安装、配置及使用入门+maven安装报错:JAVA_HOME【申明:来源于网络】

    Maven的安装.配置及使用入门+maven安装报错:JAVA_HOME[申明:来源于网络] Maven的安装.配置及使用入门:http://www.cnblogs.com/dcba1112/arch ...

  4. Redis入门 -- Redis安装与配置

    Redis入门 -- Redis安装与配置 Redis的安装 Redis的安装,我这里使用的是虚拟机. 为了让主机和虚拟机之间可以顺利通信,按照以下步骤进行: 1. 将网络连接模式改为桥接 2. re ...

  5. webpack快速入门——如何安装webpack及注意事项

    1.window+R键,输入cmd打开命令行工具,输入 mkdir XXXX(XX:文件夹名): 2.cd XXX 进入刚刚创建好的文件夹里,输入cnpm install -g webpack (安装 ...

  6. golang语言入门及安装

    golang语言入门及安装 go语言是google在2009年发布的开源编程语言使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程. 本次讲解在windows上安装go语言的开 ...

  7. 01----python入门----python安装与初识

    ----python入门----python安装与初识 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 这是一个很好的开头!但是 ...

  8. docker入门_docker安装

    docker入门_docker安装 ubuntu 安装 curl -sSL https://get.daocloud.io/docker | sh # 官方安装脚本自动安装 systemctl ena ...

  9. [译]:Orchard入门——手动安装Orchard

    原文链接:Manually Installing Orchard 文章内容基于Orchard 1.8版本 本文将演示通过zip安装包安装Orchard所需要的步骤. 本文包括如下三种不同的Orchar ...

随机推荐

  1. 从字节码和JVM的角度解析Java核心类String的不可变特性

    1. 前言 最近看到几个有趣的关于Java核心类String的问题. String类是如何实现其不可变的特性的,设计成不可变的好处在哪里. 为什么不推荐使用+号的方式去形成新的字符串,推荐使用Stri ...

  2. vue.js - 奇怪的 event 对象

    好久都没有写点东西了, 前段时间工作搞得头大,真的就是一起加班到死了.废话不多说,写这篇文章是因为这次因为 event 对象闹了一个乌龙,以此总结一下. 一.event 对象 (一)事件的 event ...

  3. 一名合格的Web安全工程师之成长路径

    最近经常听到公司的招聘专员反馈应聘者简历“水分”太大,尤其是技术岗位,例如Web安全工程师,明明是初级阶段的菜鸟,就敢写资深Web安全工程师:在几个项目做一些基础打杂的工作,就敢写带过团队,项目经验丰 ...

  4. Haskell学习-函数式编程初探

    原文地址:Haskell学习-函数式编程初探   为什么要学习函数式编程?为什么要学习Haskell?   .net到前端,C#和JavaScript对我来说如果谈不上精通,最起码也算是到了非常熟悉的 ...

  5. GopherChina第一天小结

    GopherChina第一天小结 今天参加了Asta举办的第五届GopherChina,第一天参加完,颇有感受,晚上回来趁着还有记忆,来做一下记录. 写在前面 一早从9点开始,一天下来一共八个主题,各 ...

  6. java游戏开发杂谈 - 界面刷新、坐标系

    之前几篇博客里的例子,大家运行过的话,就能看出来,界面是需要刷新的. JPanel里的绘制方法是paintComponent,界面上的东西都是这个方法画出来的. JPanel对象有一个repaint方 ...

  7. javascript-发布订阅模式与观察者模式

    设计模式"(Design Pattern)是针对编程中经常出现的.具有共性的问题,所提出的解决方法.著名的<设计模式>一书一共提出了23种模式. 发布订阅模式 它定义了一种对象间 ...

  8. 学习 JavaScript (八) 引用类型之 Object

    在JavaScript中,引用类型是一种数据结构.包括对象(Obejct).数组(Array).日期(Date).正则表达式(RegExp).函数(Function).基本包装类型(new Boole ...

  9. MVC页面扩展方法 单例模式

    MVC页面扩展方法    单例模式    /// <summary>         /// 创建一个Config内容对象         /// </summary>     ...

  10. dagger2的初次使用

    一.使用前准备 1.打开app的build.gradle文件: 顶部停用apt插件: //添加如下代码,应用apt插件 apply plugin: 'com.neenbedankt.android-a ...