Project-Based Learning Approach for Teaching Mobile Application Development Using Visualization Technology

This article is devoted to the experience of applying the Blended Project-Based Learning Approach Using Visualization Technology in teaching mobile application development for IT-students. This technology is based on a project-based method, pair programming, teamwork and using of digital educational resources as a visual learning content. The authors describe the impact of the used teaching methods and digital educational resources on the student's cognitive skills during the mobile application development in the workshop where the students gained hands-on experience on mobile application development through «active doing» method, interactive tasks and creating different types of mobile application projects. The workshop's curriculum is developed in terms of the scaffolding. So, the students improve the skills develop projects starting from simple «Hi, Kazakhstan!» to a complete software with the functions of search and update from the Internet. The well-designed project topics on development mobile application arise the interest and provide the high motivation of the learners. The impact of Blended Project-Based Learning Approach is evaluated through the questionnaire, testing and evaluation of mobile application projects developed by students. The effectiveness of such an approach for teaching mobile application development is confirmed by the empirical data. Keywords—Mobile application development, project-based learning approach, digital educational resources, cognitive skills, pair programming, interactive tasks 130 http://www.i-jet.org Paper—Project-Based Learning Approach for Teaching Mobile Application Development Using ...

After the ACM computing curricula was published in 2013, where many of the courses covered the topic of mobile computing, the mobile application development course began to be implemented by many universities. A feature of the mobile application development course is in the interdisciplinary correlations between traditional areas of computer science such as software development, human-computer interaction, web programming, data security, and network interaction. In view of this feature the earlier works considered the issues of integrating the mobile application development course into the «Computer Science» curricula [4], [9], [11], [12]. So teaching mobile application development can be implemented: • As a separate topic in the introductory programming courses • In the basic courses, such as «Algorithms and data structures», «Database systems», «Operating systems» • In the elective courses «Software Development», «Human -computer interaction» at senior courses • As the projects on courses connected with the network programming, the distributed computing systems on senior courses • As capstone project and a final year project According to [14], [15], [17], [23][24][25] the content of mobile application development courses are based on the basic concepts of mobile software such as: 1) user interface design and usability; 2) device cooperation, 3) hardware issues; 4) data handling; 5) application interaction; 6) programming issues.
The scientific research about applying the set of approaches to teaching mobile application development for iOS is considered in the work [22] and provides the evidence that the students haven't been encouraged with the problem-based approach to learn course content. Students wish to know a problem-solving algorithm, as it is, and do not wish to know how to obtain such an algorithm. It is evident that the students are only able to understand, to remember and to apply the gained knowledge. At the same time, the authors note that students have the cognitive difficulties of acquisition the topics as «Optionals», «Closures» and «Properties», where the analysis and creating skills are required. To increase the achievement, especially on complex topics, the authors improved the learning content by decomposing the main learning goal into sub goals that are revealed during the 1-2 minute learning video modules. Thus, the authors have been able to increase the students' attention concentration and achieve complex topics, which require analysis and creating skills, to 80%.
As it is known, to acquire the mobile application development better it is necessary to focus on the development of skills which are implied in the knowledge and application of object-oriented programming concepts (abstraction, encapsulation, inheritance, polymorphism) and design patterns in mobile application development [24], [30], [32]. And the most students' cognitive difficulties on programming mobile applications arise in this field [24]. For this reason the authors suggest an innovative teaching methodology using hands-on mobile programming techniques, specific projects and the «active doing» method for teaching cross-platform two-dimensional mobile game development. The «active doing» method provides students to gain hands-on experience by implementing the theoretical knowledge on mobile application development in practice.
In [30], the authors teach to apply the object-oriented programming skills in practice for mobile game development. The authors suggest the training modules on mobile game development which includes the hands-on projects and guidelines for teaching the computer science students in junior courses. The hands-on projects demonstrate how to develop mobile games, thereby motivate students to learn the content and the object-oriented programming fundamental principles.
Interactive tasks to train programming in real time [33] are being used to teach the skills and concepts of the mobile application programming course as The Mobile Computing with App Inventor -CS Principles» on edX platform. The platform provides an assessment the task performance and in case of errors, teaches to write a code correctly. In response to such interactive tasks, the students are acquired skills for the understanding, remembering, applying and analyzing on mobile application development.
In teaching mobile application development, it is necessary to consider that students acquire programing skills better programming in a pair or in a team through collaborative learning [34], [35]. Besides, there are empirical data which have been proved that IT-students prefer the visual and kinesthetic learning style [36]. Many researches have been experimentally proved the effectiveness of a project-based approach to teach mobile application development for developing the design thinking and such soft-skills as critical thinking, problem solving, teamwork and communication skills [24], [29], [30], [40].
The conducted overview of researches lead to make a conclusion about the necessity of applying the project-based learning approach, pair programming, using interactive tasks in real time, watching video instructions, and using «active doing» method for better development of cognitive skills on mobile application development.
The following research questions will be addressed in this study: «To what cognitive skills are the discussed above learning methods impacted?», «To what extent the mentioned above methods impact to the learning efficiency and to the students' motivation learn a mobile development course?», «How does applying visualization technology enhance learning process?».
The considered methods were implemented during a workshop on the mobile application development using the digital educational resources (DER) as a visualization technology. The research results and applied methods are discussed below in the relevant sections.

