Virtual-Learning Specifications to Enhance Programming Skills
Purpose of the study
The currently emerging VPL as a useful tool for programming skills calls for better virtual programming language (VPL) specifications to enhance learning of the programming skills. That is due to increasing problems learners encountered in the online learning environment while acquiring programming skills. This study intends to identify the various VPL specifications that can enhance the programming learning experience for the students. These specifications will help both tutors and students overcome the challenges they encounter while using virtual programming tools.
There are multiple problems that both tutors and the programming students encounter while using these tools. Therefore, it is essential to conduct a study to help identify such issues and recommend better specifications to solve such problems. Thus, the study will determine the proper framework that the learning institutions offering programming courses should follow and a better prototype for students and their tutors. Students find programming leaning tools important and helpful in editing and writing the various programming languages and receiving feedback from the tutors to help them improve their skills ( Hyland, 2019 ). However, for the learning process to be effective, it is necessary to have a proper framework for the learning institutions to follow and a good prototype for the students to sharpen their various programming skills as they carry on with their online studies.
Delegate your assignment to our experts and they will do the rest.
Research question
What are the desired specifications for Virtual programming tools' framework and prototype specifications that can help improve online teaching and learning programming skills?
Sub-Questions
-
What basic requirements are necessary while using virtual programming tools in learning or teaching programming skills?
-
How convenient and available are the VPL tools for using learning basic programming skills?
The hypothesis to be tested
Testing of the following hypothesis will be crucial in answering the above research questions:
H 0 : If virtual programming tools are improved, tutors and students' teaching and programming skills will be enhanced.
H 1 : Improving virtual programming tools' specification cannot enhance the programming skills' learning and teaching processes.
H 0 : If individual specifications are applied to virtual programming tools, students and tutors will experience better programming.
H 1 : There are no specifications to improve students' and tutors' experience in learning programming through virtual tools.
H 0 : If the requirements for using virtual programming tools to teach programming skills are improved, virtual tools will be sufficient.
H 1 : improving the virtual tool's requirements cannot enhance the effectiveness of these virtual programming tools.
H 0 : Virtual programming tools are widely available and accessible by the students and programming tutors.
H 1 : There is a scarcity of virtual programming tools leading to limited programming teachers and students' limited access.
Research Design
This research uses an action research design whereby educational research involves the data collection regarding the VPL tools and outcomes, and data analysis. It also consists of developing a plan to improve the VPL tools, collecting the particular changes after implementing a new plan, and forming conclusions concerning the VPL tools' improvements. The primary purpose of the action research design in this research study is to improve the VPL tools used for learning programming skills.
Furthermore, the action research design used in the study will specifically focus on collaborative research whereby a group of researchers are involved in researching the VPL tools' specifications. Typically, ten students are tested, and the results are analyzed to help answer the research question. Both researchers and the students will work jointly on improving the VPL tools specifications to enhance the learning of programming skills.
The research design begins worth a severe reflection of that is directed towards research topic identification. Therefore, it starts with the researchers using the elements of practice or aspects of the student's learning that require investigation. Then the design involves identification of the theoretical perspective that the researchers hold relating to their focus. The third step is the identification of the research questions. These set of personally meaningful research questions act as a guide for the research inquiry. The fourth step then is the collection of data using the appropriate data collection instruments. After collecting the data, the data is then analyzed to help formulate the research study report.
The study is designed to use ten students to experiment and fill up the questionnaires used for data analysis. The ten students are selected among programming students who are beginning to study java programming language. The students were then allowed to use Google classroom, Moodle, and Teamwork for learning programming skills. Teamwork is a project management software that helps various programmers from different locations virtually collaborate as they work on the same project virtually (Krumm et al., 2016). Google classroom is also a virtual learning environment or tool created by the Google group to streamline file sharing between teachers and students over the internet to quickly design, distribute, and grade assignments (Iftakhar, 2016). Likewise, Moodle is also an open-source and free online learning management system used for distance education, blended learning, flipped classroom, and other e-learning projects within schools (Bataineh & Mayyas, 2017). All these tools can be used to implement virtual knowledge for programming languages. Hence, they will be useful in testing VPL specifications within the study.
Research methodology
The research study uses both quantitative and qualitative methodology to collect the intended data for analysis. The ten selected students are interviewed to identify the various issues while using Moodle, Google Classroom, and Teamwork as programming learning tools. The interview will include questions designed to be simple and convenient for the students to answer regarding their experience and problems that they mainly face while using the VPL tools. Furthermore, qualitative research will help identify and examine students' behaviour regarding their learning of the necessary programming skills via virtual tools.
The interview questions will mainly focus on the necessary specifications for virtual programming tools to enhance their learning programming skills. Besides, the interviews will be conducted through well-structured questionnaires that will be distributed to the ten sampled student. A follow up of the questionnaires will then be done to ensure that all the students effectively fill the questionnaires. In the cases of misinterpreted questions, the researchers will help with interpretation to provide answers are useful data to be analyzed to answer the research questions.
On the other hand, the study also intends to use the qualitative research methodology in which the study uses student evaluation form that is used to evaluate the student's performance. The student's performance is based on the exercises that the students' are given for testing their various specifications via some java programs. Furthermore, the quantitative methodology will also be helpful in evaluating the different tools that most support the identified specifications through observation of the students' behaviour regarding their use of these tools. The student evaluation forms will include evaluating the students' performance in the java programming exercises that the students did via the various virtual programming tools. The forms will then be collected and analyzed to determine how useful the tools are to the students' learning of programming basics. That will help identify the particular specifications within a specific VPL tool that will have proved better performance when students use them to learn to program.
Using the combined qualitative and quantitative research methodology will help produce a richer and more comprehensive understanding of the VPL tools specification. Furthermore, the mixed methodology will be essential in conducting a more holistic and valuable study of the various specifications necessary for effective virtual learning of programming skills using the online learning tools ( Turner et al., 2017 ).
Data Collection
In collecting data, the study used questionnaires, interviewing the students, observations, and using the students' evaluation forms to collect data for evaluation. A simple random sampling was used to select the ten students involved in the study. The simple random sampling technique was chosen because it is an unbiased approach to gather the large population's responses. That is because simple random sampling gives each individual within the large population the same chance to be selected to participate in the study ( Sharma, 2017 ). Therefore, it creates a balanced subset that carries the most significant potential for representing the larger group as a whole. Besides, the sampling technique is less complicated since the subset individuals are randomly selected without a need for any additional step. Hence, the method was the most suitable for the study.
These ten students were selected from a population of more than 200 programming students at Xxxxx College. The selection targeted the programming students at their first level of java programming in college. Therefore, the twenty students were selected from a population of 200 level one java programming students in college. However, the random sampling technique involved difficulties in accessing the full list of the targeted population, besides the method involved time and cost that were incurred to come up with the ten students to use in the study. Furthermore, the sample set of the population was not inclusive enough. As a result, the selected sample did not represent the whole population well since the representation of the full population was skewed.
After selecting the ten students, the students taught some java basics such as java objects, classes, and methods within java codes via teamwork, Google classroom, and Moodle, each at a time. For each tool used, an exercise was provided to the students to test their specifications through the java programs as the students use them. The study used student evaluation forms to evaluate the student's performance via different tools to determine the used tools' effectiveness. The students were then interviewed through questionnaires to determine their experience with the various tools they used in the study.
Research Approach
The research used a deductive approach in which the set of formulated hypotheses were tested for confirmation or rejection. For instance, the java programming exercises within the different VPL tools were used to test the need to improve VPL tool specification. Furthermore, the exercises also helped test if individual specifications are applied to virtual programming tools; students and tutors will experience better programming. The deductive approach also helped in testing the various VPL architectures. For instance, it tested the existence of code editor specifications within the tools. Kurniawan et al. (2015) states that code editor is a java applet that provides basic features that help edit, run, and evaluate program codes in a simple code development environment.
Research Instruments
The study used two necessary instruments for data collection. That is, the questionnaires and the student evaluation form. The questionnaires were vital for this study since they provide a relatively quick, cheap, and efficient way of collecting a more considerable amount of information from the selected students. The data collection is faster since the researcher does not need to represent themselves while the student fills the questions within the questionnaires. The questionnaire's main questions asked the students' experience regarding the use of the various tools as they perform simple java exercises. If the tools allow automatic or computer aided assessments, their experience with the network topology, and if the tools can allow them to plagiarize a work gotten from any source. Computer programming is a fundamental area of study for engineering and computer-related programs used in various sectors. The computer-aided assessments will assess the students' exercises more efficiently and conveniently to reduce the programming tutors' workloads such that they can effectively help the students effectively learn the necessary programming skills ( Paiva et al., 2015 ). These questions were vital in answering the research question that asks the essential specifications essential for effective learning of the virtual environment's programming languages.
Student evaluation forms were also a vital tool to collect qualitative data that helped test hypotheses and answer the research questions. After the ten students did a test to evaluate how much they have benefited from each tool, each student was assessed to determine how much they have benefited from the different VPL tools. It was discovered that the students' performance while using Moodle was higher compared to the performance when the students used Google classroom or the teamwork platforms for learning necessary programming skills. Furthermore, the student's evaluation form also helped in monitoring the students' perceptions of teaching and the course quality as well as identifying the various areas of good practice and the areas that needed improvements (Chan et al., 2014) . Therefore, the instrument of data collection was vital to identify the various specifications of VPL tools' framework and prototypes to help improve virtual learning and teaching of the programming languages.
Data Analysis
One of the technique used to analyze the data was the use of a simple grid. The simple grid was prepared for collecting and analyzing data collected from the questionnaires. A simple coding system was designed, and the data entered into the grid. The respondents' proportion was then calculated for answering each question, and it was realized that 100 percent of the selected students answered the questions. Besides, it was also discovered that several specifications affected the students' experience with the VPL tools, hence affecting their effective learning of programming skills. For instance, it was realized that Google classroom does not allow learners to share their work if there are no particular document owners. Sharing of work is vital for programming learners since it enables them to learn from their friends and peers. Doing so boosts their learning of the programming skills. Google classroom was also realized to be lacking automated quizzes that are vital for learners to test themselves as they learn programming skills.
Microsoft Excel was also used to analyze data collected from the student's evaluation forms. Analysis showed that their performance was higher when they used the Moodle platform to learn programming skills compared to the other two tools. That indicated that Moodle had specifications that enhanced the learning of programming skills. Therefore, it was necessary to analyze the essential specifications that would be important for learning programming skills via virtual tools. It was noted from the analysis that the Moodle tool recorded the highest score since it is configurable, highly flexible, and contains features that enhance learning programming skills. These features were identified as the most essential and necessary specifications for VPL tools, and they are discussed below.
There is a need to use the full features of a web browser with javascript and support for java applet necessary for the java code's effective running. Therefore, the VPL tools must be able to support web browsers having javascript. Moodle tool provided essential features such as submission management, anti-plagiarism, and assessment support specifications that are very important to enhance the learning of programming skills. The jail component is the server responsible for compiling and executing the code that the student within a secure environment (Peveler et al., 2019) . It runs in a Linux cheroot command to provide a restricted version of the host file system with read-only limitations. There is a need for at least one jail server to evaluate or run a submission.
Network topology specifications are also necessary for any VPL tool that would effectively help students learn programming skills. Any VPL tool must use a double proxy for communication. It should communicate by the side with the internet clients to attend to their request and the other side with the jail servers to perform the running tasks associated with those requests. That is important since it permits a variety of network topologies. The simplest network topology runs both the VPL tool server and the mail server within the same computer even though they need to communicate through an intranet. The use of multiple jail servers provides fault tolerance, supports scalability, and improves performance (Zhigalov et al., 2020) . When a VPL module receives an execution request, it takes the lists of the available jail servers as it randomly selects the one that has not been marked as having a previous fail within a specified range of time.
A useful VPL tool should also offer both automatic and computer-aided assessment. It should allow the election of one of them by checking the options tab sheet's required option. The key to the assessment support is the configuration of the program test. That is made by listing the set of input-output test cases or by the configuration of a more complex test framework. A good VPL should execute the configured test and produce a report that includes a list of failed trials with explanatory comments and a proposed grade ( Garousi et al., 2020 ). That report could be useful in three ways: It would be providing feedback to the students as they develop solutions to the given exercise in a formative assessment, for the production of the final evaluation if one configures an automatic review, or helping the programming tutors assess the submissions from the students.
Plagiarism checking is also another critical VPL tool specification to enhance learning programming skills. Plagiarism is the primary issue that needs to be addressed from different perspectives. That is from formation, prevention, and prosecution. Both prosecution and prevention perspectives can benefit from technological development as plagiarism itself does. VPL should include a tool that helps check plagiarism among the source codes that the student has written as an exercise. Moreover, the plagiarism checker should check for plagiarism among the submissions for a task within a programming course. It should also be check plagiarism from other sources such as submitting the same task in the previous semester or similar code from other courses that are possible plagiarism sources.
However, the main issue encountered while using excel and the simple grid for data analysis was that they both had no means of controlling errors. It was easy to adversely change make a mistake or change a cell. That makes the tools to be error prone. They do not have a debugging tool and a testing frame to help in inspecting if all the cells are working as expected even after any changes have been made. These problem experienced in data analysis were the main limitations with the study.
Chapter Summary
This study aims to identify the various VPL specifications that can enhance the programming learning experience for both programming tutors and the students. These specifications will help both tutors and students overcome the challenges they encounter while learning programming skills via virtual programming tools. For that purpose, the main research question was to ask the desired specifications for Virtual programming tools' framework and prototype specifications that can help improve online teaching and learning programming skills.
The study included research identification, research problem definition, literature review, design and implementation, pretests and evaluation, and data collection before writing the hypothesis. The research used both quantitative and qualitative approaches to collect and analyze the data to answer the research question. The data was collected using questionnaires and students' evaluation forms. The study analysis found out that the main specifications for VPL tools to effectively help students learn programming skills include various factors. These are good network topology that allows double proxy of communication, support of web browsers that are making use of JavaScript, and offers both automatic and computer-aided assessment in addition to plagiarism checking of the evaluations that the students has done.
References
Bataineh, R. F., & Mayyas, M. B. (2017). The utility of blended learning in EFL reading and grammar: A case for Moodle. Teaching English with Technology , 17 (3), 35-49.
Chan, C., Luk, L., & Zeng, M. (2014). Teachers' perceptions of student evaluations of teaching. Educational Research And Evaluation , 20 (4), 275-289. https://doi.org/10.1080/13803611.2014.932698
Garousi, V., Afzal, W., Çağlar, A., Işık, İ. B., Baydan, B., Çaylak, S. & Herkiloğlu, K. (2020). Visual GUI testing in practice: An extended industrial case study. arXiv preprint arXiv:2005.09303 .
Hyland, K. (2019). Second language writing . Cambridge university press.
Iftakhar, S. (2016). Google classroom: what works and how. Journal of Education and Social Sciences , 3 (1), 12-18.
Krumm, S., Kanthak, J., Hartmann, K., & Hertel, G. (2016). What does it take to be a virtual team player? The knowledge, skills, abilities, and other characteristics required in virtual teams. Human Performance , 29 (2), 123-142.
Kurniawan, A., Kurniawan, A., Soesanto, C., & Wijaya, J. (2015). CodeR: Real-time Code Editor Application for Collaborative Programming. Procedia Computer Science , 59 , 510-519. https://doi.org/10.1016/j.procs.2015.07.531
Paiva, R., Ferreira, M., Mendes, A., & Eusébio, A. (2015). Interactive and Multimedia Contents Associated with a System for Computer-Aided Assessment. Journal Of Educational Computing Research , 52 (2), 224-256. https://doi.org/10.1177/0735633115571305
Peveler, M., Maicus, E., & Cutler, B. (2019). Comparing Jailed Sandboxes vs Containers Within an Autograding System. Proceedings Of The 50Th ACM Technical Symposium On Computer Science Education . https://doi.org/10.1145/3287324.3287507
Sharma, G. (2017). Pros and cons of different sampling techniques. International journal of applied research , 3 (7), 749-752.
Turner, S. F., Cardinal, L. B., & Burton, R. M. (2017). Research design for mixed methods: A triangulation-based framework and roadmap. Organizational Research Methods , 20 (2), 243-267.
Zhigalov, K., Kuznetsova, S., & Sygotina, M. (2020). Development of functional fault-tolerant system. Journal Of Physics: Conference Series , 1661 , 012166. https://doi.org/10.1088/1742-6596/1661/1/012166