作为计算机导论的一部分,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. SprintBoot的@ComponentScan“踩坑”

    主要的话说在前面:在启动日志中没有看到Controller对应的URL被映射,那么请检查你的Controller是否被Spring管理了.此次踩坑就是忘了SpringBoot在没配置@Componen ...

  2. 【Python3爬虫】你会怎么评价复仇者联盟4?

    一.写在前面 最近复仇者联盟4正在热映中,很多人都去电影院观看了电影,那么对于这部电影,看过的人都是怎么评价的呢?这时候爬虫就可以派上用场了! 二.主要思路 首先打开豆瓣电影,然后进入复仇者联盟4的详 ...

  3. 同源策略 & 高效调试CORS实现

    # 目录 为什么有同源策略? 需要解决的问题 CORS跨域请求方案 preflight withCredentials 附:高效.优雅地调试CORS实现 ----------------------- ...

  4. 虚拟机设置静态IP配置

    网关 虚拟机的ip设置  vi /etc/sysconfig/network-scripts/ifcfg-eth0 重启网卡 service network restart 测试 ping www.b ...

  5. 『性能』测试一下 MSSqlHelper 的性能

    本文没啥技术含量,就是测试一下 MSSqlHelper 在 使用反射.不使用反射 的性能对比. 之后,不要问为什么不用 ORM 这类的东西 —— 会有另外的文章 介绍 自己这些年 自己的ORM 升级历 ...

  6. 使用 ASP.NET Core MVC 创建 Web API(五)

    使用 ASP.NET Core MVC 创建 Web API 使用 ASP.NET Core MVC 创建 Web API(一) 使用 ASP.NET Core MVC 创建 Web API(二) 使 ...

  7. java到底是引用传递还是值传递?

    今天我们来讲讲一个在学习中容易误解的问题,面试中也偶尔问到,java方法调用时到底是值传递还是引用传递? 首先,请大家来做一个判断题,下面的3个问题是否描述正确 1. java基本数据类型传递是值传递 ...

  8. Asp.NetCore轻松学-使用Supervisor进行托管部署

    前言 上一篇文章 Asp.NetCore轻松学-部署到 Linux 进行托管 介绍了如何在 Centos 上部署自托管的 .NET Core 应用程序,接下来的内容就是介绍如何使用第三方任务管理程序来 ...

  9. Dubbo Mesh 在闲鱼生产环境中的落地实践

    本文作者至简曾在 2018 QCon 上海站以<Service Mesh 的本质.价值和应用探索>为题做了一次分享,其中谈到了 Dubbo Mesh 的整体发展思路是“借力开源.反哺开源” ...

  10. C#EF中,使用类似于SQL中的% 模糊查询

    最近在做项目的时候需要使用到模糊查询,但是后台使用EF写的 而不是ADO或者是Dapper,如果是这样的话,我们就可以使用Sql语句直接进行模糊查询 现在我们需要在LINQ中使用类似于模糊查询 在EF ...