New Methods of Mobile Computing: From ... - Springer Link

12 downloads 63583 Views 1MB Size Report
launch of Apple's iPhone in 2007, smartphones have transformed the ... academic terms and 3 paid co-op workterms. Workterms are ... for Apple mobile devices.
New Methods of Mobile Computing: From Smartphones to Smart Education By Edward R. Sykes, Sheridan College

Abstract

Every aspect of our daily lives has been touched by the ubiquitous nature of mobile devices. We have experienced an exponential growth of mobile computing—a trend that seems to have no limit. This paper provides a report on the findings of a recent offering of an iPhone Application Development course at Sheridan College, Ontario, Canada. It includes a report on the effectiveness of the course by assessing students’ opinions of the course, and by analyzing student performance scores in relation to traditional programming courses. It also provides an overview of the development environment, an assessment of this new course including qualitative surveys, informal observations and quantitative analysis including student performance score results. Overall, it was found that students enjoyed the iPhone course and performed very well. The iPhone Group exceeded the performance of a Comparison Group: F(1,81) = 4.145, p < .05. Keywords: Mobile Computing Education; Mobile application development; Mobile App courses; Computer Science Education

26

Introduction

M

obile computing is pervasive in our society. Virtually every aspect of our daily lives has been touched by the ubiquitous nature of mobile devices. The growth of mobile computing has been quite rapid and does not have any signs of subsiding. For instance, the number of smartphones in use world-wide surpassed 1 billion in 2012 and is expected to double in three years (Yang, 2012). Apple’s latest developments in iPhones and iPads along with the App Store have revolutionized the mobile computing landscape. “Since the launch of Apple’s iPhone in 2007, smartphones have transformed the way consumers connect with businesses and each other. From downloading videos to buying coffee, checking bank balances to updating Facebook, consumers now rely on their phones for an astonishing range of activities—and their enthusiasm for those devices is only going to intensify in the next two years, particularly as apps become more creative and convenient” (Bothun, 2011). It is clear that Apple is one of the leaders in the mobile computing arena and has already eclipsed

TechTrends • May/June 2014

Volume 58, Number 3

Microsoft, International Business Machines Corp. (IBM) and Intel (Satariano, 2011). Mobile computing is a key strategic initiative for many institutions at this time. Several universities and colleges across Canada and USA now include courses in mobile computing. While there are numerous definitions for smart education (Hwang, 2010; Rothman, 2007), in the context of this smartphone course, we define smart education as: an educational paradigm in which students acquire knowledge and skills during which the following overarching factors are considered: a) career relevance and development, b) societal relevance and potential impact, c) sound pedagogy, and d) classrooms equipped with appropriate technologies and devices that enable good instruction and facilitate the ease of rapid acquisition and synthesis of knowledge. Sheridan is situated in the Greater Toronto Area and, as such, the students come from a diverse student population. The iPhone course was offered to the final semester group of students in the Computer Systems Technology program. In previous courses in the program, students have learned how to design and build applications to run on conventional computing platforms. This course extended the scope of these skills to include the Apple iPhone. This paper presents a review and analysis of a recent offering of the iPhone Application Development course. This review and analysis answers the following research questions: a) what is the effectiveness of the course in terms of the student’s opinion and impression of the course? a) how does the student performance scores in this course compare with traditional programming courses? This paper is divided into the following sections (a)  overview of the course outline, (b) overview of the programming environment (Xcode, Interface Builder and the iOS Simulator), (c)  method, (d)  qualitative analysis and student performance scores and (e)  recommendations for Educators (e.g., Computer Science/Software Engineering program coordinators, faculty and instructors) to consider when conducting program reviews, refining or updating Computer Science/Software Engineering curriculum.

The Course: iPhone Application Development This section presents the details of the iPhone Application Development course. Table  1, on Volume 58, Number 3

