Impact of Programming Languages on Learning Performance

Impact of Programming Languages on Learning Performance

Erik Hombre Cuevas (Universidad de Guadalajara, Mexico), Daniel Zaldivar (Universidad de Guadalajara, Mexico), and Marco Perez (Universidad de Guadalajara, Mexico)
DOI: 10.4018/IJICTE.371419
Article PDF Download
Open access articles are freely available for download

Abstract

The integration of various programming languages into the undergraduate engineering curriculum often occurs without adequate evaluation of their effectiveness within specific disciplines. Recently, Python and MATLAB have garnered significant attention as preferred languages for teaching subjects such as image processing and computer vision. Despite their popularity, few studies have evaluated their effectiveness in teaching these topics. This study aimed to determine which programming language, Python or MATLAB, facilitates a better understanding of image processing concepts. The analysis compared the learning performance of two groups, each comprising 40 students. One group utilized MATLAB as the programming tool, while the other implemented image processing algorithms using Python. To analyze the differences between these languages, a testing method of experimental design was employed. The results indicate that students who learned with MATLAB demonstrated superior learning performance compared to those who used Python.
Article Preview
Top

Introduction

Programming languages play a crucial role for engineering students, as they provide the foundational tools needed to tackle complex problems in various domains, such as image processing, data analysis, and machine learning. It is essential for lecturers to understand how programming languages enhance students’ problem-solving abilities. This knowledge allows for the design of curricula that effectively integrate programming skills with theoretical concepts from different subjects (Grusche, 2017).

Image processing is a field that can be effectively taught through a combination of single lectures and computer exercises (Gil, 2017). By implementing their own code to process image information, students can gain valuable hands-on experience. Due to the widespread application of image processing principles in various sectors such as machine learning and data analysis, there is a growing necessity to train engineers to be proficient in these concepts. Several educational institutions are addressing this demand by offering important courses on image processing which cover the most common techniques (Gong et al., 2024). Image processing is often regarded as a highly practical area, which is motivating for students as they can observe how image transformations are translated into code pieces that produce visually appealing effects (Rich et al., 2024).

MATLAB and Python are two of the most popular and important programming languages in both academia and industry due to their powerful capabilities and versatility. MATLAB is a high-performance language primarily used for technical computing. It is widely employed in engineering and scientific disciplines for tasks involving matrix manipulations, algorithm development, data visualization, and numerical analysis. Python, on the other hand, is a general-purpose programming language known for its readability, simplicity, and extensive libraries. It is used across various domains, including web development, data science, artificial intelligence, and more. Both MATLAB and Python share similarities in that they provide robust support for numerical computing, data analysis, and visualization, making them invaluable tools for engineers and scientists (Fangohr, 2004). However, they differ in several aspects. MATLAB is a proprietary language with a focus on mathematical and engineering applications, offering a comprehensive environment with specialized toolboxes. Python is an open-source language, offering flexibility and a vast ecosystem of libraries such as NumPy, SciPy, and OpenCV, which are particularly useful for image processing and machine learning. While MATLAB’s integrated development environment is tailored for technical computing with a user-friendly interface, Python’s simplicity and broad applicability make it a preferred choice for interdisciplinary projects. Despite these differences, both languages are standards in university curricula and industry practices, providing students and professionals with the necessary tools to solve complex problems efficiently.

Out of all the methods used to evaluate the differences between two treatments, A/B testing is the most popular. A/B testing (Quin et al., 2024), also known as split testing, is a fundamental method in experimental design used to compare two treatments to determine which one performs better. In an A/B test, participants are randomly divided into two groups: Group A and Group B. Each group is exposed to the effects of each treatment. By comparing the outcomes from both groups, researchers can assess the impact of the treatments on specific metrics (Yang & Hayashi, 2021). This method allows for data-driven decision-making, as it provides empirical evidence regarding which version yields better results, thereby optimizing performance and achieving desired objectives.

The choice of a programming language is crucial for students’ results when learning a technical subject. Image processing is one of the most common subjects in the curricula of various engineering programs. MATLAB and Python, two of the most popular programming languages, are widely used in universities and among students. Despite the significance of selecting an appropriate programming language and the widespread use of MATLAB and Python, no study has yet evaluated which language is more suitable for teaching image processing.

Complete Article List

Search this Journal:
Reset
Volume 21: 1 Issue (2025)
Volume 20: 1 Issue (2024)
Volume 19: 1 Issue (2023)
Volume 18: 3 Issues (2022)
Volume 17: 4 Issues (2021)
Volume 16: 4 Issues (2020)
Volume 15: 4 Issues (2019)
Volume 14: 4 Issues (2018)
Volume 13: 4 Issues (2017)
Volume 12: 4 Issues (2016)
Volume 11: 4 Issues (2015)
Volume 10: 4 Issues (2014)
Volume 9: 4 Issues (2013)
Volume 8: 4 Issues (2012)
Volume 7: 4 Issues (2011)
Volume 6: 4 Issues (2010)
Volume 5: 4 Issues (2009)
Volume 4: 4 Issues (2008)
Volume 3: 4 Issues (2007)
Volume 2: 4 Issues (2006)
Volume 1: 4 Issues (2005)
View Complete Journal Contents Listing