Teaching Mobile Computing Curriculum Design and Strategies Applied



Similar documents
SMARTPHONE APPLICATIONS AS SOFTWARE ENGINEERING PROJECTS *

Cabana: A Cross-platform Mobile Development System

DESIGNING WEB LABS FOR TEACHING SECURITY CONCEPTS ABSTRACT

Project Title: General Education Immersion Concentration in Mobile Computing for Non-Computing Majors: The First Course

Integrating Mobile Devices into the Computer Science Curriculum

EXPERIENCES BUILDING A COLLEGE VIDEO GAME DESIGN COURSE

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Report on Game Design and Development Courses Meeting Knowledge Areas

Choosing a Mobile Application Development Approach

Developing Applications for ios

A Modular Approach to Teaching Mobile APPS Development

Having Fun with Computer Programming and Games: Teacher and Student Experiences

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

Clarke College. Major Requirements

U.S. Army Training Support Center TCM-TADLP-Courseware Standards and Certification Division. Mobile Best Practices

How To Teach A Mobile Operating System To An It Project

COLLIN COLLEGE COURSE SYLLABUS

Proposal for a BA in Applied Computing

Including Real Networking Hardware in the Modeling and Simulation (M&S) Environment.

esarinformation Systems Simplifying your Technology Mobile Applications Development Profile

K-12 Information and Digital Literacy

Etanova Enterprise Solutions

Comparative Study of Different Mobile Operating Systems

Computer Science Professional Development Summer 2015 Arkansas STEM Center University Network and other Computer Science Offerings

2 Online Courses. 1 Introduction. D. Powell 1 and J. Hollingsworth 1 1 Department of Computing Sciences, Elon University, Elon, NC, USA

Introducing Software Engineering to the Freshman Student

MIS & CS -WORKING TOGETHER TO DEVELOP MOBILE APPS

Workshop on Android and Applications Development

Study of SAP ERP Connection System Driven in Smartphone

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

Syllabus: MOBILE MEDIA AND APPS

Scratch Game Design (Grade 3-5, Beginners)

Interview with Cocomore, agency for marketing and IT services

App Inventor for Android in a Healthcare IT Course

Engineering Economics Jeopardy! Mobile App Development Process and Student Satisfaction

Issues in Android on Mobile Platform and Their Resolution

ICAPRG601A Develop advanced mobile multi-touch applications

Dana VÎLCU Spiru Haret University Faculty of Mathematics and Informatics.

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Study of SAP ERP Connection System Driven in Smartphone

HEALTHCARE MOBILE APP DEVELOPMENT WITH APP INVENTOR IN

COURSE CATALOG

Mobile Phones Operating Systems

THERE S AN APP FOR THAT: USING SMARTPHONES IN EDUCATION. Najib Manea

Science Major Requirements for The University Of Engineering

CREATING ON-LINE MATERIALS FOR COMPUTER ENGINEERING COURSES

WILLSBORO CSD Instructional Technology Plan - Annually

Mobile App Design Tool for Smartphones: A Tutorial

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Faculty Innovator Grant 2011 Center for Learning Technologies. Final Report Form

APSU Teacher Unit Annual Program Review (APR) Report Curriculum and Instructor: Instructional Technology

Master of Science in Computer Science Information Systems

Making Sense of Texas High School Computer Science Requirements and Options. TCEA CS Academy 23 July 2015 Hal Speed

Mobile Device Support Model

Department of Computer Science

Mobile Technology. Woods, D. Independent study (including assessment) COM N/A

Conference Paper. Distributed Performance Systems using HTML5 and Rails. Dr. Jesse Allison 1.

Using ipads in Undergraduate Mathematics

Issues in offering numeric based courses in an online environment

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

The Role of ICT in Indonesian Language Learning and the Teaching of BIPA

Building a Final Year Project on Social Network Platform: Challenges and Opportunities

Electrical and Computer Engineering Undergraduate Advising Manual

Digital Technology. Degrees. Certificate of Achievement. To earn an A.A. or A.S. Degree:

ESUMS HIGH SCHOOL. Computer Network & Engineering (CNE) Syllabus

Programming and Software Development. Networking Systems

CSC WORLD AN ARTICLE FROM FOCUS ON MOBILITY. Defining Your Mobile Strategy: A Guide to Developing Apps

The History of St. Joseph Classroom Technology

