Keynotes and Speakers for ITx Rutherford
Min started teaching IT in New Zealand 1997 and before that, he taught IT at a university in China for eight years. He mainly teaches computer software courses such as Programming I and II, Mobile Application, Software Development, Software Testing, Database, Data Analytics and Business intelligence. Having published extensively in NZ, Australia, and the USA, Min’s research focuses on teaching novices programming, engagement in eLearning, data analytics in business and finance information, and software testing.
In recent years, software testing has been reflected from a software engineering practice into specific courses in Information Technology (IT) degrees, due to the demands for qualified professionals. In 2019, we introduced a set of software testing into the software development major of the degree. However, it also brought in many challenges with teaching test automation within available resources and infrastructure. This research aims to investigate how different teaching practices were used in a newly developed software testing course to match industry expectations and practice. We proposed two research questions. RQ1: Does the inclusion of software implementation enhance student learning in a software testing course? RQ2: How does the use of group work and project-based assessments impact students learning in a software testing course?
This study involved 15 participants who enrolled in the 2nd year of the Testing and Secure Coding paper in the degree. The majority of participants learned C# and HTML before joining this course. Some of the participants had experience with Java and Junit, however, a small number of the participants did not know C# and had very limited programming background. The course used in this study had two 2-hour sessions per week, which were a mixture of lectures and labs. To answer the research questions, a survey was used to collect data in the last week of the course.
The course design included two projects based software testing. One is Window based testing. Students were required to develop a Windows project in C# and then test it using conventional methods such as Black-box Test, White-box Test, Unit Test, and Coded UI Test. Since software development is the fundamental skills for our students, we believe that students gained experience of Test-driven Development through their project implementation.
Another is Web based testing. Students were required to develop a Web project using ASP.NET MVC Core and SQL Server. Besides the above mentioned test methods, test automation was emphasised using Performance Test, Load Test, and Live Unit Test.
To reinforce teams work, we introduced the agile method with four sprints in the second Web project. Considering the diverse programming skills that the participants had in this study, we provided relevant course materials including step-by-step instructions for implementing sample projects so that students were starting from the same point. For test automation, we used the open-source plug-in to MS Visual Studio instead of commercial testing tools. In the Window project, we introduced Coded UI Test and Live Unit Test. In the Web project, we provided detailed information except for PBL in login function and further web layout development using Razor. Students were evenly divided into three groups in the agile method. Results indicated that participant attendance in the course was much better than that in the first project.
In the last week, eight students completed the online survey. Students were happy in developing the project and testing it based on examples. Some students commented that it was too hard to learn new functions based on online resources (i.e. PBL) for the web project as they had many other assignments. Others complained that extra workload was split to the rest of the members when someone dropped out. We concluded that guided project development not only supported students to understand test-driven development, but also assisted beginners to start software testing at the same level as others. Although PBL is commonly used in a team project, we found it is unsuitable to our second-year students in the development of Test Automation. For the future evaluation, we would remove any development without detailed guidance and change the Agile team to pair programming or individual task.
In recent years, Mobile Application Development (MAD) has been widely taught at most tertiary education providers, polytechnics and universities at different year levels and used in the final year degree capstone projects. Our institute offers MAD courses in the second year of the degree, as well as in the postgraduate IT programme in Level 8. In the degree programme, some students learned second-year advanced programming in Java language in the first trimester while others only have the first-year introductory programming in C++ or C# language in the previous year before enrolling in the 2nd year MAD paper. This creates a problem for the class with a group of students with different learning experiences and skills at the start of the 2nd year MAD paper.
It is challenging to teach MAD using Android Studio and Java to a group of students with a different prior learning experience and without adequate knowledge of Java and object-oriented (OO) development. Based on our experience early on in the trimester, it became clear that only using the traditional lecture PowerPoint slides and text-based lab instructions with minimum figures was not enough to meet the learning requirements by students with different computer programming background.
This research aims to investigate the use of action research and multiple teaching approaches with a flipped classroom in the degree programme for students from a diverse programming background. In particular, the research question is:
• Does the use of multiple teaching approaches and flipped classroom enhance student learning in the MAD course for students from a diverse programming background?
Due to Covid-19, in the fourth week of our trimester, our course had to change to online delivery mode, using Zoom and Moodle. The flipped classroom model met our online teaching well for both beginners and advanced students. From students’ Zoom attendance and their activity of answering questions, it indicated that our strategies engaged students’ learning. The first assignment is UI development, with two extra new features by student self-learning. There were 24 out of 30 enrolled students who completed this assignment in a workable project with diverse features.
From this study, we learned that traditional programming strategies can be applied to teaching Android by comparison to two different software development environments. To meet student requirements from a diverse background, we need to provide various types of course materials for online learning. Flipped classroom approach fits our current situation due to Covid-19. In further research, we would investigate how our strategies work on both beginners and advanced students in the advanced topics in this course by evaluating their results in future assignments.