pISSN 0374-4914 eISSN 2289-0041

## Research Paper

New Phys.: Sae Mulli 2022; 72: 512-524

Published online July 31, 2022 https://doi.org/10.3938/NPSM.72.512

## Potential of Visual Basic 6.0 in Teaching and Studying Physics

Nguyen Ngoc Duy*

Institute of Postgraduate, Van Lang University, Ho Chi Minh City 700000, Vietnam
Department of Physics, Sungkyunkwan University, Suwon 16419, Korea

Correspondence to:*E-mail: ngocduydl@gmail.com; duy.nguyen@vlu.edu.vn

Received: December 31, 2021; Revised: April 18, 2022; Accepted: May 25, 2022

This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

### Abstract

Computer programs play an important role in education and studies on subjects in natural science. Using computers, distance teaching and studying physics became easier, especially during the Covid-19 pandemic. Visual Basic 6.0 has emerged among various programming languages as a potential tool for physicists due to its simplicity and interactive graphical interface. This programming language does not require users' extensive computer knowledge or programming skills. With the hope of enhancing the efficiency of teaching and studying physics, I hereby present Visual Basic 6.0 potential to create graphical-user-interface (GUI) computer programs for creating a virtual laboratory, simulations, and numerical calculations. This study is used to enhance the effectiveness of computer programs in teaching, learning and doing research in physics.

Keywords: E-learning, Teaching physics, Virtual laboratory, Simulation, Computer code

### I. INTRODUCTION

Physics is one of the most difficult subjects in schools since it demands students to fully comprehend the principles or properties of physics phenomena and use them to explore nature. Many intricate concepts behind the phenomena, such as the weight and mass of an object, the velocity and acceleration, the phase in an oscillation, the quantum effects, etc. are difficult to explained to students without visual illustration[1,2]. Therefore, the visual illustration might help students have a deep understanding and long-lasting memory[3]. Different visualizing tools are used for teaching and studying physics, such as images, experimental models, simulating programs, and so on, which still require students to imagine but not practical experience. In such circumstances, virtual laboratories have been developed to visualize practical experiments and phenomena of physics, which help students not only improving their experimental skills but also increasing the efficiency of real experiments and providing a tool to for self-learning[4].

In physics, on the other hand, many experiments, like nuclear reactions, can be manually performed or repeated due to their uncertainty or feasibility, high cost, and danger. Thus, to save time and money and reduce risks on experiment performers and predict results before actual execution, computer simulation have the potential to solve these problems. For instance, it is obligatory to simulate a nuclear reaction of interest to estimate its feasibility before performing a real experiment. Additionally, under the Covid-19 pandemic situation, computer programs are highly demanded to overcome distance education or online teaching limitations. The computer is important in terms of providing computing environments for the virtual laboratories, the simulations, and calculations in physics to function well.

Visual Basic 6.0 (VB6)[5-7] like other programming languages, such as Python[8,9], Java[10,11], and C++[12-14], strongly supports physicists in descriptions of physical processes. VB6 far exceeded other languages because of its simplicity and interactive graphical-user-interface (GUI) design. Users can easily manipulate the interface to design a graphical panel with buttons, text boxes, lists, scroll bars, etc. VB6 has been used to develop educational programs simulating a motion of an object following dynamic laws, virtual laboratories to illustrate physics processes, or even codes to solve the problems in physics. For example, the dynamic parameters for a motion of a rocket shot with various angles in a short time can be clearly described using VB6. In which the change in rocket trajectories caused by air friction or the initial shot angle is visually described.

VB6 has various components that can be used for different purposes. For instance, the picture component is suitable for an oscilloscope monitor to display histograms; the shape can be an object in a motion. With this advantage, VB6 has emerged as a good candidate for beginners who do not have good programming knowledge and skills. However, for better software, users need to understand the properties of each component and use it selectively. Therefore, in this study, I present the important components of VB6 needed for creating virtual experiments, simulations, and calculations. Additionally, I present some results from a self-developed virtual laboratory that includes a system of practice lessons for undergraduates, simulation of a spring-mass system, and calculation of the nuclear properties of nuclei based on the shell-model using VB6.

### II. VISUAL BASIC 6.0 IN PHYSICS