the following page, presents the significant portions of the course outline for the iPhone Application Development course. The course was first delivered in the fall term of 2010 and has had several iterations since then. The course is offered in semester 5 in the Computer Systems Technology – Software Developer Network Engineer advanced diploma undergraduate program. This co-op based program has 6 academic terms and 3 paid co-op workterms. Workterms are offered in an alternating fashion between academic terms starting after semester 3. Each semester is 14 weeks in length with a 1-week break in the middle. Prior to the iPhone course, students have had a significant exposure to programming languages (e.g., Java, C, Perl, javascript, php, SQL, etc.), and computer science topics (e.g., architecture, operating systems, data structures, etc.). A personal computer or laptop that runs Mac OS X is required to develop applications for Apple mobile devices. The majority of the students prior to semester 5 used Windows exclusively and had little or no experience with Mac OS X. The college leased 13” MacBook laptops and provided the machines to the students at no cost to them. Students had the use of these machines for the duration of the term that facilitated both in- and out-of-class use of computers for students to work on exercises, assignments and projects. One special feature of the course arose as a result of the fact that approximately one third of the students already had their own personal Apple devices (i.e., iPhone, iPod, etc.). These students were very interested in learning how to develop and deploy apps to their own devices. Furthermore, since the college was a member of the iOS Developer University Program, students were able to do this quite easily. The learning environment in this course was similar to other programming courses in the program. Students were taught in a mobile-based puddle-oriented classroom that facilitates group work activities (please see Figure 1). Lessons were typically conducted in an interactive fashion facilitating both instructor-student interactions and peer-topeer interactions. Lessons typically alternated between 15-20 minutes of lecture followed by 15-20 minutes of hands-on activities for the duration of the class (2 hours). As the course progressed, the degree of student collaboration increased. In the last half of the course, when students were working on their project, students were working in their groups (2-3 students) and very engaged in developing their app.

TechTrends • May/June 2014

27

Table 1 iPhone Application Development Course Outline ________________________________________________________________________ Detailed Description: Students learn how to develop iPhone applications using Objective-C while considering User Interface design. The course is structured around three main foundational components: (a) Tools (Xcode, Interface Builder), (b) Frameworks (Foundation, UIKit), and (c) Programming using Objective-C. Students learn how to use iPhone SDK features, including typical mobile resources (e.g., internet web services, location awareness, etc.), and apply design patterns to develop iPhone applications Learning Outcomes: To achieve the critical performance, students will have demonstrated the ability to: 1. Describe the features of the iPhone with regard to application development. 2. Demonstrate using the software tools, frameworks and programming language for iPhone application development. 3. Explain how to design an iPhone application from a theoretical perspective (Object-Oriented design principles, design patterns, mobile application architectures). 4. Describe the fundamentals of User Interface Design in terms of usability, and human factors with respect to the iPhone. 5. Demonstrate how to use the iPhone SDK and Objective-C to design and implement iPhone applications. Evaluation Plan: Assignments (20%) Mid Term Test (25%) Project (20%) Final Exam (35%)

Topical Outline: MODULE 1 (1 week): • Orientation to the iPhone (capabilities and limitations) • Introduction to the development environment and tools • Overview of Objective-C MODULE 2 (3 weeks): Introduction to Objective-C: • Comparison with other programming languages (e.g., C, Java, etc.) • Object Oriented Programming in Objective-C • Introduction to Cocoa frameworks • Development environment and tools (Xcode, Interface Builder, Simulator) MODULE 3 (2 weeks): • User Interface Design Principles for the iPhone • Design Patterns: Model-View-Controller, etc. MODULE 4 (2 weeks): Objective-C: • Memory Management • Categories, Files, Protocols Development environment and tools • Cocoa frameworks: Foundation, Application Kit MODULE 5 (1 week): • Introduction to Threading and Background Processing. MODULE 6 (4 weeks): • Interface Design and Handing User Interaction • Views (Multi- and Table) • Data Persistence • Advanced iPhone Features (e.g., core location, accelerometer, photo library, etc.)

28

TechTrends • May/June 2014

Volume 58, Number 3

Overview of the Programming Environment This section discusses the programming environment that was used to design, develop and test applications for the iPhone. Three main tools were used: Xcode, Interface Builder and the iOS Simulator. Figure 2 present the Xcode Integrated Development Environment (IDE) that shows the main components of the IDE (i.e., Navigation pane, code editor, property and UI object library). Figure 3 on the following page presents the Interface Builder tool that enables the programmer to design the User Interface for the app. The tool provides the foundation on which many widely accepted Human Computer Interaction principles and guidelines might be adopted. Figure 4 on the following page presents the simulator that emulates to a high degree how the app would run if it were deployed onto a native device. The simulator runs on the development computer and has some limitations for example, the accelerometer (tilt and general movement of the device recognition) is not supported.

Figure 1. The learning environment – puddle tables in a typical mobile-based classroom at Sheridan.

Research Statement The purpose of this research was to determine the effectiveness of the iPhone Application Development course by assessing the student’s opinion and impression of the course, and by analyzing the student performance scores in this course compared to traditional programming courses. In order to determine the degree and quality of learning that took place by students in the course, a rigorous investigation was conducted using both qualitative and quantitative techniques.

