Programming Mobile Applications
Course info
Programme
Staff
Course semester
Exam
Abstract
This course is a hands-on introduction to prototyping of mobile applications and mobile services. Building on basic JavaScript programming skills, React Native is introduced as the preferred framework for cross platform mobile application development. Concepts of Location-Based-Services,Social Computing and Cloud-based computing are introduced when exploring, hands-on, the design of mobile crowd sensing systems. The notion of context as unfolded in theories on embodied/situated interaction is introduced to inform the design and analysis of mobile interactions throughout the course. Student work on the course revolves around weekly individual assignments as well as two 4-5 weeks ‘mini projects’ carried out in groups of 3-5 students .
Description
The course has two main parts
The first part of the course provides a hands-on introduction to basic concepts and tools in support of native smartphone application programming. In this first part, students are exposed to the use of JavaScript as the programming Language and React Native as the mobile application framework when building cross platform smartphone applications. Students will work with a series of smaller assignments progressing towards increasingly more advanced parts of the React-Native framework. Furthermore, ways to programmatic control hardware components (e.g. gps, magnetometer, accelerometer , ambient light sensors ) all part of a modern smartphone is introduced to allow for alternative (i.e. non-screen based) input/output in the interaction with mobile devices. Finally, this first part of the course, introduces the use of on-device software debugging tools for mobile devices.
Main focus of the second part of the course is the design and implementation of a React Native application demonstrating and exploring the design for interaction with location-based services. A series of lectures, conducted in parallel to student group work, introduces theoretical concepts from the field of interaction design of direct relevance to the design of location-based applications and services. In particular, the design and implementation of mobile applications facilitating participatory and opportunistic crowd sensing is introduced through a number lectures and student assignments. This includes an introduction to cloud computing and the notion of designing application functionality that reside across individual devices and the ‘cloud’.
In this latter part of the course, lectures and exercise sessions will emphasize the construction of prototypes as vehicles for designerly inquiry. Informed by the theoretical frameworks introduced on the course, students will train their ability to analyze, discuss, and make appropriate design decisions given the particularities of a design situation. Further, towards the end of the course, student engagement with the particularities of the concrete prototypes are used as points of departure for a critical reflection on use and role of the tools, process and method introduced on the course.
Formal prerequisites
This course is a 1st semester course on the MSc Digital Design and Interactive Technologies.
Intended learning outcomes
After the course, the student should be able to:
- Apply state-of-the-art mobile application prototyping tools in the design for mobile interaction
- Apply state-of-the-art software libraries and frameworks when programming native mobile applications
- Explore and analyse alternative (i.e. non-screen based) modalities for mobile interaction
- Analyze and discuss mobile interaction as part of rich physical and social settings
Learning activities
The course consists of 14 lectures and 14 exercise sessions. Lectures and exercise sessions are closely linked by means of weekly hands-on student assignments introduced during exercise sessions and completed in smaller ad hoc groups of students.
In general, coursework advances in parallel with student work on two mobile application prototypes framing the move from basic mobile application programming, towards more advanced prototyping for mobile interaction part of location-based services. Work on the prototypes is conducted in groups of 3-5 students.
Groups are expected to present/demo and discuss their prototype work in-class during design-critique sessions conducted towards the end of the course.
Course literature
Textbook introducing the fundamentals of React Native mobile app design & implementation (specific book title to be announced in due course).
Relevant academic papers, design guidelines, framework manuals, and book chapters will be made available as uploads to LearnIT as the course and the student prototyping work moves forward.
Student Activity Budget
Estimated distribution of learning activities for the typical student- Preparation for lectures and exercises: 20%
- Lectures: 10%
- Exercises: 35%
- Assignments: 10%
- Project work, supervision included: 20%
- Other: 5%
Ordinary exam
Exam type:C: Submission of written work, External (Pass / Fail)
Exam variation:
C1G: Submission of written work for groups
Students are expected to hand in
- A group report (Max. 20 pages) documenting the group work carried out in relation to the two prototypes and
- An individual report (Max. 5 pages) reflecting on how the theoretical concepts, the tools, and methods introduced on the course has informed the actual prototyping process and outcome documented in the two group reports which the students are expected to complete during the course of the semester.
Group and individual
- Groupe size of 3-5 students