MORIAH CSD Instructional Technology Plan - Annually

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Adobe & K 12. Enrich learning and boost districtwide efficiency with engaging digital experiences

Literature Review: Starting Mobile Application Development for E-Sports Portal Hayoung Noh

NETOP VISION CLASSROOM MANAGEMENT SOFTWARE. Using Vision in mobile labs and BYOD environments

Teaching App Development with Swift Course Materials Overview

Student Perceptions On Computer Coding Ashfield Public School Term 3, The Initiative. The survey

Delta Courses. *The College Classroom. The College Classroom: International Students, International Faculty. Diversity in the College Classroom

3D Class: A gamified learning environment.

The University of Texas at Dallas Welcomes Harmony Students for Residential Camp Experience!

The following are the measurable objectives for graduated computer science students (ABET Standards):

How To Learn Programming In A Camp At The University Of Texas At Dallas

Case Method for Computing Education (CMCE)

TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE

Keywords Online Aptitude Test, Android, IOS, Cross Platform mobile application Development.

Development of Engineering Economics Career Mobile App

ASSESSING ONLINE LEARNING AND CLOSING THE LOOP IN AN MBA PROGRAM

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

CDW G 21st-Century Classroom Assessment Tool

Education & Training Smartphone Computing in the Classroom

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

MIS W: Mobile Business

Introduction to Android

Technically Speaking: Moodle, mobile apps and mobile content

Early Childhood Program Guidance for Children Ages Birth through Eight

Encourage students interest in computer science, game design, engineering and art with ProjectFUN!

How To Evaluate An Online Course

Development of Mobile Learning Using Android Platform

Technology in the Classroom

Summer Term Special Initiatives Call for Proposals

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

Transcription:

Teaching Mobile Computing Curriculum Design and Strategies Applied Xiaoyuan Suo Department of Math and Computer Science, Webster University, Saint Louis, MO, USA Abstract--Mobile learning represents exciting new frontiers in education and pedagogy. Webster University has recently started offering courses for Mobile Computing. The designed curriculum focuses on practical experiences, which includes designing, creating, and testing mobile applications on mobile devices. In this paper, we report the curriculum designs, teaching strategies and tools applied; Major feedback also showed students were able to learn programming skills necessary to become more proficient in developing mobile applications. Keyword: Mobile Computing, Computer Science Curriculum, Teaching Mobile Computing, Curriculum Design 1 Introduction Mobile learning represents exciting new frontiers in education and pedagogy. Mobile devices are ubiquitous: they encompass portable audio and video players, digital cameras, tablet PCs and PDAs, as well as cell phones and smart phones. A Sept. 2006 Cellular News story [1] estimated that there are more than 2.5 billion mobile phones worldwide. Although the mobile systems market is large and the career opportunities for students are excellent, relatively few universities offer mobile computing courses, much less teach mobile systems programming.[2] Many schools have begun, or are considering, offering courses for programming mobile devices. A simple search on job recruiting website showed a dramatic increased demand in employment in mobile app development, mobile architecture, mobile design, or other mobile technology related field. A demand of education in mobile technology area has never been higher. The Department of Mathematics and Computer Science at our university has recently proposed and started to offer a new B.S. degree in Mobile Computing. Students in our Mobile Computing major are focused on applying their technical skills to design, create, and test mobile applications. They will learn programming skills necessary to become proficient in developing mobile applications. These individuals are at the center of mobile development. They will be qualified to analyze, design, implement and test mobile applications as well as develop the required skills to maintain and update existing mobile applications. Graduates from this program will be able to apply their computing knowledge and technical understanding to move an organization into the mobile computing arena. 2 Background Elon University and Appalachian University initiated a new Mobile program. [3] The report is rather comprehensive including both using mobile devices as teaching tools and teaching programming skills on Mobile devices. Course offered at Elon University used e-book, as supplemental reading material, along with Android Developers SDK. Students developed applications using Eclipse IDE and Android Development Tools plug-in. The course starts by lecture on the programming topics, and requires students to accomplish programming projects to fulfill the learning objectives. [3] Appalachian state University offered a summer course with a combination of Android programming (80%) and iphone programming (20%). The course carries out in a programming studio fashion and focuses on teaching problemsolving strategies [3]. Many other institutions have applied or used mobile technologies to enhance their teaching and students learning experiences [4-9]. Work by Queens University of Technology in Australia [7] studied mobile learning outcomes, challenges and proposed guidelines for future mobile learning experience. A few other institutions practiced using existing programming environment for teaching students building applications for mobile devices without programming background, such as App Inventor for Android (AIA) from MIT [10, 11]. In addition, educators have also converted traditional lab assignments on using mobile devices. For example, practices from Wentworth Institute of Technology has applied graphics programming on Android platform [12]. Android platform has shown its special advantage: it supports OpenGL, it uses open source development environments and it is easy to publish apps. Wellesley college also adopted AIA as a teaching tool for their courses for CS students [13]. West New England University focuses on development and maintenance of real-world mobile applications [13], since