Alomari et al.[15] state that that there is no perfect programming language since any language has its advantages and disadvantages. Therefore, programmers need to consider the appropriate computer languages for their convenience. For instance, C++ or Fortran[16,17] is not suitable for undergraduates since it requires users a certain programming experience. Pascal is a potential candidate for beginners to learn the basic ideas of programming. However, it is not convenient because of lacking an interactive graphical interface. A computer language used for teaching and studying physics should be simple with built-in graphics and requires users with basic programming skills. Among available computer languages, only Java, Python, and VB6 satisfy those requirements. However, learners still need a solid programming background to study Java and Python. VB6 has graphics that provide users with an interactive interface to manipulate actions easily Compared to Python and Java.

Nevertheless, coding in Java is more complicated than in VB6. Furthermore, checking error function built-in VB6 is a plus since it helps beginners check their coding immediately. Taking it all together, VB6 is considered a good language for teachers and students in physics, as indicated in Ref.[15].

Figure 1 shows a view of the VB6 programming window. A form [panel (4)] can contain many objects taken from the toolbox [panel (2)] with their properties chosen in the panel (6). The objects can be relatively classified into two main types: controlling objects and display objects. The controlling objects, such as command button, scrollbar, option button, etc. are used to perform actions under control relied on coding in the panel (3) of the users. Most objects can become the controlling object if they are associated with a control code. The display objects such as label, frame, etc. are used to graphically display an announcement, a caption, results, or else on the pop-up windows. For input/output values, users can use a textbox in the form. Instead of manually manipulating actions with VB6 software, a VB6 project also has a function to load external code from formatted files, such as MS-Word, Excel sheets, or execute the object. The details of objects and their properties were well described in many VB6 manuals[5-7,18] and, thus, they are not repeated in this paper.

Figure 1. (Color online) A view of the VB6 programming including main components of (1) menu, (2) toolbox, (3) coding window, (4) GUI design form, (5) project explorer, and (6) object properties.

For teaching and studying physics, there are several objects such as command button, label, textbox, etc. commonly used to design a software for a simulation or to build a virtual laboratory. A scrollbar is also necessary for adjusting values of physical parameters, such as velocity, angle, mass, and so on. A shape provided from the toolbox can be assigned to different objects in any experiment. The line is used to display a reference frame in an object motion or to connect dynamic systems. A textbox is suitable for the input parameters in the program. A picture or an image is required to present a histogram or an image of an instrument. A checkbox and an option button are often used to include or exclude additional parameters or conditions of the calculation or simulation of interest. With several mouse clicks, VB6 users easily organize subjects by groups in a menu. An important object necessary for any motion simulation is the timer. The timer object is associated with the physical quantities related to the time in due course. All the commands in the code under controlling the timer are performed during the active state.

We do not need to use all the properties of the objects to create an application in physics. Only several popular properties relevant to each object are used in the project. For examples, the fillstyle and forms of the shape object are modified to fit the need for application purposes. The properties of a scrollbar, such as the maximum and minimum values or step change, are often verified. One of the most important properties of any object is its name, which is controlled by the code. In this case, the names of the objects are used as variables in the calculating or controlling code. Therefore, users must pay significant attention to the names of the controlled objects. Notice that the properties of objects can be changed while the application is running. In such a case, we need to include commands to properly change the properties of the objects in the source code.

There are three main steps to build a program using Visual Basic 6.0 as follows: designing an interface on the form with objects, defining the properties of all the objects designed on the form, and coding the program based on the proper algorithms to solve physics problems of interest. Users can easily insert objects from the toolbox panel (2) into the form. The property window [panel (6)] is also displayed together with the form [panel (4)] so that it is easily accessed and manipulated. Programmers must have basic knowledge of VB6, such as commands, operations, data styles, etc., to develop a program. Fortunately, teachers or students, who have not much concept of a programming language, can easily access various code sources available both online and offline to learn VB6 language in a short time[18]. In addition to the computing language, algorithm is also a critical requirement to develop a software; therefore programmers should have a solid background of physics to use proper formulae or concepts to accurately describe or solve the physics phenomena. For instance, to simulate a harmonic oscillation, equations calculating amplitude, velocity, period, and other parameters should be accurately described and assigned to the right objects so that the software will work properly and generate reliable results.

### 1. Virtual laboratory

#### 1.1. Creating virtual laboratory