Method and Procedures The methods of inquiry employed were survey designs and researcher observation for the qualitative investigation and quasi-experiment designs for the quantitative component of this study. A two-phase qualitative investigation was conducted in the form of surveys during regularly scheduled class periods. The first phase surveys captured general information regarding the students’ backgrounds in computing and programming languages (e.g., Java) and initial expectations of the iPhone course. This survey was conducted near the beginning of the course. A second survey was issued near the end of the course, after the students had a substantial amount of iPhone Application Development to offer grounded opinions. This survey was an interview-style survey designed to gather specific information from students on their assessment Volume 58, Number 3

Figure 2. Xcode IDE for iOS Application Development (version 4.2.1 on OS X Lion 10.7).

of the course. The survey included seven openended questions to facilitate a great number of perspectives and opinions. The researcher also recorded observations throughout the course in a logbook. Such observations included information regarding individual students’ progress through a specific Human Computer Interaction design exercise or designing a solution to a problem using ObjectiveC. The second component of the method was a quantitative investigation of student performance scores. The research method for this section involved a quasi-experimental design. As a result, the researcher was able to compare pre- and posttest performance differences as well as group differences (i.e., Comparison versus iPhone Group). One advantage of this type of analysis is that interaction effects could be calculated and analyzed.

TechTrends • May/June 2014

29

Figure 3. Xcode IDE illustrating Interface Builder integration for iOS Application Development.

In the quantitative study, the focus was on measuring how much students learned. In support of this objective, construct validity was achieved by  using standardized test theory and validating the pre- and posttests by asking domain experts to review the tests (Trochim, 2001). Both of these perspectives were accomplished by involving domain experts, which included two Computer Science faculty members with a speciality in undergraduate programming language teaching. These domain experts reviewed and commented on the content and questions on the pre- and posttests so that appropriate alterations could be made before administering the tests to the students. All tests were a combination of knowledge-based, skill-setbased and problem solving-based programming problems. In support of standardized test theory, at least half of each test’s content were based on high-order thinking skills (i.e., analysis, synthesis and evaluation) implemented in order to test the students general ability to problem solve (Bloom, 1956; Furst, 1981).

Participants The population of this study was students across the province taking a similar programming course from advanced diploma program from an Ontario College or comparable course at a University. The sample in this study was the students in their final semester at Sheridan. Two groups were involved in this research. The first 30

Figure 4. iPad Simulator (version 5 on OS X Lion 10.7).

group was the Comparison Group (C) and were students from the Computer Systems Technology program taking a Java programming course. The second group was the experimental group (i.e., the iPhone Group) that consisted of the students in Computer Systems Technology program during the winter of 2010. Students from both groups were at the same stage in their academic program (i.e., same prerequisite courses, knowledge and skills, etc.). The Comparison Group consisted of 17 students (16 males and 1 female) and the iPhone Group consisted of 18 students (17 males and 1 female). The iPhone Group had a median age of 21 (mean 22.5, min. 19, max. 25).

Statement of Procedures Two global procedures were required: Part A: Qualitative investigation on the iPhone Group; and Part B: Quantitative investigation on student performance scores. Part A: Qualitative Investigation on the iPhone Group



As previously discussed, the research procedure for this section involved a two-phase qualitative investigation that was conducted in the form of surveys during regularly scheduled class periods. Table 2 presents the survey that includes seven open-ended questions to facilitate a great number of perspectives and opinions.

TechTrends • May/June 2014

Volume 58, Number 3

Table 2 Qualitative Survey Sheet____________________________________________________________________________ This survey is used to determine the effectiveness of learning Mobile Computing principles and Application Development for iPhones. For each question, select the most appropriate response based on the following scale: 1 = strongly favourable to the concept, 2 = somewhat favourable to the concept, 3 = undecided, 4 = somewhat unfavourable to the concept, 5 = strongly unfavourable to the concept. 1. How do you rate the Xcode Programming Environment’s usefulness? Very Useful

1

2

Not Useful

3

4

5

Comments: _________________________________________________________________ Do you feel iPhone Development is beneficial to your studies? List and explain the advantages/disadvantages of this learning environment. No Benefits

Very Beneficial

1

2

3

4

5

Comments: _________________________________________________________________ Compare the Xcode development environment with traditional programming environments (e.g., C, C++, etc.). Do you feel this IDE is better or worse than these environments? Identify any similarities or differences between the Xcode IDE and these other programming environments. Xcode is better than

