SciELO - Scientific Electronic Library Online

 
vol.13 issue3Scientific production in engineering: comparative analysis of South American countries from 2008 to 2018Ias 41 and its impact on the price per box of Ecuadorian bananas, period 2019-2020 author indexsubject indexarticles search
Home Pagealphabetic serial listing  

My SciELO

Services on Demand

Article

Indicators

  • Have no cited articlesCited by SciELO

Related links

  • Have no similar articlesSimilars in SciELO

Share


Revista Universidad y Sociedad

On-line version ISSN 2218-3620

Universidad y Sociedad vol.13 no.3 Cienfuegos May.-June 2021  Epub June 02, 2021

 

Articulo original

Methodological features of the use of MATLAB in the teaching of computer science courses for primary school teachers

Rasgos metodológicos del uso de MATLAB en la enseñanza de cursos de ciencias informáticas para profesores de la escuela primaria

0000-0002-1499-2106Jabrayilzade Sevinj Jamil-Jahid1  * 

1 Azerbaijan State Pedagogical University. Azerbaijan.

ABSTRACT

Given that we live in the age of computer technology, these technologies have penetrated into all areas of our lives, including the learning process. With more frequency applications and programs are developed that allow us to make more things, and in a more efficient way, but in the case of the teaching process this supposes some challenges. The formation of the future professors is among the most significant, and, although they recognize the importance of the technology and their potentials usually they are overwhelmed with the changing dynamics of the digital world. To approach this problem a possibility it is the election of tools with a wide spectrum of capacities to solve problems, like it is the case of MATLAB for the mathematical problems. In this work the potentials of this tool are examined specifically for their use in the subject algorithms, providing methodological recommendations for the work of the future professors.

Key words: Educational technology; MATLAB; Algorithms

RESUMEN

Dado que vivimos en la era de la tecnología de las computadoras, estas tecnologías han penetrado en todas las áreas de nuestra vida, incluso el proceso de aprendizaje. Con mayor frecuencia se desarrollan aplicaciones y programas que nos permiten hacer más cosas, y de una manera más eficiente, pero en el caso del proceso de enseñanza esto supone algunos retos. Entre los más significativos está la formación de los futuros profesores, y, aunque reconocen la importancia de la tecnología y sus potenciales usualmente se ven abrumados con la dinámica cambiante del mundo digital. Para abordar este problema una posibilidad es la elección de herramientas con un amplio espectro de capacidades para resolver problemas, como es el caso de MATLAB para los problemas matemáticos. En este trabajo se examinan los potenciales de esta herramienta para su uso específicamente en la asignatura algoritmos, proporcionando recomendaciones metodológicas para el trabajo de los futuros profesores.

Palabras-clave: Tecnología educativa; MATLAB; Algoritmos

Introduction

One of the important global trends in higher education in this century is the intensification of competition for reputation, and the institutional reputation is based on the perceived quality of education imparted by higher education institutions. Modern digital technologies and widespread information have also added another dimension to this, and as a result, teachers are no longer seen as knowledge providers but more like mentors and facilitators of learning (Varghese & Mandal, 2020). Therefore, the first step to quality teaching is quality educators.

Although it is almost impossible to think of education without also think about the use of technology in its development, nowadays with the popularity and worldwide application of educational technology it is undeniable its potential. According to Huang, et al. (2019), educational technology refers to the use of tools, technologies, processes, procedures, resources, and strategies to improve learning experiences in a variety of settings. This task involves the disciplined application of knowledge; and the notion of disciplined application of knowledge is included to reflect the view that educational technology is an engineering discipline in the sense that principles based on theory, past experience, and empirical evidence guide what professional educational technologists do Spector (2016). The importance of educational technology is addressed by Lazar (2015), however still several challenges require immediate attention; for example as highlighted by Adesope &Rud (2019): “Perhaps one of the great methodological challenges in educational technology is a dearth of rigorous experimental research that will examine the effects of different features of contemporary technologies. There is clearly a need for more robust research efforts supported by a national agenda to rigorously examine the effects of technology-rich environments through experimental work. There is clearly a need to engage in robust discussions around these methodological challenges, as well as others, posed by advances in educational technologies”.

