Multifaceted Approach for Teaching Mobile Software Development: Class Experiences With Lectures, Tutorials, and Pair Programming
Author(s)Seyam, Mohammed Saad
McCrickard, Donald Scott
Elmongui, Hicham Galal
Polys, Nicholas Fearing
Kim, Woongsup Dr.
Full recordShow full item record
AbstractThe currently mainstream mobile application development became part of several programming classes, and courses are being developed focused on mobile app development. There are fundamental differences in programming topics for mobile, including the small screen and finger-based interactions, connectivity using different communication channels, and a large number of sensors. Because of these differences, there is a need to explore different approaches to teach the concepts of mobile development. Integrated approaches and collaborative learning are key to handle the multi-platform environment of mobile development and the diversity of its devices. One practice that has been used in educational contexts for collaborative learning is Pair Programming (PP); an approach that features two developers working on the same development task. Since it became popular in the 1990s, Pair Programming (PP) has been used by developers who worked on desktop and web applications. During the past two decades, PP has been studied in both industrial and classroom settings. Several studies have shown that PP is a pedagogical tool that can help students enhance their productivity and performance. However, PP has not been studied for mobile development courses before. With the challenging nature of mobile development topics, we saw potential benefits for pair-based learning. To cover the challenges of mobile development, we developed an approach that integrates Lectures, hands-on Tutorials, and in-class Pair Programming (PP) sessions (the LTP approach). Although PP has been studied previously in classroom settings, LTP provides an adapted version that better fits the requirements of mobile application development. Integrating PP as a core element of mobile development classes aims at giving opportunities to students to collaborate, share experiences, and solve problems together. Moreover, providing multiple teaching approaches ensures that students would benefit from the variety of education methods. The LTP approach aims at helping Computer Science (CS) educators to develop curricula and manage classes for teaching mobile app development.