Materials and Methods
The first and second year students of the specialties like «Computer science», «Software and computer engineering», «Information systems» took part in the workshop which was held within two weeks with the volume of 60 hours. During the workshop 89 students acquired skills on the mobile application development for iOS on the integrated development environment Xcode using the object-oriented programming language Swift. Such a programming language combines the principles of object-oriented and functional approaches of programming. The core concepts are «object» and «class», while the main logical methods used in the mobile application development are abstraction, analysis, synthesis, induction, deduction, generalization and classification. Correct implementation of the logical methods provide the developing a clear hierarchy of classes, data structure and mobile application logic that affects the mobile application efficiency.
During the workshop, the teaching process was based on visual and kinesthetic learning style, implemented by using the DER and project-based method. The visualized educational content of the workshop was presented by DER covered all fifteen course topics.
The structure of each DER includes the following units: 1) The theoretical unit is a multimedia and animation unit which represents learning content on mobile application development as a diagrams, tables, charts, images, animation, video and audio fragments. 2) The training unit represented by interactive tasks-simulators, which allows students to increase their mental activity in mobile application development, reinforce skills, and create a «success feedback» in students's minds and increase their motivation to further study of the course content through the training function (see Figure 1). 3) The control unit is represented by test tasks with a single or multiple choices with the correct answers. After testing is complete, the test results have been shown at the screen. The students can get to know the correct answers and compare them with their own answers. This part of work allows to make the self-analysis and promotes self-development of the student's personality.

Fig. 1. Examples of the interactive tasks
DER are developed in accordance with the spiral approach [37][38][39] which proposes scaffolding and repeating content at increasingly complex levels. In addition, each DER includes the video-clips demonstrating mobile application development step-bystep from simple «Hi, Kazakhstan!» to a complete software with functions of search and update from the Internet.
The lesson structure is not a linear, but of a spiral structure. It means that the challenge set at the beginning of the lesson requires to be returned to it repeatedly during the lesson. That moment, students were suggested to perform the following types of learning activities: 1. Learn the course content with the DER; 2. Perform the interactive tasks; 3. Perform the lab sessions based on pair programming; 4. Control assessment.
At the end of the lesson, the students had time for a team work on the educational project.
To ensure the effective teaching of the mobile application development we should assess the impact of the used teaching methods and techniques on the cognitive skills development, according to Bloom's taxonomy. Table 1 presents data about the assessment of the DER impact on the cognitive skills classified according to Bloom's taxonomy and students' achievement through mobile application development. As it is showed in the table, DER provides the asquisition only as a part of the cognitive skills, mostly «remember», «understand» and «apply». To ensure the asquision of other most important cognitive skills of analysis, evaluation and creating, students were offered other learning activities using the methods discussed in the introductory part of the article (see Table 2). To assess the impact of used approach on the students' cognitive skills development the survey, control testing, evaluation of interactive tasks, individual work, criterial assessment of educational projects for mobile applications were applied.
The course curriculum is offered to the students the next topics of mobile application projects to perform them during hands-on and self-study work: 5 «Work with a student database using Json». «Astana business-directory». 6 «Threading».
Game App «Who Wants to Be a Millionaire?».
The instructional video, interactive tasks-simulators, hands-on and the self-study projects encourage students to acquire the cognitive skills required at all stages of mobile application development: analyzing and formalization of a problem, designing the app architecture and logic, codding, testing, debugging and evaluating of the mobile application. In addition, students gain experience in using logical methods for mobile application development (abstraction, analysis and synthesis, induction and deduction, generalization and classification) to designing a hierarchy of classes and objects, defining protocols and other class properties, using blocks to optimize code, access to remote database and process threading in order to save mobile device resources and to develop an optimized mobile application.