Xcode is worse than

other programming

other programming

environments

1

Comments:

2

environments

3

4

5

_________________________________________________________________

How do you rate the ease with which you use and understand the Objective-C style of programming? Very easy to use



and understand

1

2

3

Very difficult to use

and understand 4

5

Comments: __________________________________________________________________ Have you enjoyed the Xcode development environment? Explain why or why not. Very Enjoyable

1

Comments

2

3

Not enjoyable 4

5

__________________________________________________________________

6. Do you feel you learn more detailed information in Xcode or about the same as a traditional programming language? Explain why or why not. Learn Better

1

Comments:

Learn the same

2

3

4

5

__________________________________________________________________

7. Please add any other comments regarding the programming environment that you would like to share: Volume 58, Number 3

TechTrends • May/June 2014

31

Part B: Quantitative Investigation on Student Performance Scores A series of programming problems was developed for the Comparison Group and the iPhone Group. Students in the Comparison Group were taught in a traditional format such as instructor-led instruction, group-work, demonstration, etc. using the Java programming language. The iPhone Group received the same instruction as well but using ObjectiveC instead of Java. One professor taught both groups for the entire term. The quantitative investigation involved both intragroup and intergroup comparison of student achievement by using pre- and posttest performance tests. Performance tests were small quizzes containing two to four programming problems and space for the student to submit their solutions. The performance tests were administered near the midterm (i.e., pretest) and at the end of the course (i.e., posttest). These nonsubjective measurements quantify the performance level of students as they progress through the course. In addition, comparisons were made between the iPhone Group and the Comparison Group. The following section describes the way in which this procedure was performed. Prepare a series of programming problems for the Comparison Group: 1. Select a series of topics that are routinely taught to students when learning the fundamentals of programming (e.g., datatypes, identifiers, repetition constructs, etc.); 2. develop a series of programming problems that are based on those selected topics; and 3. ensure that they meet the requirements of the unit or subunit of study by encouraging several teachers with expertise in this area to review the series of lessons developed.

Figure 5. Sample iOS project: Whack-A-Mole app during program execution.

32

Prepare a series of programming problems for the iPhone Group: 1. Select the same topical area corresponding to the Comparison Group’s lessons; 2. develop a series of problems for the iPhone Group; and 3. ensure that they meet the requirements of the unit or subunit of study by encouraging several teachers with expertise in this area to review the series of lessons developed in iOS. Collect data to determine the effectiveness of the learning experience by: 1. conducting the pretest for baseline data on students in the iPhone and Comparison Groups prior to exposure to the experiment; 2. determining the mean and standard deviation for the iPhone and Comparison Groups; 3. conducting regularly scheduled lectures, labs and tutorial sessions using iOS to the experimental group; 4. conducting traditional-form lessons for the Comparison Group; 5. conducting the posttest given to both iPhone and Comparison Groups; 6. computing standard statistical measures between pre- and postexposure to the two groups respectively (i.e., iPhone and Comparison Groups); and 7. computing additional statistical information (e.g., ANOVA).

Findings Part A: Qualitative Investigation Findings on the iPhone Group This section presents the findings from the qualitative investigation of the iPhone course. Students very much enjoyed the open nature of the project where students were encouraged to choose to design and develop and app of their choice (e.g., game, business, educational, etc.). Students worked in groups of 2 or 3 and had approximately 6 weeks for the project. A variety of apps were constructed for the project, such as chess (as shown in Figures 2 and 3), a real-time movie database app, battleship, a memory matching game, a balloon popping game, among others. As an example, Figure 5 presents the initial screen of “Whack-A-Mole,” an app game for the iPhone/iPad. This project used sophisticated UI components, accelerometer, multi-touch event handling and the Cocos2D framework for building 2D games. The goal of the game is to tap the moles when they pop up from their holes before they disappear in the grass

TechTrends • May/June 2014

Volume 58, Number 3

again. The game includes variations such as three screen levels and multi-taps on a mole for increased difficulty. The culmination of surveys, observations and researcher’s notes were analyzed in an effort to uncover common themes in the students’ opinion of iPhone course. The analysis yielded the following findings:

Student Perspective The following selected comments are from students in an effort to uncover common elements regarding benefits and/or problems with using the iOS programming environment. Positive Comments: 1. “I love the Xcode IDE—it is so awesome!” 2. “Great IDE. I really like the code-completion and ‘fix-it’ features without having the ‘build’ every time—way better and faster app development model.” 3. “I like the way in which the human interface guidelines are represented and supported in the Interface Builder tool in Xcode. It makes it much easier to build a good app that is sleek and intuitive.” 4. “Xcode with Interface Builder integrated is great. I like how integrated everything is—source code to UI design to hooking everything up—it’s perfect!” 5. “At the beginning I felt that the Objective-C language is quite strange, but after you get used to it, it is actually very powerful and better than other OO [object-oriented] languages such as C++, C#, and Java. Your app can be designed to be very dynamic at run-time using the ‘id’ type – something you can’t do in Java.” 6. “I’m glad I’m learning this because I’m planning on building an app and putting it on the App Store.” 7. The researcher observed that some students spent up to three times more time on the iPhone course over other courses they were taking. This was especially noticeable when students were working on their project. Negative Comments: 1. “The error messages sometimes are very cryptic and hard for me to understand and isolate where the problem is.” 2. “Too many pointers – this is like the C course over again except in Object Oriented form.” 3. “Memory management in Objective-C is a pain. I wish that the iOS had garbage collection like in Java.” 4. “When compared with other IDEs such as .Net Visual Studio, Xcode is inferior, however, when

Volume 58, Number 3

compared with other mobile app development platforms such as Eclipse for Blackberry and Android, Xcode is far better.” 5. “I am disappointed that this is the only iOS course in the curriculum. I wish there was a sequel course to this one—an advanced iOS Application Development course.” 6. “The integration with Subversion is very slow at times. I’m not sure what the problem is, Xcode or Subversion, but it is very frustrating at times.” Beyond the comments gathered from students, statistical analysis based on the survey was also performed. Table 2 depicts the summary statistics of the qualitative survey from the students’ perspective. There were a number of interesting observations that result from the analysis of this data. The following are the most significant ones. For question  1, nearly half of the students (47%) stated that they found the Xcode programming environment to be “very useful.” 80% of the students said that they feel the iPhone course is beneficial to their studies (40% of which stated the course was “very beneficial.”) This could be attributed to the rapid market growth Apple has recently experienced and Apple’s App Store making it feasible for students to be entrepreneurs in marketing and generating revenue from their apps. The response to question 4 (“How do you rate the ease with which you use and understand the Objective-C?”) is noteworthy. Only 33% of the students felt Objective-C is easy to use and understand. This is understandable considering that the students in this program have had only one C programming course and it was delivered nearly 2 years earlier in their studies. The impact of re-learning pointers, and having to be careful with memory allocation and deallocation may have resulted in this low score with regard to the Objective-C programming language. Table 1. iPhone Course Qualitative Summary Results

Qualitative Summary Results Metric

%

1.

Usefulness……………………………………… 73%

3.

Xcode better than other IDEs………………….. 47%

5.

Enjoyable………………………………………. 73%

2.

Beneficial ……………………………………… 80%

4.

Ease of use and understanding of Objective-C... 33%

6.

Learn better than in other languages………...... 60%

TechTrends • May/June 2014

33

Figure  6 shows a pictorial summary of performance scores between C and the iPhone Group using the mean grades as the data. It is evident that the iPhone Group posttest performance was significantly higher than the Comparison Group.

Conclusions

Part B: Quantitative Investigation on Student Performance Scores This section presents the findings of the quantitative investigation of this study. Table 4 presents a summary of the descriptive statistical findings on the performance scores for the Comparison Group and the iPhone Group. In order to determine the relationship between the performance scores in C and the iPhone Groups, a two-way ANOVA was conducted. Table  5 presents the results from the ANOVA for between-subjects effects for the C and the iPhone Group. There was a statistically significant difference between C and the iPhone Group, F(1,81) = 4.145, p < .05. The students in the iPhone Group outperformed students in the comparison group by nearly 8% at posttest.

This study provided an overview of the iOS development environment and an assessment of this new course including qualitative surveys, informal observations and a quantitative analysis involving student performance score results. Overall, it was found that students enjoyed the iPhone course and performed very well. It was found that the iPhone Group exceeded the performance of a Comparison Group: F(1,81) = 4.145, p = 0.046. In order to determine the degree and quality of learning that took place by students in the iPhone course, a rigorous investigation involving qualitative and quantitative techniques was conducted. The results from the first section of the study investigated the iPhone course from a student perspective using qualitative instruments. The results from this section of the study indicate that the majority of students feel the iPhone course is beneficial to their studies (80%), however, there are areas for improvement. This section presents some of the lessons learned in offering the iPhone course and explores some of the benefits and disadvantages. The benefits of teaching the iPhone course are described below. The iPhone course: • demonstrates how iOS, a mature, polished and highly consistent set of APIs based on Cocoa, is used, • shows real-world implementations of ObjectOriented design patterns (e.g., Model-ViewController), • introduces students to new a computing paradigm and programming language (i.e., Objective-C), • presents various topics on software design and software engineering including object-oriented architectures, • illustrates how designs learned on the iPhone/ iPad translate directly to Mac OS X, • empowers students to participate in the entrepreneurial spirit created by Apple and the App Store, • resonates with students who perceived the course as being timely and valuable given the current marketplace. They felt that the course was important to their studies and by gaining

