# An Effective Concept for Teaching LabVIEW Programming to Engineering Students
## 1 Introduction  
In an era when technology is an integral part of almost every industry, the demand for qualified engineers with strong programming skills is increasing constantly. With the ability to write algorithms and develop logical solutions, engineers can solve a wide range of engineering challenges, from designing new systems to optimizing existing processes. Programming skills empower engineers to customize solutions to meet specific requirements and optimize performance. Therefore, investing the time and effort to acquire in-depth programming skills for engineering professionals represents a wise decision that can bring significant personal, professional, and societal benefits. In the engineering field, LabVIEW(tm) (Laboratory Virtual Instrument Engineering Workbench) software is used widely across different industries, including manufacturing, research, aerospace, automotive, and more. Numerous engineering tasks involve data acquisition from a variety of sensors and instruments. LabVIEW provides extensive libraries and drivers for interfacing various hardware devices, such as sensors, instruments, and industrial equipment. Proficiency in LabVIEW allows engineers to work on a wide range of projects and applications, from test and measurement systems to automation and control, which makes them more competitive in the labor market. LabVIEW is an integrated development environment (IDE) for the graphical programming language G developed by National Instruments (NI). LabVIEW was introduced in 1986 as a tool that allows non-programmer scientists and engineers to create customized programs for their test and measurement systems quickly and easily [1]. As it has evolved,it has become a productive graphical programming environment used widely in industry [2; 3; 4], research [5; 6; 7; 8], and teaching [9; 10]. The reasons for its popularity are (1) the excellent support with software drivers for a wide range of measurement hardware, (2) the comprehensive set of analysis functions, and (3) the simple design of the graphical user interface (GUI) for the target applications. A further extension of its functionality is achieved with software add-ons such as LabVIEW Real-Time [11], LabVIEW FPGA [12; 13], Vision Development Module [14; 15; 16], G Web Development Software [17], and many others. A software module developed in LabVIEW is called a virtual instrument (VI). It consists of a front panel, a block diagram, and an icon/connector pane. The front panel represents the graphical user interface of the VI, the block diagram defines the algorithm of the operation, and the icon/connector panel enables a modular and hierarchical structure of the application. In education, LabVIEW is used most often for the development of hands-on, virtual, and remote laboratories [18; 19; 20; 21; 22]. Remote laboratories are typically applied in engineering disciplines such as control [23; 24; 25; 26; 27], instrumentation and measurement [17; 28; 29; 30], electronics [31; 32; 33; 34], mechatronics [35], and robotics [36]. In these cases, LabVIEW has been selected for developing the measurement server because of its extensive software support for hardware and communication protocols. In traditional laboratory exercises, teachers use LabVIEW to prepare and conduct laboratory experiments in a variety of engineering [37; 38; 39; 40] and natural science [41; 42; 43; 44] subjects. It allows them to develop affordable laboratory experiments [37; 45; 46] and to create an easy-to-understand GUI that is tailored to the learning content [39; 47; 48; 49]. This increases students' interest [50] and improves their understanding of the theory [40; 42; 44]. In remote laboratories and laboratory experiments, students can change the parameters of experiments on a predefined GUI, but they do not learn how to program such LabVIEW applications. In contrast, this paper presents pedagogical approaches to teaching LabVIEW programming at the undergraduate level.