mobile applications development faces the challenge of developing for a rapidly evolving technology. Central Connecticut State University offered a mobile games course, which aims on providing students with a more exciting learning approach than pure coding. [13] 4. Producing a digital story telling of what they learn by audio or video diary (mobblogging journal) 5. Applying what they learn in the simulated environment, such as online educational gaming The mobile application development course offered at Nassau Community College in 2011. This is an effort of encouraging students at community college to complete their CS degree. [13] Hampshire College offered a mobile computing course but with a focus on interface and application design rather than implementation [14]. The course used Cabana, which allows rapid interface design and application development, as platform. Students from various levels of programming background found Cabana as a easy adoptable software to help them rapidly develop and change mobile application designs. Technological limitations [15], such as lacking of mobile learning devices and resources, also makes mobile computing programs from carrying out world-wide. Currently, there is a number of institutions offer a mobile computing related course, which can be classified into three categories [16]. First, mobile application development classes, students learn about building applications[17]. Second, mobile computing classes [18], students study mobile computing related issues and algorithms. Third, mobile computing client classes [19], students learn traditional CS concepts using mobile computing as a context for examples. Earlier work summarized by Trifonova [20] showed limited capabilities, such as short time (5-10 minutes), simple functionalities, content domain specific, etc. Earlier works [21] also summarized mobile learning as an educational provision where the sole or dominant technologies are handheld or palmtop device. However, little work, which focused on teaching students how to program or learning technologies behind mobile devices, was found. Based on ARCS learning model and mobile technologies characteristics in promoting and enhancing human interactions, a variation to the ARCS model, the Shih s Mobile Learning Model (see Figure 2), was created to support instructional design for mobile learning. The learning cycle in the Shih s model includes: [22] 1. Sending a multimedia message to mobile phones to trigger and motivate learners 2. Searching the Web for relating information by using embedded hyperlinks (URLs) in the message received in the phone 3. Discussing with learning peers by text, voice, picture, or video messaging Figure: Learning Cycle in Shih s Mobile Learning Model [22] Work by Kulik [2] developed a hands on lab which is designed for students to understand and develop programs for mobile devices. The lab covered many important aspects of mobile computing technologies, include: mobile development environments, interface design, mobile PANs, wireless infrastructure and other mobile network related techniques. The audiences are graduates anticipating a Master s degree of engineering in Distributed Computing. 3 Program Framework Previous literatures studied the different subjects that should be included into the new mobile learning paradigm [23]. Mobile learning applications; mobile user infrastructures (such as browser, hand-held devices); Mobile protocol (adoption of content with WAP); and mobile network infrastructure (cellular systems, satellites, etc.) are the four proposed learning frameworks. Our unique Mobile Computing program focuses on problem solving techniques, analyzing system component using mobile computing techniques, as well as building an indepth knowledge of advanced mobile computing and development techniques. Some of the required courses are listed in the table below.

