Challenges in Teaching Automatic Control Courses with Matlab for Engineering Curricula

Silvio Simani, Department of Engineering, University of Ferrara

In recent years (and not only in the actual situation) we are currently experimenting with students (not only from the BSc degree) who seem to lack of abstraction capabilities. It means that they seem unable to transform a real-life problem into a set of solvable paradigms. Teaching computation, which has been performed mainly online during the pandemic, should be able to transfer problem-solving strategies. These features, which are especially important for future Engineers, usually involve the methods of expressing problems and the procedures leading to their solutions in a systematic way. In particular, with reference to Information and Communication Technologies (ICT), it involves the mental skills and techniques for designing algorithms that get computers do jobs for us, as well as the methodologies for explaining and interpreting the world as a complex of information processes. For the Engineering community, computational skills represent a key feature and a fundamental capability. Especially in this practitioners' area, these skills should include the set of abilities needed to transform real-life challenges into problems that can be solved with the help of a computer, and to apply computer-based solutions to questions at hand. However, especially with online teaching, we discovered students unable to transform real-life problems into theoretical and numerical solutions. They seemed to be stuck to the specific areas of their Engineering curricula. However, on one hand, this mindset is fundamental to almost every engineering task. On the other hand, teaching of computational skills is even more challenging, especially if performed online. Therefore, when designing courses for Engineering curricula, educators need to consider an increasing number of tasks. ICT progress requires analysis, design, and creation of increasingly large and complex systems. Engineering working environments and tasks require interdisciplinary and multidisciplinary environments. Computational teaching must take these factors into careful consideration, whist the necessary skills must be implicitly or explicitly developed. Moreover, proper teaching techniques can enable students to develop or increase computational skills through systematic introduction of simple and advanced computational tools, depending on the courses in the engineering curricula (Bachelor or Master degrees).
In particular for the Automatic Control Engineering area, simple online strategies can be exploited for fostering computational thinking in engineering education. Different teaching approaches have been used with reference to basic and elective courses of Automatic Control for BSc and MSc degrees. In particular, three key tools may enhance the learning effectiveness. An effective teaching activity must be supported by a (i) 'learning by doing' approach, which enhances the development of theoretical and practical skills proposed to the students by means of 'guided tours'. On the other hand, (ii) the use of 'real and realistic application examples' taken from different engineering backgrounds helps to engage students and attract their interest towards difficult theoretical activities. Moreover, (iii) the design of 'proper manual and semi-automated procedures' that are tailored to the considered application examples help to drive the students to learn the more appropriate Engineering approach to solve practical problems. Using proper software resources, such as MATLAB, enhance the development of these tools. In fact, MATLAB allows implementation of algorithms, creation of functions and user interfaces. Although MATLAB is intended primarily for numerical computing, an optional toolbox allows the access to symbolic computing abilities. An additional package, Simulink, adds graphical multi-domain simulation and model-based design for dynamic and embedded systems.
In conclusion, the development of computational skills can be enhanced by the introduction of an integrated use of the aforementioned teaching principles and computational tools intended to support the students in acquiring knowledge and developing problem-solving skills. At the same time, soft skills are also fostered to enhance communication and to improve the translation of real-world problems into the technical domain and technical issues back into common language.

Downloadable version of this essay