Drawing flowcharts is an advantageous way to represent some computer programs, and can be used to communicate ideas to peers and students. Common structures in computer programming like decision making and looping can be clearly displayed in a visual flowcharting language. Some software programs take this a step further however and offer a way to develop a program with flowcharts (by means of dragging and dropping symbols), with the intention of helping students learn how to program. Can software like this really be helpful in the classroom? We examine this question further in the context of a specific software called Raptor.
As shown above, Raptor allows you to create programs by dragging and dropping boxes and then entering commands into each of them. It allows students to visualize their program run in real time by tracing execution through the flowchart. For instance in the flowchart above, execution would begin at the ellipse that says “Start” and would highlight the shape whose command is currently being processed as the program runs.
Using Raptor in the classroom
For quite a while, the department of Computer Science at the University of Windsor, used Raptor for assessments and teaching in the course “Introduction to Algorithms and Programming I”. The course serves as an introduction to programming concepts in the C programming language. After many complaints from students, most professors seem to have since shied away from using Raptor in the course for assessments, but still offer it as a resource for students to use at their own discretion. Assessments involving Raptor in course were usually labs in which the same problem was given to be solved in both the Raptor flowchart program as well as the C programming language. The intention of this was to have students implement it first in Raptor, to better understand the logic needed to tackle the problem in C.
Why is it that students didn’t find it helpful?
As a teaching assistant for the course when Raptor was still in use, I heard several of these complaints from students.
- Some students complained that they had more trouble doing the Raptor portion of the lab than the C portion. One reason this may have occurred is that the focus of the course is on the C programming language, so professors may have spent little time in the lectures showing students how to use Raptor. Furthermore, it is possible that some of these students had previous experiences with other programming languages which made it easier for them to learn C.
- Other students cited the lack of online resources as their difficulty with the flowcharting software. I personally recall not being able to find solutions for specific issues online when I took the course as well.
- One of the biggest complaints about the software is that it doesn’t work on Mac or Linux operating systems without any complicated workarounds. This unfortunately is a huge accessibility issue that can’t be ignored. Although, you may be able to expect some computer science students to figure out how to use the software on their Mac and Linux machines, many other students who take these introductory courses might have trouble getting the software to work.
What are some possible solutions?
These complaints highlight some obvious issues with the use of the software in this situation. One major problem is that the software is intended to be an easy to use software for students to solve and understand problems in the before trying to solve them with the C programming language. However it seems that many students have trouble using the software, more so than C itself. Furthermore, when students have problems with the software they seem to have trouble finding solutions online. This indicates to me that perhaps a different piece of software should be used, or the extent to which the software is involved with the course should be less (The University has since decided on the later). Additionally, since there is no support for the software for Mac and Linux users, it seems like a poor choice to use the program for assessments in the course. I think the key advantages of a software like Raptor is that it allows you to visualize algorithms. Although being able to execute a program in flowchart form has its advantages, it may be worth sacrificing that for a program that is easier to use and more accessible for students. A free program like draw.io which can be integrated with google drive would be a good alternative to allow students to draw flowcharts for the course. This can still be used to model problems in the course before programming them in C, and it is supported by any web browser and easy to use!
Reference(s):
Image of a Raptor Flowchart. (n.d.). Retrieved from https://www.programming9.com/images/Raptor_Images/raptor_evenodd_programming9.png