Figure 6. iPhone Group versus Comparison Group performance results using pretest and posttest means as data.

34

TechTrends • May/June 2014

Volume 58, Number 3

the skills in iOS programming would enhance their career opportunities, and • shows that overall, students found the iPhone course to be enjoyable (73%), useful (73%) and beneficial (80%). The disadvantages experienced by students in the iPhone course are described below. • Not all of the students were happy with the Apple environment. A number of students said they would have been happier developing apps for the Android platform instead. • The message passing paradigm used in Objective-C was initially quite strange for many students. None of the students involved in this study were introduced to Smalltalk or Objective-C or any other message passing programming language in their academic program thus far—so it was new for all of the students. Consequently, it was difficult and frustrating for some at the beginning of the course. Soon however, most of the students overcame the syntactic differences between what they had learned before (e.g., Java, C++, etc.) and this new language. In fact, by the end of the course 1/3 of the students said that Objective-C is either easy or very easy to use. Furthermore, 73% said they found the environment enjoyable (please see Table 3). • The version of iOS development that was used during the offering of the iPhone course did not offer a garbage collection mechanism for memory management (as in Java for instance). Since that course offering, the iOS has been updated to include Automatic Reference Counting (ARC). ARC makes memory management the job of the compiler and dramatically simplifies the development process, while reducing crashes and memory leaks (Apple, 2012). The compiler has a complete understanding of the app’s objects and releases each object the instant it is no longer used. Apple claims that apps that use ARC run with the same predictable and smooth performance as in previous versions of the iOS  (Apple, 2012). Future studies should explore the impact of including ARC in subsequent iPhone courses. • The version of Xcode that was used in the iPhone course was not as comprehensive nor well-integrated with common tools as in subsequent versions of Xcode. The latest release of Xcode (currently version 4.5) offers much more seamless integration with the various tools that are common in popular IDEs such as Eclipse, .NET Visual Studio and others (Apple, 2012).

Volume 58, Number 3

The second section of this study involved an investigation of student performance scores. Two classes were involved in this study, the iPhone Group and a Comparison Group. In all of the experiments, the iPhone Group significantly exceeded the performance of the Comparison Group. A two-way ANOVA was conducted that confirm these results: F(1,81) = 4.145, p < .05. These results, coupled with the generally positive qualitative feedback from students, indicate that students perform well in the iOS programming environment. As presented earlier, some students spent up to three times more time on the iPhone course over other courses they were taking in the same semester. This was particularly evident during the time when students were working on the project. This is most likely due to several factors: • students had a great amount of latitude to develop an app of their choice (providing it met the overarching goals of the course outcomes), • the Xcode development environment and iOS frameworks are mature and very rich with features, • the iOS APIs offer many hardware specific functionalities that students used in the design and implementation of their app (e.g., GPS for context-aware apps, accelerometer, photo library, map kit, etc.), • the Interface Builder tool in Xcode is far superior to competitor application development environments (e.g., Android, etc.), • the iOS provides significant support for third party frameworks such as Cocos2D, Sparrow, OpenGL ES, etc., which were used extensively in many apps developed in the course (Apple, 2012; Heald, 2012; Sparrow, 2012), • the prospect of deploying their final app to Apple’s App Store was appealing to several students, • most students became engrossed in developing their final project app – these students expressed that it was very enjoyable and fulfilling.

Discussion and Future Research Educators in all disciplines should acknowledge the impact of mobile computing. Mobile computing is an area that has growing exponentially and is continuing to grow at an intense rate. Educators should acknowledge this growth and plan appropriately in terms of determining the potential impact to their own area of research and/or area of teaching (Meeker, Devitt, & Wu, 2010; Pettey, 2011). For example, mobile computing has a strong presence in the following sectors (and they are all growing):

TechTrends • May/June 2014

35

• computer science, • bioinformatics, • engineering, • health, • business, • media, • communication, • social networking, and • education (from grade school through to higher education).