According to suggestions of the authors in Refs.[19-21], a virtual laboratory requires at least two main components: computer programs to execute algorithms and instruments to provide an environment in which the program can function. A virtual laboratory also provides tools, materials, objects, etc. required for an artificial measurement. These required components can be found under the object tab in the toolbox of a project in VB6. Depending on requirements of the problems to be solved by users, a virtual laboratory can be designed with one or many projects. Each project contains several forms which present virtual experimental environments or working places. For a measurement, the image should be defined as either a static or dynamic state. The images may be modified for the purpose of illustration, in which the dynamic parts of the instruments can be replaced by suitable components for the motion or changed following the principle of physics.

For example, in measurement of the inertia moment of a disk shown in Fig. 2, an image to contain the photo of the entire setup including a digital clock (timer), a holder, a disk, and so on, is used. The wire and plump, which are dynamical parts, are assigned to a line and a rectangle shape of VB6, respectively. The monitor of the timer is replaced by a black textbox. In general, the design of the virtual experimental space strongly depends on the graphical skills of users. Obviously, the line and shape of VB6 can be used as the wires (line) connecting to the plump (shape). On the other hand, the upper U-shape sensor is modified to put into an image which can be moved up and down along the ruler by controlling the scrollbar on the right side.

Figure 2. (Color online) The virtual experiment of the inertia moment measurement designed using VB6.

To drop the plump, a command button with the typeface of ON is used. The distance between two sensors is measured by the ruler. Supplemental materials for theory of the experiments, report templates, and data analysis sheets are linked to the command buttons labeled as Background knowledge, Measurement report sample, and Data analysis file, respectively, in the bottom left of the window. All the command buttons are associated with the controlling codes written in VB6.

In another case, I designed a program of the virtual experiment for students to practice measuring the frictional coefficient. The devices required for this measurement are a pedestal, a protractor, two sensors, a drain, a ruler, an object, and a digital clock. The protractor and drain are mounted with the pedestal. The sensors, whose color is changed from green to red when the object passes through, are connected to the timer and mounted on the drain to measure the moving time of the object on the drain. The drain is designed to move along the protractor. The distance between the sensors is measured by the angle and height of the drain.

To design this virtual experiment, we need to consider which parts can be replaced by the objects provided in VB6. As can be seen in Fig. 3, the movable parts, which are the object, drain, and upper sensor, can be replaced by a shape, a thick line, and a circle shape, respectively, in VB6. The pedestal holding the protractor is replaced with an image. The monitor of the clock is replaced by using a textbox. The ruler is replaced by using a scrollbar associated with a textbox to display the value of the distance between the sensors. Another scrollbar is used to move the drain up and down along the protractor instead of manually controlling the drain in the real experiment. A menu for "File" and "Help", on the left-top corner of the form, is also incorporated into the main interface for users to access the supplemental materials directly.

Figure 3. (Color online) The virtual experiment of the inertia moment measurement designed using VB6.

The two programs mentioned above indicate that VB6 offers various components to build a proper virtual laboratory to visualize physics experiments. Some components displaying instruments of the experiment can be replaced by images taken from the real laboratory for conspicuousness. The measurement procedures (e.g., changing the distance between the sensors, dropping the plump, and measuring the time) are visually demonstrated for a better understanding and long-lasting memory. As shown Fig. 2, only a form that contains command buttons, a scrollbar, textboxes, lines, and an image as well as additional buttons to access documents associated with the lessons is required.

In the second example, see Fig. 3, a scrollbar was added to adjust these objects instead of manually controlling the drain and moving the sensors. By doing that, we still achieved the aims of the action but made the action simpler and more precise. Notice that VB6 also provides a drag-drop function which allows users to manipulate the objects directly in the form. The simple coding algorithm and graphical interface are advantages that do not require users to have a solid background in computer program coding. VB6, with the toolbox and GUI form, strongly helps users design an application in physics.

#### 1.2. Using the virtual experiment for the Frictional Coefficient Measurement in classes

To specify the usefulness of VB6 to the education field, as an example, I describe how to apply the virtual experiment created using VB6 to measure the frictional coefficient (Fig. 3) in actual classes. The steps for practical study are as follows:

##### Preparation
• Reviewing physics background for the measurement: Instructors and students access File on the menu and choose Background Knowledge to review the method to determine the coefficient. The coefficient can be determined from the acceleration a of the object sliding on the drain and slope angle α as

$μ=tanα−agcosα,$

where g is the gravitational acceleration. The acceleration a is determined in terms of the distance s that the object travels and time t needed for the distance s as