Course Course Name Number COSC 1550 Programming I with C++ COSC 1560 Programming II with C++ COSC 1570 Math for Computer Science COSC 2050 Programming with Java COSC 2060 Advanced Java COSC 2070 Introduction to Mobile Technology Course Content Basic programming foundation C++ Basic logics, and mathematical skills for computer science Basic Java programming foundation Mobile technologies, mobile networks, basic mobile computing techniques COSC 3340 Mobile Computing I Programming skills on mobile platforms. Currently the content is programming for ios devices. COSC 3350 Mobile Computing II Advanced programming skills on mobile platforms. Currently the content is programming for Android devices. COSC 4510 Mobile Comprehensive Development I understandings on mobile platform development COSC 4520 Mobile Applications of Development II comprehensive skills on mobile platforms Other required courses for B.S. in Computer Science Table 1, required courses for our new Mobile Computing program Specifically, each of the major mobile courses is discussed below: COSC 2070 Introduction to Mobile Technology This course studies the fundamentals of mobile technology. It focuses on emerging mobile technology, the potential of the mobile application market, and the technological and marketing challenges that make mobile applications difficult to commercialize. This course will also discuss the various tools available to build powerful mobile applications. Some of the tools we used in class include: PhoneGap[24], MIT App Inventor [25]. COSC 3340 Mobile Computing I This course will study the leading-edge mobile computing technologies for professional software developers. This course is hands-on and project-based. The central focus of the course is to enable the understanding and critical evaluation of mobile applications. Currently, the major component of the course is on designing and developing applications on the ios platform. The course is primarily a programming course using Objective-C. COSC 3350 Mobile Computing II This course will focus on more advanced mobile computing techniques and mobile application development schemes. The central focus of this course is to further enhance the knowledge and critical evaluation of mobile applications and the mobile development process. We carry out the content by teaching programming with Java on Android platforms. COSC 4510 Mobile Development I This course aims to provide a greater depth of knowledge by studying the analysis and design process of mobile device computing. Topics include the available development tools, mobile development paradigms, device limitations, mobile application feasibility and economics, and the future trends of mobile computing. COSC 4520 Mobile Development II This course studies mobile development from three perspectives: mobile technology, application development, and user interaction. This course overviews various mobile applications, technologies and wireless communications. Students will learn about common paradigms in mobile development such as computing in environments with limited resources. This course will also study current research in mobile development. 4 Preliminary Feedbacks The university curriculum committee originally approved the program in the spring of 2012. Three of new courses, Introduction to Mobile Technologies, Mobile Computing I, and Mobile Computing II were offered for the first time in the following academic year of 2012-2013. In addition, Introduction to Mobile Technologies was offered twice in the consecutive semesters; the class (18 seats) was fully enrolled for each time it was offered. The responses we received were enormous. Most students reported they enjoyed the courses to a great extent. Some were able to study advanced mobile programming and other skills in addition to the course content. More specifically, among all students who attended the classes, about 20% of them have non-computer-science related majors. Majority of the students walked in with little or no knowledge with how to program or develop an app on mobile devices. At the end of the semester, we are pleased with most of students work. In fact, four of the students were able to receive job offers from local mobile technology related businesses.

