作为计算机导论的一部分,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. 【工具篇】抓包中的王牌工具—Fiddler (1-环境搭建)

    导言 在现在高速发展的互联网时代,抓包工具被广泛应用在软件开发的项目中,Fiddler可谓是当下主流的抓包工具之一.测试人员用它来抓包.回放测试记录,构造发包测试用例,开发人员用来定位问题,其强大的功 ...

  2. 使用MediatR重构单体应用中的事件发布/订阅

    标题:使用MediatR重构单体应用中的事件发布/订阅 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/10640280.html 源代码:https ...

  3. ES 11 - 配置Elasticsearch的映射 (mapping)

    目录 1 映射的相关概念 1.1 什么是映射 1.2 映射的组成 1.3 元字段 1.4 字段的类型 2 如何配置mapping 2.1 创建mapping 2.2 更新mapping 2.3 查看m ...

  4. 我不是bug神(JVM问题排查)

    Story background 回望2018年12月,这也许是程序员们日夜不得安宁的日子,皆因各种前线的系统使用者都需要冲业绩等原因,往往在这个时候会向系统同时写入海量的数据,当我们的应用或者数据库 ...

  5. 两个月的Java实习结束,继续努力

    前言 只有光头才能变强 2018年8月30日,今天我辞职了.在6月25号入职,到现在也有两个月时间了. 感受: 第一天是期待的:第一次将项目拉到本地上看的时候,代码很多,有非常多的模块,模块下又有da ...

  6. windows下,读取快捷方式lnk所指向的路径

    BOOL GetLnkFileName( OUT PWSTR pLnkName, OUT PWSTR OepnFileNameBuufer, IN DWORD OpenFileNameBufferSi ...

  7. Linux 系统调用过程详细分析

    内核版本:Linux-4.19 操作系统通过系统调用为运行于其上的进程提供服务. 那么,在应用程序内,调用一个系统调用的流程是怎样的呢? 我们以一个假设的系统调用 xyz() 为例,介绍一次系统调用的 ...

  8. DNS服务详解

    DNS服务 目录: 一.DNS原理 二.DNS服务的安装与配置 三.DNS信息收集 一.DNS原理 1.hosts文件与DNS服务器 1.1hosts文件 目录:C:\WINDOWS\system32 ...

  9. shell读取文件内容并进行变量赋值

    需求: shell读取文件内容,然后把内容赋值给变量然后进行字符串处理 实现: dataline=$(cat /root/data/data.txt) echo $dataline

  10. Java 开发常用工具

    编译器 IDEA (个人觉得IDEA比较好用) Eclipse MyEclipse IDEA插件 Lombok: 使用注解,免去实体类中get /set/构造器等代码 ,需要引入lombok包 Ali ...