$a=2st2.$

Taking Eq. (1) together with Eq. (2), we can determine the friction coefficient µ.

• Checking the tools used to measure: i) changing the angle α that is measured by the protractor and set at zero degree; ii) adjusting the positions of the sensors which are used to measure the distance s and traveling time t; iii) resetting the stopping watch.

##### Measurement
• Step 1: Adjusting the angle α and recording the value at which the object starts sliding on the drain when the object is dropped by pressing the ON button.

• Step 2: Adjusting and recording the distance s between the sensors.

• Step 3: Resetting the stopping watch by pressing the RESET button and setting a larger angle α.

• Step 4: Dropping the object by pressing the ON button and recording s, t, and α into the logbook.

• Other students repeat the four steps above to have a set of experimental data. The data will be analyzed according to the hint in the Measurement report sample and Data analysis file, which can be accessed by opening the menu File.

When the measurement is completed, students finish the measurement by tapping the EXIT button to close that virtual room.

Compared to a real experiment, the virtual experiments offer several advantages of saving money from buying real equipment, repetition possibility, convenience, etc. In addition, the purposes of the lessons are visually illustrated so that the learners can expand their knowledge and improve their skills. By using these virtual experiments, students can study ahead of the experiments prior to the practical classes in schools. What students need is just a well-prepared guideline from instructors. The virtual experiments can be repeated many times and performed whenever at any place. Additionally, many students can individually practice a measurement at the same time. Creating a virtual laboratory helps increase study efficiency in practice and to reduce the risks to health and safety in the physics laboratory at schools.

### 2. Simulation

There are various definitions of simulation according to different attitudes and fields. In physics, equation-based and the Monte-Carlo simulations are given a special attention. The equation-based simulation describes physical phenomena based on the laws of physics, which are described by formulae. For example, the airstrip of a rocket is simulated based on dynamic equations in mechanics. However, Monte-Carlo simulation is a method that uses computer algorithms with random parameters to calculate the properties or to predict the states of physical processes that could not be estimated without prior simulation. The equation-based simulation is often used for teaching and learning physics, while the Monte-Carlo is useful in doing research. VB6 enables both types of simulations.

In the equation-based simulation of a physical process, the algorithms are mostly derived from principles of the physical phenomena which are often described by mathematical formulae. The motion or changes of the physical objectives follow the rules of physics, which can be simulated using VB6. For example, the damped oscillation of a spring-mass system is mathematically described by

$x=Acos(ωt−ϕ).$

The velocity and accelerator of the oscillator are given by the derivatives of Eq. (3) as

$v=x˙=−Aωsin(ωt−ϕ),$ $a=x¨=−Aω2cos(ωt−ϕ),$

where ϕ denotes the initial phase of the oscillation. The sinusoid frequency, ω, is calculated in terms of the free oscillation (without damping) frequency, $ω0$, and the damping coefficient, γ, as

$ω=ω02−γ2.$

The amplitude A, which is one of the changing parameters because it decreases with the exponential function due to friction, is given by

$A=A0e−γt$

where A0 and t denote the amplitude without damping and the time, respectively.

Simulating the oscillation in a virtual laboratory requires a spring, an oscillator, and an oscilloscope to display the graphs of the position, velocity, and accelerator parameters of the oscillator, respectively. They are designed using an image, a shape, and a picture, respectively, in VB6. The graphs of the Eqs. (3)-(5) are displayed using the picture in VB6, as shown in Fig. 4. The different phases of the displacement, velocity, and accelerator can be explained well using these graphs during the simulation. The positions of the shape (oscillator) are defined in Eq. (3). The motion of the mass, therefore, follows exactly the laws of physics. The output parameters of the instant amplitude, velocity, accelerator, sinusoid frequency, and so on are also displayed in the interface via textboxes. This is convenient for users to track the changes in the physical quantities of the phenomenon. A panel of the initial setup of the system is also added. Users can easily verify the dynamic states of the system by changing the initial values using scrollbars in the panel to study the properties of the physical processes.

Figure 4. (Color online) A simulation of the damped oscillation of the spring-mass system created using VB6.

