Effectiveness of Flowcharting as a Scaffolding Tool to Learn Python
IEEE Computer Society Team
Share this on:
Learning a programming language can be daunting, especially for students from underrepresented minority backgrounds with no previous programming experience. Novice programmers often struggle with the syntax and organization of programming languages, making it hard for them to design a program that solves a problem.
To help introduce students to programming, a common approach is to separate the problem-solving step from code writing. A new study from the New York City College of Technology/CUNY suggests that using flowcharting can be a useful way to do this.
The Role of Flowcharting
Graphical languages and tools, like flowcharts, have been proposed to represent computer processes needed to solve problems, allowing students to focus on problem-solving and avoid programming language syntax. In addition, using domains that students understand well and feel comfortable with, such as video games and narratives, can increase student success in first-year computer programming courses.
In this study, researchers evaluated the effectiveness of using flowcharting and Python to develop a student’s problem-solving skills in programming. The setting was an urban institution that serves mostly underrepresented minority students. Researchers also measured students’ ability to read Python code and compared this to their skills in writing code and solving problems with Python.
The study found that flowcharting can be a good tool for beginning students to ease their way into programming and improve their computer problem-solving skills. It showed that most of the students considered flowcharting to be an easier tool to learn than Python, and even more students reported that using flowcharts to scaffold an application helped them understand how to build it using Python.
But the study also found that flowcharting is not a cure-all for students who struggle with programming and that a student’s skills at solving problems with flowcharts forecasted their ability to do the same with Python. It also revealed that being skilled at reading Python code is not highly correlated with the ability to solve problems with the programming language. This finding emphasizes that proficiency in designing a solution using programming constructs is a critical skill for writing viable programs — and not just understanding the syntax.