Among the different tools to be used in educational technologies, programming languages are of great importance because the real power of computer is that we can program them. Taking this into consideration an important question arises among educators: what programming language should I use? Although at present there are numerous computer languages for different purposes (C, C++, C#, Fortran, Java, R, Python, Julia, etc.) MATLAB has proved to be in the elite; it continuously improves its capabilities allowing users to do almost whatever they need. Then, in spite of its intention is not precisely to serve as a platform to education but a specialized software for scientific computing the huge quantity of toolboxes, the comprehensive syntax and the capability of integration with other programs makes it suitable in order to be used with this purpose.

Naturally, being a specialized software aiming at computation, fields where mathematics play an important role are among the ones which can exploit the huge capacities of MATLAB in a better way. Some examples are communication system simulation (Zhou, 2020), intelligent control systems (Huamaní-Navarrete, 2020) and chemistry (Al‐Mubaiyedh & Binous, 2018; García‐Oliver, et al., 2019), etc. In the opinion of the author, problem-solving skills through the use of algorithms in MATLAB is an interesting topic to develop because the student can at the same time learn the computer language as the fundamentals of algorithms.

And, as an algorithm can be defined as a systematic and progressive method to solve a problem this can be a knowledge the student can extend according to its needs: every scholar or daily activity can be set as an algorithm. Because of that the goal of this research is to examine the possibilities of the use of the programming language MATLAB in the teaching of the subject “Algorithms” in elementary schools. In order to do that it is conceptualized it the importance of the use of programming languages for this activity, the possible benefits of the use of the software are explained and they are also offered recommendations for the work of the future professors.

Development

The word algorithm is at the very heart of computer science. The word algorithm signifies approximately the same meaning as: method, procedure, function, technique, strategy, process, recipe, etc. An algorithm can be described as a systematic and progressive method to solve a problem and mathematically, it can be viewed as a function acting on a specified set of arguments/inputs to produce a specified set of results/outputs (Sridharan & Balakrishnan, 2019).

According to Turk (2019), pseudocode and flowcharts are used to construct an algorithm of a computer program. Pseudocode is generally composed of words and expressions, whereas flowcharts are represented by a set of simple shapes. Pseudocode provides an informal means for describing the steps of the program to be written (Figure 1); while a flowchart is a graphical representation of the steps in writing the program. In order to construct the flowchart several shapes are used, each one with a specific meaning (Figure 2). This help to express information in a more structured way allowing an easier reading of the diagram. However, in spite of the above-mentioned the design and analysis of algorithm is still a difficult subject for students; therefore, it is important a clear explanation of the topic in order to facilitate its learning.

Source: Holder & Eichholz (2019).

Fig. 1 - Pseudocode for the method of bisection. 

Source: Turk (2019).

Fig. 2 - Most frequently used flowchart symbols. 

Based on classical pedagogical knowledge, it should be noted that the method of teaching is understood as a method of realization of teaching, through which an important pedagogical task is achieved, such as the achievement of teaching objectives. The process of teaching students is of a dual nature: (1) acquisition of knowledge through issues relevant to the content of the material being taught; (2) to acquire the qualities necessary for the formation of personality and professional development. Then, in order to ensure the psychological, pedagogical and methodological preparation of future professionals, the learning process should be adapted to their time; it should be creative, and rich in active teaching methods and ICT tools. Mastering the material taught using active learning methods creates a basis for the development of students' mental and practical activities; thus, active learning acts as a necessary condition for the acquisition of knowledge, skills and habits in learning.

However, from a teacher’s perspective, the digital technologies are taught alongside traditional design and make skills so therefore are only a part of the everyday teaching load. As the technologies evolve, keeping knowledge up to date with such a wide variety of software in addition to the traditional skills can be problematic. The Fujitsu report ( Fujitsu Technology Solutions, 2017) reveals that digital literacy is quite low among teachers generally, and education faces challenges in ‘teaching the teachers’. It goes on to state that 51% of IT departments in education feel they can’t keep up with technological advances; however, 84% of respondents say they have a duty to prepare their students for a digital future. Teachers clearly understand the importance of teaching students to use digital technologies but many struggle to keep up with the demands (Winn, 2020).

In this author's opinion this problem can be approached with the selection of an appropriate software whose functionalities allow its use for diverse tasks. This way in the moment to face a new problem the user doesn't have to learn a new tool, but adapting the previously acquired knowledge to solve the new problem. This way the user diminishes the time of response to solve new problems, as well as it strengthens the knowledge in the selected software. An example of such software is MATLAB and although it was not directly included in the teaching of school computer science courses in Azerbaijan, given its great potential, it is important to revise this decision.

MATLAB

The word MATLAB is written in English as "Matrix Laboratory" and is very popular as a fourth generation programming language and digital computing system. The capabilities of the MATLAB programming language are very wide, so the user can perform the following operations (Mammadov, et al., 2015):

  1. Execution of matrix operations.

  2. Drawing and analysis of functions and data graphs.

  3. Application of algorithms.

  4. Carry out manual operations with programs written in other languages ​​ (including C, C ++ and Fortran).

A study conducted by MathWorks in 2004 showed that more than one million people worldwide use MATLAB (Goering, 2004). Users of this program worked in various fields: engineering, science, economics, etc. Large clients include research centers such as the Massachusetts Institute of Technology, NASA, Max Planck Society and RWTH Aachen University - IBA Group, Boeing, Ford Motor, Halliburton, Lockheed Martin, Motorola, Novartis, Pfizer, Philips, Toyota, and UniCredit Bank.

The MATLAB programming language was written in 1970 by Cleve Moler. He was the dean of the Department of Computer Cybernetics at the University of New Mexico, and the reason he designed this programming language was to provide the ability for his students to use the LINPACK and EISPACK packages without learning FORTRAN. In a short time, this program spread to other universities and began to be applied in the applied mathematics community.

At that time, engineer Jack Little became acquainted with the MATLAB programming language during Moler's 1983 visit to Stanford University. Little was well aware of the economic value of the program, so he decided to work with Moler and Steve Bangert on the project of becoming it a trademark. Together they wrote the MATLAB programming language in the C programming language, and in 1984 they founded the company MathWorks to continue its development. These rewritten libraries were abbreviated as JACPAC but in 2000, the MATLAB programming language was redesigned to use a new library called LAPACK (Humbataliev, et al., 2017).

To ensure the visualization of numerical information, MATLAB has the ability to create graphs and diagrams. Graphs usually represent a single-valued functional relationship between two or more numerical sets. The construction of two-dimensional graphs in MATLAB can be performed on the decimal and logarithmic scales in Cartesian and polar coordinate systems. To construct a graph on a decimal scale, it must be executed the plot (x, y) command in the command field (Anufriev, et al., 2005). Here x, y are arbitrary vectors of the same size predefined. The graph that opens when you execute the command is displayed in a graphic window called Figure <n> 1. The program automatically determines the scale to achieve the optimal view of the graph in the window. To construct graphs in the polar coordinate system, you need to execute the polar (f, r) command (Bordovskaya, 2011).

Due to the above-mentioned and the continuous enhancement of the software it is an ideal

vehicle to solve problems in disciplines that handle mathematical content. This is also improved by application-specific solutions using toolboxes, application development tools, and other products. However, this doesn't mean that it is the best tool for all the cases, for example: C++ or Java are better for large applications as such as operating systems or design software. However, in the case of being necessary to carry out scientific calculation, MATLAB is an appropriate tool due to its efficient handling of big calculations in addition to its graphical capabilities which are not of easy access in high level programming languages.

Recommendations for the use of MATLAB in the teaching of algorithms

In the opinion of the author the use of MATLAB is especially recommended in the teaching of the subject “algorithms” because it is easier to learn the operation of the object observing its behavior than mentally to abstract a written description of it; and when used in conjunction with multimedia technologies, it is possible to realize a very creative and interesting learning process. For example, in computer science classes given in elementary school, future teachers convey theoretical knowledge about algorithm to their students, and during the presentation, the teacher can regularly provide students with code examples ensuring its implementation in the computer (Kostikov, 2011). When providing a code in MATLAB for the automatic generation of a block diagrams that represents the studied algorithm the students can learn in parallel the programming language as well as the fundamental concepts of the subject. The students can compare if the diagram corresponds with the studied algorithm and otherwise they can inspect the code to look for where the flaw resides. This process can be improved using an e-presentation with a software like Activinspire (Wushishi & Durodola, 2016; Dudaitė & Prakapas, 2019).

However, the preparatory phase of implementation should begin with the proper organization of education. Thus, first of all, students should be provided with theoretical information about the MATLAB program, and the main priority here is to teach them the part they may need. In later lessons, the teacher can also inform students about the program so that they have a basic understanding of the programming language. In other words, by introducing a program they are unfamiliar with, they solve an important pedagogical problem, such as making their activities more creative by displaying the most common block diagram description of the algorithms they know.

In the case of algorithms each figure in the block diagram is designed to describe a specific action, and the operations inside these blocks are not difficult for students because they are known from the math course. However, the functions performed by each block of this block diagram should be explained to the students one by one, and the color of the figures used in the description of the block diagram is intended to attract students' attention, so they should be display with vivid colors as for example Figure 3. Teacher can also assign students group work according to their level of knowledge allowing cooperation in the classroom.

Fig. 3 - Representation of a simple block diagram. 

This way, theoretical material is presented to student in a more interesting form, due to which the teacher's activity in the classroom is in harmony with the active participation of students. Lessons conducted in this way are of great interest to students but requires special knowledge and skills from the subject teacher. With this in mind, it is very important for future teachers to master the MATLAB programming language more deeply in teacher training.

Conclusions

Every time is more accepted the potentials of the use of the educational technology for the teaching in all the education levels however this has conditioned a high pressure on the future professors since they have to keep updated in the contents they have to teach, but also have to learn more and more computational tools in order to do that. An effective way to face this problem is selecting an appropriate software with a whole range of professional features, being MATLAB a suitable option. Due to the capabilities and stability of this software the author recommends it for the teaching of concepts related to the mathematics, especially in the topic algorithms. The capabilities of the software for handling graphics allow the teaching process to be more attractive for the students, facilitating the understanding of the contents. However, other educational technology tools can be used in combination to MATLAB making the learning experience a more creative and effective process.

References

Adesope, O. O., & Rud, A. G. (2019). Maximizing the Affordances of Contemporary Technologies in Education: Promises and Possibilities. In, O. O. Adesope & A. G. Rud (Eds.), Contemporary Technologies in Education (pp. 1-15). Palgrave Macmillan. [ Links ]

Al‐Mubaiyedh, U. A., & Binous, H. (2018). Teaching arc‐length continuation in the chemical engineering graduate program using MATLAB©. Computer Applications in Engineering Education, 26(4), 1033-1049. [ Links ]

Anufriev, I. E., Smirnov, A. B., & Smirnova, E. N. (2005). MATLAB 7. SPb. [ Links ]

Bordovskaya, Н. В. (2011). Pedagogy: a textbook for university students. Peter. [ Links ]

Dudaitė, J., & Prakapas, R. (2019). Influence of use of Activinspire interactive whiteboards in classroom on students’ learning. [ Links ]

Fujitsu Technology Solutions. (2017). The road to digital learning, Research report. Insight Avenue. [ Links ]

García‐Oliver, J. M., García, A., De La Morena, J., & Monsalve‐Serrano, J. (2019). Teaching combustion thermochemistry with an interactive Matlab application. Computer Applications in Engineering Education , 27(3), 642-652. [ Links ]

Goering, R. (2004). Matlab edges closer to electronic design automation world. EE Times. http://www.eetimes.com/news/design/showArticle.jhtml?articleID=49400392Links ]

Holder, A., & Eichholz, J. (2019). An Introduction to Computational Science (Vol. 278). Springer. [ Links ]

Huamaní-Navarrete, P. F. (2020). Elaboration of didactic manual using Matlab, to strengthen the teaching-learning process in a section of the course Intelligent Control Systems. (Paper). IEEE World Conference on Engineering Education (EDUNINE), Bogotá, Colombia. [ Links ]

Huang, R., Spector, J. M., & Yang, J. (2019). Educational Technology. Springer. [ Links ]

Humbataliev, R., Tagiyev, H. N., & Bayramova, E. N. (2017). Programming languages. Science and Education. [ Links ]

Kostikov, A. N. (2011). Methods of teaching computer graphics to future computer science teachers on the basis of competence approach. Journal of Psychology and pedagogy. Methodology and problems of practical application, 2(13). [ Links ]

Lazar, S. (2015). The importance of educational technology in teaching. International Journal of Cognitive Research in Science, Engineering and Education, 3(1). [ Links ]

Mammadov, H. A., Rustamov, G. A., & Rustamov, R. G. (2015). Engineer mathematics: Modeling in MATLAB and Simulink. AzTU Publishing House [ Links ]

Spector, J. M. (2016). Foundations of Educational Technology (2 ed.). Routledge. [ Links ]

Sridharan, S., & Balakrishnan, R. (2019). Foundations of Discrete Mathematics with Algorithms and Programming. CRC Press [ Links ]

Turk, I. (2019). Practical MATLAB. With Modeling, Simulation, and Processing Projects. Apress. [ Links ]

Varghese, N. V., & Mandal, S. (2020). Teaching-Learning and New Technologies in Higher Education: An Introduction. In, N. V. Varghese & S. Mandal (Eds.), Teaching Learning and New Technologies in Higher Education. (pp. 1-15). Springer. [ Links ]

Winn, D. (2020). Pedagogies for Enabling the Use of Digital Technology. In, P. J. Williams & D. Barlex (Eds.), Pedagogy for Technology Education in Secondary Schools. (pp. 121-134). Springer. [ Links ]

Wushishi, I. D., & Durodola, T. G. (2016). Exploring the Effectiveness of Computer Activinspire Software on Students Academic Achievement in Mathematics. African Journal of Education, 3(2). [ Links ]

Zhou, Y. (2020). Research on Simulation Teaching of Communication System in Higher Vocational Education Based on MATLAB. Journal of Physics: Conference Series, 1648. [ Links ]

Received: February 18, 2020; Accepted: March 25, 2020

*Autor para correspondencia. E-mail: sevinge.jabrayılzadeh.1973@mail.ru

Authors declare that there is no conflict of interest.

Authors assumed individually the elaboration of this article.

Creative Commons License