Martin C. Carlisle, Terry A. Wilson, Jeffrey W. Humphries, Steven M. Hadfield
United States Air Force Academy
Department of Computer Science
2354 Fairchild Dr, Suite 6G149
USAFA, CO 80840-6234
When students are learning to develop algorithms, they veryoften spend more time dealing with issues of syntax than solving the problem. Additionally, the textual nature of most programming environments works against the learning style of the majority of students. RAPTOR is a flowchart-based programming environment, designed specifically to help students visualize their algorithms and avoid syntactic baggage. RAPTOR programs are created visually andexecuted visually by tracing the execution through the flowchart. Required syntax is kept to a minimum. Students preferred using flowcharts to express their algorithms, and were more successful creating algorithms using RAPTOR than using a traditional language or writing flowcharts without RAPTOR.
Categories and Subject Descriptors
D.1.7 [Visual Programming]
Flowcharts, Visual Programming, Programming Environments, Problem Solving.
Shackelford and LeBlanc previously observed that the use of a particular programming language in an introduction to computing course tends to “annoy and distract attention from the core issue of algorithmic problem solving.” In our experience, it also distracts attention from theteaching of algorithmic problem solving. Instructors spend class time where they expect students to have the most difficulty. Consequently, they often focus on syntactic difficulties that they expect students will encounter (e.g. the inappropriate use of “=” instead of “==” in C-based languages, or the improper placement of a semicolon).
Furthermore, Felder  notes that most students arevisual learners and that instructors tend to present information verbally. Studies [5,8] estimate that between 75% and 83% of our students are visual learners. Because of their highly textual rather than visual nature, the use of either traditional programming languages or pseudo-code provides a counter-intuitive framework for expressing algorithms to the majority of our students.
RAPTOR, theRapid Algorithmic Prototyping Tool for Ordered Reasoning, was designed specifically to address the shortcomings of syntactic difficulties and non-visual environments. RAPTOR allows students to create algorithms by combining basic flowchart symbols. Students can then run their algorithms in the environment, either step-by-step or in continuous play mode. The environment visually displays thelocation of the currently executing flowchart symbol, as well as the contents of all variables. Also, RAPTOR provides a simple graphics library, based on AdaGraph . Not only can the students create algorithms visually, but also the problems they solve can be visual.
We teach an “Introduction to Computing” course that is required for all students. Previously, the algorithms block of thiscourse was taught in Ada 95 or MATLAB. This summer, we taught the same course using RAPTOR. On the final exam, we tracked three questions that required the students to develop algorithms. The students were allowed to use any method to express their algorithm (Ada, MATLAB, flowcharts, etc.) Given this choice, students preferred to use flowcharts, and those taught using RAPTOR performed better.
Tia Watts  developed SFC, a structured flowchart editor. SFC allows the user to develop a flowchart, and always displays a textual representation of the flowchart in either a C or Pascal-like syntax. The user is then required to copy and paste the textual representation into a text editor and make changes to get a complete program.
Calloni and Bagert  developed an...