Mobile Computing is a field that is permeating all avenues in our society. Despite the tremendous growth, the current reality is that this field is a fragmented one and has all signs of continuing to be so in the foreseeable future (Bothun, 2011; Cisco, 2013). The main platforms at this time are iOS, and Android, followed by BlackBerry, Windows Mobile, and Symbian (Bothun, 2011; Meeker et al., 2010; Pettey, 2011). This reality makes it difficult for educators to make decisions on curricula. Nonetheless, since graduates of computer science degrees may find themselves in a number of different workplace environments, it is important that educators strive to achieve balance in the curriculum. The suggestion here is that as the fields above grow in need for mobile apps, computer science programs should therefore include this type of instruction in their curriculum. Apple is currently the leader in Mobile Computing (Satariano, 2011). It appears that the combination of iOS, Xcode (with integrated UI design tool), and iOS Simulator will continue to be the dominate development platform for mobile apps. This is due in part to Apple’s astonishing business presence, the exponential growth of iOS devices, and the number of apps on Apple’s App Store (currently over 700,000) (Costello, 2013). The following section presents some areas for future research as it relates to course offerings for iOS device application development. As discussed in the previous section, memory management was a significant stumbling block for students in the course. However, since that course offering, the iOS has been updated to include Automatic Reference Counting (ARC). ARC essentially eliminates the role of programmer to manage memory as is required in C or C++ for instance. With ARC, Objective-C is more akin to Java by alleviating that huge burden of memory management responsibility from the developer (Apple, 2012). With this enhanced feature, further gains may be realized in student satisfaction and ease of application development may be forthcoming. Future research studies are planned to explore how students will respond to this enhancement of the iOS framework in terms

36

of student satisfaction and the process of iOS application development. Another area for consideration for future research is determining the direction of various topics that could be extended in iOS courses. For instance, the iPhone course presented in this study was essentially a foundational course in iOS development and involved a substantial amount of teaching principles of Human Computer Interaction for mobile devices and the fundamentals of the Objective-C programming language. Other course offerings may include the new features that the recent iOS includes such as better integration of the Interface Builder tool with the editor, impact of the iCloud, Newsstand Kit, Core Image, GLKit, Twitter, Notification Center, and/or new Game Center APIs (Sykes, 2010, 2011; Zatz, 2011). With so many features, educators have a lot of choice on which direction to pursue and where to place emphasis. One area that is gaining considerable attention is Cloud Computing (Armbrust et al., 2009, 2010; Cox, 2011; Kovachev, Cao, & Klamma, 2011). In fact, IBM predicts that by 2015, there will be 1 trillion cloud-ready mobile devices (Cox, 2011). Cloud integrated mobile computing opens a variety of new research questions, and will be a source of challenging research problems in information and communication technology for many years to come (Kovachev et al., 2011). “Solving these problems will require interdisciplinary research from systems, networks, and Human Computer Interaction.” (Kovachev et al., 2011). The areas in cloud integrated mobile computing that need to be explored include: a) determining the appropriate balance of dynamically shifting responsibilities between mobile device and cloud (e.g., offloading computation and information to a remote data center, nearby computer or cluster of computers, or even to nearby mobile devices) (Sykes, Pham, Stoica, & Stacey, 2013); b) analyzing avenues of integration as well as the synergies that exist between mobile computing, cloud computing and virtualization, and c) exploring privacy and security for mobile applications that use cloud services(Sykes et al., 2013; Sykes & Skoczen, 2013). Other areas that educators may wish to explore include expanding or enhancing the topics presented in this course such as Quartz 2D, Cocos2D, Web service integration (e.g., SOAP, RESTful services, etc.), and database programming (Core Data & SQLite).

TechTrends • May/June 2014

Volume 58, Number 3

Summary In summary, this project has shown that, in the area of mobile computing, there are significant opportunities for computer science students. Furthermore, these students may be quite fortunate to have such an experience and other computer science programs may benefit by incorporating the ideas presented in this paper. Those responsible for computer science programs and instruction may wish to adapt the curriculum to provide similar opportunities for their own institution. Correspondence in regard to this paper should be addressed to: Edward R. Sykes, Sheridan College, School of Applied Computing, Faculty of Applied Science and Technology, 1430 Trafalgar Rd., Oakville, Ontario, Canada, (email) [email protected]. (phone) +1 (905) 845 9430 Ext 2490

