Programming Mobile Applications
The course has two main parts:
first part of the course provides a hands-on introduction to basic concepts and
tools in support of smartphone application programming. In this first part,
React Native as the framework for developing cross-platform smartphone
applications. They will engage in a series of smaller assignments progressing
towards increasingly more advanced parts of the React Native (RN) framework. In this part three individual assignments need to be completed.
second part of the course is focused on gradually introducing Location-Based
Services (LBS), Geolocation/Geofencing, and ways to program/control hardware components (e.g. GPS, camera, accelerometer), aiming to expand
the possibilities of interacting with mobile devices. In this second half of
the course a group project (3-4 students) will be conducted focused on
programming and implementing a React Native application, through exploring and demonstrating knowledge on working with main RN components,
navigation, LBS and programming of smartphone hardware components. In this latter part of the course, the gradual
development of the group project will emphasise the construction of mobile app prototypes as
vehicles for discussing
the process of programming a mobile application with React Native as a tool,
through components as building blocks and blackboxing processes.
train how to prototype with code and slowly develop their ability to analyse, discuss, and make appropriate design decisions when prototyping a mobile app, starting from code as a design
KDDIT students who have passed ITU course Introduction to Programming in 2019 or later are eligible to take this course as an elective.
Please note: Limited number of places available as elective. More places may become available in the course registration change-of-mind window.
Intended learning outcomes
After the course, the student should be able to:
- Apply state-of-the-art mobile application prototyping tools for developing and designing mobile interactions
- Apply React Native to programming mobile applications, focused on using RN components, page navigation, dynamic images and text, styles, programmatic control of phone sensors, and location-based services/geolocation.
- Reflect on the process of programming a mobile application with React Native as a tool by using external component libraries and by breaking down code into components.
The course consists of a series of lectures presenting and explaining elements of programming with React Native from a theoretical perspective. Each theoretical lecture is accompanied by exercise sessions focused on hands-on programming aiming to invite students to learn through practice. Thus, lectures and exercise sessions are closely linked by means of weekly programming student assignments introduced during the exercise sessions and completed either individually or in small groups of students.
In general, coursework advances in parallel with student work that includes individual exercises and a group project focused on developing a mobile application prototype. These frame the move from basic mobile application programming, towards more advanced prototyping for mobile interaction including a focus on location-based services. The group project is conducted in groups of 3-4 students.
Groups are expected to present/demo and discuss their prototype work in-class during design-critique sessions conducted throughout the course.
Textbook introducing the fundamentals of React Native mobile app design & implementation (specific book title to be announced in due course).
Relevant academic papers, web links and book chapters will be made available as uploads to LearnIT as the course and the student prototyping work moves forward.
Student Activity BudgetEstimated 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 examExam type:
C: Submission of written work, External (Pass / Fail)
C1G: Submission of written work for groups
The exam will consist of:
1. A submission of a written group assignment (max. 20 pages) focused on the programming and development of a mobile app prototype (group project), and
2. A submission of an individual exam consisting of 3 individual assignments introduced throughout the course and a one-page reflection.
Group and individual
- Group size 3-4