Article

Human computer interaction that reaches beyond desktop applications

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

Recently, several frameworks have been developed for writing mobile and web applications in Java, making the development of web and mobile applications accessible to HCI students with only a CS1 Java background. In this paper we describe using student projects based on the Google Android mobile platform and Google's Web Toolkit to provide students with experience designing and implementing user interfaces for mobile and web applications. Specific examples demonstrate how programming on these platforms reinforces standard HCI topics. As a result of being able to learn mobile device programming in the context of "cool" Google platforms, students expressed increased interest in studying HCI.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... There are a variety of courses that teach mobile development as the context, including CS1 courses [31,32,33], CS2 [34] and courses on topics ranging from HCI [35], software engineering [36] to games [37] to security [38]. Iskandarova et al. [41,42,43] used mobile development as a learning tools for kids in a children museum. ...
... There are a variety of courses that teach mobile development as the context, including CS1 courses [31,32,33], CS2 [34] and courses on topics ranging from HCI [35], software engineering [36] to games [37] to security [38]. Iskandarova et al. [41,42,43] used mobile development as a learning tools for kids in a children museum. ...
Article
Full-text available
Mobile application development is an emerging technology that affects users, developers and almost every sector of our lives. Along with the widespread adoption of mobile devices, there has also been a surge in mobile application development. To meet the demands for next-generation workforce equipped with mobile development skills, there has been an increase in post-secondary courses that teach mobile development. While some courses use it as an application area to teach relevant topics, majority focus primarily on mobile application development itself. These students, the makers of the future mobile technology, who are involved in app creation – from defining the concept to requirements gathering, to final implementation – takes into consideration how the app will work successfully and effectively. However, their design decisions are not always made thinking about how the application will influence the user, the community, and the society at large. To address this critical issue, in this paper, we report our experience with weaving the notion of social and ethical computing while designing and developing an upper-level computer science course on mobile questionnaire development. Our primary course goals were twofold: 1) Teach students the basics of mobile app development with a team project that exposes them to industry level software development practices, and 2) Introduce students to the notion of socially conscious computing from the perspective of how mobile applications and their design decisions can influence human lives and society. By appealing to students' interest in helping others, in this course, socially conscious mobile development aimed to give students life-changing experiential learning not typically achieved in the classroom, while providing a portable software that benefits society at large. We also focused on teaching students to appreciate how computing influence society and how they can play a role in it as future generation technology makers.
... Fenwick et al. [16] describe upper-level courses that center on Android development. There are a variety of courses that teach mobile development as the context, including CS1 courses [14,20,22], CS2 [8] and courses on topics ranging from HCI [21], software engineering [12] to games [15] to security [17]. While some of the above-mentioned courses cover almost similar contents that we have covered in our course, we focused heavily on the principles of mobile application development through PBL. ...
Conference Paper
In the 21st century workplace and in academia, success requires more than basic knowledge and skills. In a project, students learn how to take initiative and responsibility, build their confidence, solve problems, work in teams, communicate ideas, and manage themselves more effectively. Project-Based Learning (PBL) is an instructional pedagogy that helps to build all these standards. Hence, we choose to integrate PBL in an undergraduate Mobile Development course that can play a significant role in creating the next-generation workforce equipped with mobile application development skills and other required skills mentioned above. In this paper, we report on our experience with integrating PBL in an upper-level mobile development course that achieves our teaching goals, helps motivate student learning, and increases student satisfaction. Here, we present an overview of our approach, course outline, course module design, outcomes, and student feedback. The focus group discussions described here highlight the positive experience of using PBL, lessons learned by the instructor, limitations, and few pitfalls.
... In fact, a security education curriculum that does not give the students the opportunity to experiment in practice with security techniques cannot prepare them to be able to protect efficiently the confidentiality, integrity, and availability of computer systems and assets. In addition, rather than only teaching abstract concepts and assigning abstract exercises, courses that also engage students in real-world settings will promote effective information security education (EDUCAUSE 2014 andLoveland 2011). ...
Article
Full-text available
As mobile devices grow increasingly in popularity within the student community, novel educational activities and tools, as well as learning approaches can be developed to get benefit from this prevalence of mobile devices (e.g. mobility and closeness to students’ daily lives). Particularly, information security education should reflect the current trend in computing platforms away from the desktop and towards mobile devices. This paper discusses a case study of a learning approach that aims at taking advantages of the benefits of mobile devices and the best practices in learning information security, as well as promoting students’ interests and increasing their self-efficacy. The learning approach uses two Android learning apps to enhance students’ hands-on skills on firewall filtering rules implementation, by practicing network traffic filtering outside the traditional laboratory activities, in the real-world environment; i.e., anywhere and anytime, at the students’ convenience. Practically, the two Android apps are a firewall app and a packet generator app; both apps are freely available at Google Play Store. Based on statistics from the Google Play Store, in about one and a half years, the packet generator app turned popular with over 20,000 downloads worldwide and a 3.75 users’ rating. A comparative analysis of various existing Android firewall apps with the proposed firewall app emphasizes its significance. The impact of the Android apps on the students’ performance in terms of achieving the course outcomes is also discussed.
... The first category includes classes that use mobile devices and/or applications as tools for engaging students. For example, introducing technology to pre-college students with AppInventor 10 (e.g., [18,32,27,6]), engaging students with interesting assignments on mobile devices [2,24] or creative teaching tools [13], or using mobile computing as a vehicle for delivering other CS concepts (e.g., security [11], software engineering [25], Operating Systems [3], Human Computer Interface [19], or Database [22]). These are innovative usages of mobile computing in classes and are unrelated to our purpose. ...
Article
Full-text available
There are many flavors of upper division elective classes that cover subjects related to mobile technologies and application development. However, there is a general lack of publications discussing the philosophy, implementation, and results from these classes. When researching for a new upper division mobile application development elective class, based on our students' needs and state of the mobile technologies, we consulted the extensive online information, and drafted guidelines and desired learning outcomes. In the subsequent years, we implemented two versions of mobile application development classes based on the guidelines and learning outcomes. The first, focused on the development of practical mobile applications while the second studied design issues surrounding modern mobile applications and their development. Both classes are project based where students build mobile applications to demonstrate their understanding, and both classes were well received. This paper describes our efforts and the classes, summarizes the results from the classes, and discusses the merits of implementation vs. design based mobile application development classes.
... To assist in teaching the importance of human-computer interaction, Loveland used AI to motivate students [12]. At the conclusion of the course, one student commented: "It is cool that the course applied the latest technologies in software development to mobile and web design." ...
Conference Paper
Full-text available
Educators are often seeking new ways to motivate or inspire students to learn. Our past efforts in K-12 outreach included robotics and media computation as the contexts for teaching Computer Science (CS). With the deep interest in mobile technologies among teenagers, our recent outreach has focused on using smartphones as a new context. This paper is an experience report describing our approach and observations from teaching a summer camp for high school students using App Inventor (AI). The paper describes two separate methods (one using a visual block language, and another using Java) that were taught to high school students as a way to create Android applications. We observed that initiating the instruction with the block language, and then showing the direct mapping to an equivalent Java version, assisted students in understanding app development in Java. Our evaluation of the camp includes observations of student work and artifact assessment of student projects. Although the assessment suggests the camp was successful in several areas, we present numerous lessons learned based on our own reflection on the camp content and instruction.
... In year 2011 SIGCSE conference, a complete session was dedicated for mobile computing with four papers addressing mobile development tools [4] and developing software in mobile platforms [5]. However, the presented papers focus was on native mobile application development, with a clear shortage in papers focusing on mobile web development. ...
Conference Paper
Full-text available
Recently, the use of mobile phones to access the web has increased exponentially. This technological shift has created a growing demand for mobile website developers in the IT market. To reflect on this recurring demand, the skills taught for an IT undergraduate in a web related course need to take this topic into consideration. In this paper we present our experience in implementing a module on mobile website design and development in an advanced web technologies course. We also report the results obtained from implementing the module in terms of students' feedback and final remarks.
Article
We report on our experience with incorporating Android software development in a second-year software design course. Our primary course goals are twofold: (1) teach principles of object-oriented design, and provide students with an opportunity to apply these principles in designing and developing Java programs, and (2) introduce students to the basics of software engineering with a team project that follows a Scrum-like software development process. In this report, we describe a team-based Android application development project that achieves our teaching goals, helps motivate student learning, and increases student satisfaction with the course. We provide an overview of our approach, outcomes, and student feedback. We also describe lessons learnt by the instructors and identify promising directions for improvements.
Article
Mobile computing is a growing market and an area of increasing interest to students. To answer our student demand we decided to develop a mobile computing course but one with a focus on interface and application design rather than implementation. The course is designed for a student audience ranging from novice programmers to experts. Using Cabana as our platform, we were able to achieve this end while also enabling our students to build functioning mobile applications. Cabana enables rapid interface design and application development without the learning curve of more traditional mobile application building. In this paper we describe our project-based curriculum and discuss its successes and failures.
Article
Full-text available
Computational thinking knowledge is used to develop solutions for computational problems, such as those found in mathematics and computer science. Over the past several years, workshops on computational thinking and computer science tools have been provided to high school teachers, most recently as part of Google's Computer Science for High School (CS4HS) initiative. The lasting impact of these workshops on the high school teachers and their students after the teacher returns to the classroom is not well known. The computational thinking knowledge and tools of high school teachers in a regional area of the U. S. was assessed during two workshops, one held several months after the other, to determine the utility and benefit, if any, of the workshops for the teachers and their students. The results of this research contribute to understanding the perception of computational thinking and computer science among high school teachers, as well as to the identification of the best tools and resources which high school teachers are most likely to use and which can be used to implement computational thinking in core curriculum standards, including mathematics.
Conference Paper
This paper details the creation of a hands-on introduction course that reflects the dramatic growth and diversity in computer science. Our aim was to enable students to get an end-to-end perspective on computer system design by building one. We report on a two-year exercise in using the Arduino platform to build a series of hands-on projects. We have used these projects in two course instances, and have obtained detailed student feedback, which we analyze and present in this paper. The instructions, code and videos developed are available open-source.
Conference Paper
As smart mobile devices grow increasingly in popularity, so do the incentives for attackers. Recent surveys on mobile security describe the rapidly increasing number and sophistication of mobile attacks. Newer sources of risks are being introduced or explored in the mobile computing paradigm where traditional security threats are also evolving. The prevalence of mobile devices and the rapid growth of mobile threats have resulted in a shortage of mobile security personnel. Educational activities are needed to promote mobile security education and to meet the emerging industry and education needs. This paper presents our initial effort on exploring a learning approach to mobile security, which aims at taking advantages of the benefits of mobile devices and the best practices in learning information security, promoting students' interests, and improving students' self-efficacy. An Android security labware is designed to implement the environment and materials for the learning approach. We integrated the pilot modules of the labware into two security courses in two semesters. The majority of the students provided positive feedback and enjoyed the Android security practices.
Conference Paper
Mobile devices have become ubiquitous in our daily lives and are replacing the desktop for email, social networking, daily planner, and so on. A typical mobile device now integrates a wide range of accessories, such as camera, GPS receiver, accelerometer, and offers a touch-screen with gesture-based interaction. This makes mobile devices an exciting platform for software development and programming projects for mobile devices have great potential to provide engaging experiences for computer science majors. This paper describes a pedagogical tool for introducing Android in a traditional CS1 course. The goal is not to teach Android programming, but to create a framework that integrates seamlessly with the CS1 course structure and supports the introduction of the fundamental computer science concepts by creating an engaging learning environment. The framework enables the students to port their CS1 projects to an Android device with minimal effort.
Conference Paper
We introduce ALE, a new framework for writing games for the Android platform. The primary motivation behind ALE is to emphasize reading code before writing it. Beginners read game code to learn how levels can be made, and advanced users read the code of ALE itself to learn how to create useful and extensible libraries. To date, roughly 200 students at our university have used ALE, ranging from first-semester engineering undergraduates through Masters students. ALE has proven useful in teaching non-majors about CS, in making introductory CS programming courses more exciting, and in encouraging creativity, entrepreneurship, and good program design in upper-level electives. Based on these experiences, we encourage educators at all levels to consider using ALE to improve students' ability to learn by reading code.
Article
Given the popularity of YouTube and other video dissemination websites, it is reasonable to assume that the digital natives of today might prefer video-based instruction, especially for a computer lab activity in an Information Systems course. Consider the specificity of a video that shows students exactly what to click versus the potential ambiguity of text instructions. At first look, video appears to offer a significantly superior instruction format compared to text, especially for the digital native generation. However, after two years of experimenting with video instructions, we no longer make this assumption. We present an experiment that examines the differences between online video and online text instructions with respect to concept learning, task completion time, retention, and student impression. Our results indicate that video and text perform similarly, which is surprising since we are investigating a type of task and an audience that appear, on the surface, to be well-suited for video instructions. Our experiments are supported by an innovative web-based lab delivery system that provides a framework for evaluating different forms of instruction and user interface designs by collecting students' responses, impressions of the experience, and timing data.
Conference Paper
This work-in-progress paper presents an approach to authentic learning of mobile security through real-world-scenario case studies. Five sets of case studies are being developed to cover the state-of-the-art of mobile security knowledge and practices. Some of the developed case studies are being implemented in related courses and the preliminary feedback is positive.
Article
As smart mobile devices become increasingly popular, so do the incentives for attackers. Mobile devices' prevalence and mobile threats' rapid growth have resulted in a shortage of mobile-security personnel. We need educational activities to promote mobile-security education and meet the emerging industry and education needs. However, mobile security is a relatively weak area in most schools' computing curriculum. To remedy this, educators are exploring an approach to mobile-security education that exploits the benefits of mobile devices and best practices in information security education. The approach aims to promote students' interests and increase their self-efficacy. To improve student learning, the educators developed a collection of labware using Android devices and tested it in classroom settings.
Article
Mobile application development is a hot topic in computer science education, and debate rages over which platform to develop on and what software to use for development. Cabana is a web-based application designed to enable development on multiple mobile platforms and to make application development easier. It uses an approach to application programming based on a wiring diagram that is supplemented with the ability to program directly using JavaScript. It is an ideal choice for application development in introductory computer science courses and for upper-level courses where the focus is on application design and not application programming. This paper introduces Cabana and describes its use in two different computer science courses.
Conference Paper
Full-text available
This paper describes using mobile game development as a motivational tool to engage students early in the curriculum. Mobile devices have become an integral part of everyday lives of modern students; using these devices as a part of the coursework may help them see the immediate connections between Computer Science and real-world technology. Compared to traditional game development, programming mobile games is less complex, which enables students with limited programming experience to create playable mobile games within the scope of a single course. Experience presented in this paper may be easily duplicated, but it may be especially useful in the first college-level course for students with CS AP credits.
Conference Paper
Full-text available
Computer Science educators are often frustrated in their attempts to demonstrate the power and relevance of their discipline in a classroom setting. Increasingly, educators are turning to carefully designed service learning projects to provide that experience. This paper describes a year-long service learning project in which we developed a working prototype of a mobile, location-aware tour for the Bonsai Exhibition Garden of the North Carolina Arboretum. The tour is a web-based, customizable, multimedia presentation on handheld Personal Digital Assistants. Students developed the complete tour, including all presentation materials and system installation, at the University of North Carolina at Asheville in a series of three computer science courses. The project abounded with both the benefits and pitfalls that come from combining service learning with cutting edge technology.
Conference Paper
Full-text available
In this paper we present our freely available academic kit to help universities in integrating mobile devices into the Computer Science (CS) curriculum. The kit was designed and developed at the Centre for Mobile Education and Research at the University of Guelph, and includes instructors' resources for introducing and teaching mobile application development. The first release of the kit includes the teaching material for a full introductory course on mobile application development, and concrete teaching modules for integrating mobile devices into courses on software engineering, game design and development, web services, information security, and operating systems.
Article
Full-text available
Teaching computer programming with simple wireless mobile applications provides the practical development experience students need.
Application of Smart Phones with RFID in Museums: A Case Study of Global Engineering Entrepreneurship
  • A Bond
  • W Schone
  • B Beez
  • T Marx
  • W Bering
  • B Bergemann
  • R Kamoua
  • W Tang
Bond, A., W. Schone, B. Beez, T Marx, W. Bering, B. Bergemann, R. Kamoua, W. Tang, “Application of Smart Phones with RFID in Museums: A Case Study of Global Engineering Entrepreneurship”, Proceedings of the 2009 International Conference on Frontiers in Education: Computer Science and Computer Engineering, 2009.
  • Me Java
  • Glance
Java ME at a Glance. Oracle. Retrieved November 23, 2010 from http://java.sun.com/javame/index.jsp.
JavaFX Technology at a Glance
JavaFX Technology at a Glance. Oracle. Retrieved November 23, 2010 from http://java.sun.com/javafx/.
Accessible Rich Internet Applications (WAI-ARIA) 1.0 (W3C Working Draft 16 September 2010
  • J Craig
  • M Cooper
Craig, J. and M. Cooper. 2010. Accessible Rich Internet Applications (WAI-ARIA) 1.0 (W3C Working Draft 16 September 2010. W3C. Retrieved November 23, 2010 from http://www.w3.org/TR/wai-aria/.