Some responses and suggestions from the students were incredibly interesting. Some students reported they walked into the classroom expecting to be playing with an ipad, but ends up learning advanced programming languages such as Objective-C. Freshmen or students who had little knowledge in programming enjoyed learning MIT App Inventor [25], which they described as an interesting way of learning programming skills behind interface designs. Some students suggested other topics, such as C#, Windows 8, and blackberry, to be included into the curriculum. Nevertheless, we are already facing a few challenges even though the program is still at its infant stage. 1. Many students are more interested in learning the cool aspects of mobile technology, such as interface design, tools, and game designs. Fewer paid attention to fundamental skills such as debugging or testing. 2. The program is high maintenance. With the fast growing mobile world, it is not only costly in the getting new devices and software periodically, but also in learning new technologies and programming skills for both the instructors and students. 3. Many students, who are currently enrolled in our Computer Science program, questioned the necessity of switching their majors to Mobile Computing. While the new Mobile Computing program is attractive and innovative, we still need long-term studies to prove that it is as sustainable as a traditional Computer Science degree. We believe, in a long term, this work will advance the understanding of engaging students into new degree programs, in order to prepare students for today s rapidly growing and changing computer technological jobs. The teaching materials and methodologies developed will help improve the students problem solving skills. The project and the research will generate data and materials that can be beneficial to other universities with a similar degree program. 5 Conclusion We are positively looking forward for another great semester of Mobile Computing offerings. Although there are currently 5 new courses in the program, we are thinking about adding other topics into the curriculum. We are also conducting long-term studies on the students learning outcomes to further assess the sustainability of the program. 6 References [1] http://www.cellular-news.com/story/19223.php, "2.5 Billion Mobile Phones In Use," in Cellular News, 2006. [2] L. Kulik, "Mobile Computing Systems Programming: A Graduate Distributed Computing Course," IEEE Distributed Systems Online, vol. 8, p. 5, 2007. [3] J. Fenwick, B. Kurtz, and J. Hollingsworth, "Teaching Mobile Computing and Developing Software to Support Computer Science Education," in SIGCSE, Dallas, Texas, 2011. [4] J. Barbosa, R. Hahn, D. Barbosa, and C. Geyer, "Mobile and Ubiquitous Computing in an Innovative Undergraduate Course," in SIGCSE, Covington, Kentucky, 2007. [5] D. Lim, "Ubiquitous Mobile Computing: UMC's Model and Success," Educational Technology & Society, vol. 2, 1999. [6] S. L. Miertschin and C. L. Willis, "Mobile Computing in the Freshman Computer Literacy Course: What Impact?," in CITC5 '04 5th conference on Information technology education, Salt Lake City, Utah, 2004. [7] R. Cobcroft, S. Towers, J. Smith, and A. Bruns, "Mobile Learning in Review: Opportunities and Challenges for Learners, Teachers, and Institutions," in Online Learning and Teaching (OLT), 2006. [8] R. Rieger and G. Gay, "Using Mobile Computing to Enhance Field Study," in 2nd International Conference on Computer Support for Collaborative Learning, 1997. [9] M. Berry and M. Hamilton, "Mobile Computing, Visual diaries, Learning and Communication: Changes to the Communicative Ecology of Design Students Through Mobile Computing," in ACE '06 8th Australasian Conference on Computing Education, Darlinghurst, Australia, 2006. [10] H. Abelson, "Teaching CS0 with Mobile Appls Using App Inventor for Android," in Seventeenth Annual CCSC Northeastern Conference, Quinnipiac University, Hamden, Connecticut, 2012. [11] H. Abelson, E. Mustafaraj, F. Turbak, R. Morelli, and C. Uche, "Lessons Learned from Teaching App Inventor," in Seventeenth Annual CCSC Northeastern Conference, Quinnipiac University, Hamden, Connecticut, 2012. [12] M. Werner, "Graphics Programming on Android," in Seventeenth Annual CCSC Northeastern Conference, Quinnipiac University, Hamden, Connecticut, 2012. [13] S. Jackson, H. Ellis, L. Postner, S. Kirkovsky, and E. Mustafaraj, "Mobile Application Development in Computing Curricula," in Seventeenth Annual CCSC Northeastern Conference, Quinnipiac University, Hamden, Connecticut, 2012. [14] P. Dickson, "Teaching Mobile Computing Using Cabana," in Seventeenth Annual CCSC Northeastern

Conference, Quinnipiac University, Hamden, Connecticut, 2012. [15] K. Gao, Z. Liang, and X. Ou, "Technical Analysis of Mobile Learning Application in High Education," in The 6th International Conference on Computer Science & Education (ICCSE), SuperStar Virgo, Singapore, 2011. [16] K. Sung and K. Foster, "Mobile Computing, Smartphones, and Existing Computer Science Classes," in The First International SMArtphones in the Curriculum workshop (SMACK), Honolulu, Hawaii, 2011. [17] V. Matos and R. Grasser, "Building Applications for the Android OS Mobile Platform: a Primer and Course Materials," in Journal of Computing Sciences in Colleges, Consortium for Computing Sciences in Colleges, 2010. [18] F. Hu and A. Teredesai, "A Pervasive Computing Curriculum for Engineering and Science Students," IEEE Pervasive Computing, vol. 6, 2007. [19] Q. H. Mahmoud, T. Ngo, R. Niazi, P. Popowicz, R. Sydoryshyn, M. Wilks, and D. Dietz, "An Academic Kit for Integrating Mobile Devices into the CS Curriculum," in (ITiCSE)14th annual ACM SIGCSE conference on Innovation and technology in computer science education, 2009. [20] A. Trifonova, "Mobile Learning - Review of the Literature," University of Trento09 Apr 2003 2003. [21] J. Traxler, "Defining Mobile Learning," in IADIS International Conference Mobile Learning, 2005. [22] Y. E. Shih and D. Mills, "Setting the New Standard with Mobile Computing in Online Learning," International Review of Research in Open and Distance Learning, vol. 8, p. 16, June 2007. [23] C.-H. Leung and Y.-Y. Chan, "Mobile Learning: A New Paradigm in Electronic Learning," in IEEE International Conference on Advanced Learning Technologies, 2003. [24] PhoneGap, "http://phonegap.com/." [25] MITAppInventor, "http://appinventor.mit.edu/."