References ACM computing curricula 2001. (2001). ACM Special Interest Group in Computer Science Education, Vol. 3, p. 267-298. Apple. (2012). iOS 5 for Developers. Retrieved February 10, 2012, from https://developer. apple.com/technologies/ios5/ Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R., Konwinski, A., . . . Zaharia, M. (2009). Above the Clouds: A Berkeley View of Cloud Computing: Berkeley. Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R., Konwinski, A., . . . Zaharia, M. (2010). A view of cloud computing. Journal of ACM Communications, 53(4). Bloom, B. (1956). Taxonomy of educational objectives: the classification of educational goals. Handbook 1: Cognitive domain, . New York: New York, McKay. Bothun, D. (2011). The consumer-led mobile smartphone transformation. Consumer Intelligence Series. Retrieved November 20, 2011, from http://www.pwc.com/

Volume 58, Number 3

us/en/industry/entertainment-media/ publications/assets/consumer-researchseries-smartphones.pdf Cisco. (2013). Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2012–2017. Retrieved May 11, 2013, from http://www.cisco.com/en/US/ solutions/collateral/ns341/ns525/ns537/ ns705/ns827/white_paper_c11-520862. html Costello, S. (2013). How Many Apps are in the iPhone App Store. Retrieved June 7, 2013, from http://ipod.about.com/od/ iphonesoftwareterms/qt/apps-in-appstore.htm Cox, P. A. (2011). Mobile cloud computing: Devices, trends, issues, and the enabling technologies: IBM. Furst, E. (1981). Bloom’s Taxonomy of Educational Objectives for the Cognitive Domain: Philosophical and Educational Issues Review of Educational Research, 51(4), 441-453. Heald, M. (2012). Cocos2D: 2D game engine for iPhone / iPad / iPod Touch. Retrieved February 10, 2012, from http://www. cocos2d-iphone.org/ Hwang, D.-j. (2010). What’s the Implication of “SMART” in Education and Learning? Paper presented at the International Conference on e-Learning Seoul, Korea. Kovachev, D., Cao, Y., & Klamma, R. (2011). Mobile Cloud Computing: A Comparison of Application Models: Cornell University. Meeker, M., Devitt, S., & Wu, L. (2010). Internet Trends. http://www.morganstanley.com/ techresearch Pettey, C. (2011). Gartner Identifies the Top 10 Strategic Technologies for 2012. from http://www.gartner.com/it/page. jsp?id=1826214 Rothman, R. (2007). City Schools: How Districts and Communities Can Create Smart Education Systems: Harvard Education Press, Cambridge. Satariano, A. (2011). Apple Overtakes Exxon Becoming World’s Most Valuable Company. Retrieved August 17, 2011, from http://www.bloomberg.com/

TechTrends • May/June 2014

news/2011-08-09/apple-rises-from-nearbankruptcy-to-become-most-valuablecompany.html Sparrow. (2012). Sparrow: the Open Source Game Engine for iOS. Retrieved February 10, 2012, from http://www. sparrow-framework.org/ Sykes, E. R. (2010). Preliminary Findings of Visualization of the Interruptible Moment. In D. J. K. Mewhort, N. M. Cann, G. W. Slater & T. J. Naughton (Eds.), High Performance Computing Systems and Applications (Vol. 5976): Lecture Notes in Computer Science. Sykes, E. R. (2011). Interruptions in the workplace: A case study to reduce their effects. International Journal of Information Management, 31(4), 385-394. Sykes, E. R., Pham, H., Stoica, M., & Stacey, D. (2013). A Privacy-Enabled Mobile Computing Model Using Intelligent Cloud-Based Services SmartData (pp. 107-115). New York: Springer Science+Business Media. Sykes, E. R., & Skoczen, W. (2013). Bridging the Gap Using Access Grid Video Collaboration Technology: A Case Study in Music Performance Education across Two Continents. EDUCAUSE Review Online. January/February 2013, from http://www.educause.edu/ero/article/ bridging-gap-using-access-grid-videocollaboration-technology-case-studymusic-performance-education-acrosstwo-c. Trochim, W. (2001). The Research Methods Knowledge Base: Atomic Dog Publishing. Yang, J. (2012). Smartphones in Use Surpass 1 Billion, Will Double by 2015. Retrieved October 20, 2012, from http://www. bloomberg.com/news/2012-10-17/ smartphones-in-use-surpass-1-billionwill-double-by-2015.html Zatz, D. (2011). Redesigning Apple’s iOS 5 Notification Center. Retrieved June 24, 2011, from http://www.zatznotfunny. com/2011-06/redesigning-apples-ios-5notification-center/

37