Results and Discussion
As experiment showed that using the DER as visualization technology for explaining educational material allows teachers to save the time. Instead of 50 minutes duration of the lecture within the traditional approach, using the DER reduces the actual time to 10-12 minutes. The possibility to perform an interactive task repeatedly provides consolidation of knowledge and developing hands-on skills on topics such as designing of an architecture, using components, defining outlets, class properties, coding, thereby developing necessary cognitive skills. In addition, the DER can be implemented both in LMS and interactive platforms, for example, Google Classroom, for implementing personalized learning technology [41], [42].
One of the benefits of using the DER is to increase the motivation of students in comparison with the traditional teaching. The survey has been examined the students motivation to study the mobile application development course using the DER. 94.4% of students have found the mobile application development course interesting and the using DER for learning the course content efficient. Due to the post-intervention survey of students aimed to evaluate DER, it was revealed that the most useful block of DER is the video-clips of the hands-on mobile application development and the possibility of self-study complex topics (see Figure 2).

Fig. 2.
The post-intervention survey of students aimed to evaluation DER Figure 3 shows the project types and degree of their completeness by students. According to the survey results (see figure 3), the tasks for self-study work on mobile application development turned out to be the most difficult for implementation. It is obvious that students have not sufficient skills on «analysis» and «creating» for the mobile application development. During the classes students in collaboration with the teacher analyzed the mistakes in projects performance within self-study work, which has been positively impacted on the team projects performance at the level of 92%. At a result of the workshop students developed team projects on different topics such as Directory of universities of Kazakhstan, Recipe mobile-book, Kazakh-English dictionary, Math interactive simulator for preschool age children, Logic puzzle game, etc. The developed mobile application projects had been evaluated by three levels (low, sufficient and high) using the criterial assessment. Due to the criterial assessment system the qualitative data were collected which allowed to appraise the following knowledge and skills of students to develop mobile applications: • The skill to formalize the requirements and define the data structure of the mobile application; • The skill to identify the abstract levels within the Model-View-Controller model, the classes and objects; • The skill to determine the mobile application states and the sequence of segues between mobile application views; • The knowledge and skill to determine the optimal data structure and data access methods; • The knowledge and skill to use components; • The skill to code class algorithms using patterns, closures and other programming language mechanisms; • The skill to debug the application code; • The skill to evaluate the mobile application conformity to initial specification requirements. The results of evaluating students' projects represented on the histogram (see figure  4) show that some students have a low level of knowledge and skills in: «Formalizing the requirements and defining of the data structure of the mobile application», «Identification of the abstract levels, classes and objects», «Coding of class algorithms using patterns, closures and other programming language opportunities». This is due to the fact that to acquire these topics it is necessary to require cognitive skills of «analysis», «creating», «using of logical methods for mobile application development». And another reason why the students have such a low level of knowledge on the mentioned above topics may be an insufficient level of objectoriented programming knowledge which is a basic for mobile application development. The above assumption is proved by results of the preliminary survey that the most of students (90%) learned the Pascal programming language as a basic one (see figure 5) and in the second half-year, students learned one of the objectoriented languages such as C ++ (73%), Java (47%), Python (26%).

Conclusion
Thus, this research allowed to investigate the effectiveness of an blended approach based on project-based learning, pair and team programming, using DER for provide interaction and visualizing of learning content and implementation «active doing» during hands-on session as well as analysis of students' cognitive skills through the criterial assessment of developed projects. Furthermore, this work could provide a framework for an instructional design of a methodological system on teaching mobile application development aimed to feasible choice of the appropriate learning techniques and approaches.