The control buttons are provided to start or stop the run of the oscillation. By using GUI in VB6, all the parameters can be displayed at the same time, and thus, users can preview the process right after modifying the dynamic parameters. Notice that users also can reset all the parameters during the run instead of restarting the run. The control buttons allow users to handle the experiment's performance using the stop, restart or reset buttons any time during the run. For this oscillation simulation, some basic graphical designs for objects of the experiment and a simple algorithm to execute the Eqs. (3)-(7) are required.

The program designed in Fig. 4 can be applied to explain and provide a series of the properties of the damped oscillation to students in classes at high schools as below.

• The definition of the damped oscillation:

• Instructors turn on the simulator and ask students to observe the maximum magnitude A of the oscillation, which is shown in the graphs, and movement of the ball;

• The students will qualitatively evaluate the phenomenon of the reduction of the magnitude;

• The change in magnitude by the time can be quantitatively evaluated by considering the magnitude Ai at the moment $t=T,2T,...,nT$. From the data set of ti vs Ai, the student can make a graph and realize that the maximum magnitude is exponentially decreased as formulated in Eq. (9). Subsequently, students can also deduce the damping coefficient γ.

• The change in the magnitudes of the displacement x, velocity v, and acceleration a by the time:

• Instructors give a question about the change in the maximum magnitudes of the movement, velocity, and acceleration;

• By visualizing the displacement, velocity, and acceleration graph, instructors help students easily realize the magnitude reduction over time.

• Phase difference among the displacement x, velocity v, and acceleration a:

• By using the graph, teachers explain the phase difference;

• Changing m, k, and r to see if the phase is changed and what parameters should be changed.

• Impacts of either elasticity k, mass m, and resistance r:

• By changing the values of these parameters and asking students to observe the graph, students can evaluate the change in the frequency or period and phase of the oscillation;

• Give a conclusion that these parameters impact the frequency but do not influence the phase.

The example above indicates that by using VB6, instructors can easily design a lesson following their teaching plan. The knowledge of lessons can be visualized with the GUI programming using VB6 to enhance better understanding of students. Hence, learning using VB6 can be specifically utilized in the education field.

It should be noted that the examples mentioned above are for teaching-learning physics at high schools and first-or second-year undergraduates at universities. The present study results discussed below indicate that VB6 can be efficiently applied to graduated (master or doctoral) students and senior researchers.

In experimental physics, scientists often use the Monte-Carlo simulation to test the feasibility of a difficult measurement or to predict a hard physics process. As an example, here, I present the simulation for the identification of various exotic particles produced by the 3He-induced reactions (i.e., 3He(16O,x), 3He(24Mg,x), etc.) using the CRIB spectrometer[22, 23] of the University of Tokyo at RIKEN institute (Japan), which is shown in Fig. 5. The primary beams delivered from the AVF cyclotron bombard the F0 target. The products from the reaction as the secondary beam are transported to the F3 focal plane for the final reactions. Notice that these experiments are to study deeply on nuclear physics, which are conducted by post-graduate students and senior researchers in the field.

Figure 5. (Color online) A plane view of the CRIB spectrometer of the University of Tokyo, which nuclear physicists used to produce radioactive-ion beams and measure nuclear reactions.

Because many isotopes come out as products of the reactions, scientists must identify each particle based on particle identification methods with the helps of computer programs. The separation of the particles coming from the reactions requires a simulation to define if the distributions of the particles overlap each other. The particles are distinguished by using the differences in the light time (ti) and energies (Ei) of the particles. As shown in panel (A) of Fig. 6, tens of isotopes are generated from the primary 3He(16O,x) reaction. By using the VB6 programming language, a simulation program was coded to simulate the flight time and energy of each particle as shown in panel (B) to determine the isotope of interest (i.e., 18Ne) in panel (A). The details of this work were published in Ref.[22]. Notice that the algorithm and the code of this simulation program are based on the complicated technical procedures, as detailed in Refs.[22,23]; hence, they are not mentioned in the present paper. Similar to the 3He(16O,x) experiment, the beam production of 26Si14+ via the 3He(24Mg,x) reaction also needs a simulation to identify isotopes and check the separability between particles. The simulation using the VB6 program shows that the particles can be well identified and it is possible to separate the beam of interest, 26Si14+, as shown in panel (C). In this simulation, the VB6 program calculates the flight time based on the mass and energy of the particles. The spectrum of the particle identification is plotted with the data of (ti, Ei).

Figure 6. (Color online) A simulation using the VB6-based computer program for the ion separation relied on energy (MeV) and time-of-flight (microsecond) of ion beams produced via the 3He(16O,x) (panels A, B) and 3He(24Mg,x) (panel C) reactions.

Because VB6 is just only a computer language itself, it is necessary to study how to apply VB6 to different aspects of physics. The discussion above obviously indicates the success of the application of VB6 to the Monte-Carlo simulation, which is important in the professional research of post-graduates and scientists at universities and institutes.

### 3. Data analysis and Numerical calculation

In studies on physics, researchers at universities or institutes usually analyze a huge amount of experimental and simulated data, leading to a need for help from computer programs. For instance, in the precise mass measurements using MRTOF technique[24,25], the precise mass of nuclei is determined based on the time of flight of ions. The mass-resolving power (Rm) and mass precision level ($δm$) are deduced in terms of the flight-time spread ($Δt$) and the mean value of flight time (t) as[24,25]

where N is the number of ions in the measurement or simulation.

The measured or simulated flight time needs to be analyzed to determine t and $Δt$ by fitting the data to a Gaussian distribution. Of course, we can use various means for the fitting but a computer code that can read the data from a file and display the results is always highly demanded. To display the results, VB6 is one of the best programming languages due to its GUI design as mentioned above. Figure 7 shows the analysis program using VB6 for the MRTOF simulated flight time of 400 ions, which were recorded in the file miniTOF50n400ion.dat. By using this program, users can directly check the mass precision level based on the recorded data without any third-party program (e.g. Excel, Origin, etc.). This program was successfully used to pre-estimate the precise mass measurements using MR-TOF spectrometers at RAON facility as described in Ref.[25].

Figure 7. (Color online) An analysis program to determine the mean value of time of flight, t, and time spread ($Δt=FWHM$) designed using VB6 for the MRTOF mass measurements.

Using VB6, we can also develop a program for the numerical calculation based on the shell model[26] to estimate spin-parity and magnetic moment at the ground state of a nucleus in nuclear physics. According to this model, states of nucleon follow the Pauli principle[27,28] to occupy the shells of a nucleus as shown in the level diagram in Fig. 8[26]. The interface of the program designed using VB6 is shown in Fig. 9.

Figure 8. Empirical scheme of single-particle levels for protons (left) and neutrons (right) [26,28].
Figure 9. (Color online) A calculator designed using VB6 for the shell-model calculation in nuclear physics [29].

The odd or even feature of the wave function is characterized by the parity, π. The nucleon has an orbital angular momentum and an intrinsic spin characterized by vectors $l→$ and $s→$ , respectively. There is spin-orbit interaction when the nucleon travels in the nuclear potential of a nucleus. Hence, the total angular momentum of a nucleon should have the maximum and minimum values, $j=l+1/2$ and $j=l−1/2$, corresponding to the orients of s vector. Properties of a nucleus are characterized by the properties of all the unpaired nucleons. Therefore, the spin (total angular momentum J) of the nucleus can be calculated as

and the parity π can be deduced by

$μ=μp+μn$

The subscripts p and n in the equations above are for proton and neutron, respectively. The magnetic moment of an odd nucleon is given by

where

and $μN$ and ħ are the nuclear Magneton, reduced Planck constant, respectively.

In this work, I analyzed how to apply the VB6 programming language in physics. The graphical-user-interface is an advantage of VB6, which helps for designing a virtual laboratory or simulation of an experiment due to the reduction of the time and graphical design skills for a computer program. The results of my self-developed computer programs indicate that VB6 can fulfill most of the requirements of the problems or phenomena of physics. By using VB6, users can visualize physics experiments and simulate or calculate physical phenomena or interactions parameters. The content used in the educational process can be derived from the simulation and visualization of a VB6 program. The procedures required for measuring a physical quantity are easily introduced to students with the help of the virtual laboratory created using VB6. Therefore, VB6 is capable of being applied for teaching and studying physics at high schools, universities, and institutes. Finally, the present study helps enhance the effectiveness of the use of computers in teaching-learning and doing research on various subjects of physics.

### IV. CONCLUSION

In this work, I analyzed how to apply the VB6 programing language in physics. The graphical-user-interface is an advantage of VB6, which helps for designing a virtual laboratory or simulation of an experiment, due to reduction of the time and graphical design skills for a computer program. The results of my self-developed computer programs indicate that VB6 can fulfill most of requirements from the problems or phenomena of physics. By using VB6, users can visualize physics experiments and simulate or calculate parameters of physical phenomena or interactions. The content used in the educational process can be derived from the simulation and visualization of a VB6 program. The procedures required for measuring a physical quantity are easily introduced to students under helps of the virtual laboratory created by using VB6. Therefore, VB6 is capable to be applied for teaching and studying physics at high schools, universities and/or institutes. Finally, the present study is helpful to enhance the effectiveness of the use of computers in teaching-learning and doing research in various subjects of physics.

### ACKNOWLEDGEMENTS

I gratefully thank Dr. Jiwon Lee (Korea National University of Education) for her valuable discussion on the topic and results of the research. The support from Van Lang university for this study is also acknowledged.

### References

1. C. Sarabando, J. P. Cravino and A. A. Soares, Procedia Technol. 13, 112 (2014).
2. R. J. Beichner, Am. J. Phys. 62, 750 (1994).
3. E. Bobek and B. Tversky, Cogn. Res. 1, 27 (2016).
4. A. Jimoyiannis and V. Komis, Comput. Educ. 36, 183 (2001).
5. G. R. Eddon and H. Eddon, Programming Com-ponents with Microsoft Visual Basic 6.0. (Microsoft Press, Washington, 1998).
6. J. C. Bradley and A. Millspaugh, Programming in Visual Basic 6.0 Update Edition with CD. (McGraw-Hill, New York, 2001).
7. M. MacDonald, The Book of Visual Basic 2005: NET Insight for Classic VB Developers. (No Starch Press, California, 2006).
8. D. Kuhlman, A python book: Beginning python, ad-vanced python, and python exercises. (The Segal Group Inc, New York, 2009).
9. J. Guttag, Introduction to Computation and Pro-gramming Using Python: With Application to Un-derstanding Data. (MIT Press, Massachusetts, 2016).
10. A. V. Hoff, IEEE Internet Comput. 1, 51 (1997).
11. J. Gosling and H. McGilton, The Java language environments: A White Paper. (Sun Microsystems, California, 1995).
12. B. Stroustrup, programming language. (Pearson Education, London, 2013).
13. O. Spinczyk, A. Gal and W. Schröder-Preikschat, AspectC++: an aspect-oriented extension to the C++ programming language, Proceedings of the Fortieth International Conference on Tools Paciffc: Objects for internet, mobile and embedded applications, p 53-60.
14. J. O. Coplien, Advanced C++ programming styles and idioms. (Addison-Wesley, Boston, 1992).
15. Z. Alomari, O. E. Halimi, K. Sivaprasad and C. Pandit. Comparative Studies of Six Programming Languages, Available at https://arxiv.org/abs/1504.00693 (accessed July 2021).
16. M. Metcalf, J. K. Reid and M. Cohen, Fortran 95/2003 Explained. (Oxford University Press, Oxford, 2004).
17. S. J. Chapman and S. J. Chapman, Fortran 95/2003 for scientists and engineers. (McGraw-Hill, New York, 2008).
18. Greg Perry, SAMS Teach Yourself visual basic 6 in 21 Days. (Sams Publishing, Indiana, 1999).
19. H. M. Babateen, The role of virtual laboratories in science education, 5th International Conference on Distance Learning and Education IPCSIT 12, 100-104 (2011).
20. K. C. Chu, Building an Interactive E-Lab. Encyclo-pedia of Distance Learning. (IGI Global, Pennsylvania, 2009).
21. V. Potkonjak et al, Comput. Educ. 95, 309 (2016).
22. N. N. Duy et al, Nucl. Instr. Meth. A 897, 8 (2018).
23. N. N. Duy et al, Nucl. Instr. Meth. A 723, 99 (2013).
24. T. Y. Hirsh et al, Nucl. Instr. Meth. B 376, 229 (2016).
25. N. N. Duy, N. K. Uyen and K. Y. Chae, J. Korean Phys. Soc. 80, 887 (2022).
26. A. Sitenko and V. Tartakovskii, Theory of nu-cleus: Nuclear structure and nuclear interaction 84. (Springer Science & Business Media, Berlin, 2012).
27. K. S. Krane and D. Halliday, Introductory Nuclear Physics. (Willey, New Jersey, 1988).
28. I. Langmuir, J. Am. Chem. Soc. 41, 868 (1919).
29. N. N. Duy et al, New Phys.: Sae Mulli 69, 1091 (2019).