Programming Mobile Applications (Autumn 2024)
Official course description, subject to change:
Course info
Programme
Staff
Course semester
Exam
Abstract
This course is a hands-on introduction to programming of mobile applications. Building on basic JavaScript programming skills, React Native is introduced as the preferred framework for cross-platform mobile application development. The concept of Location-Based-Services is also introduced in combination with React Native and is explored hands-on, in combination with programming hardware components on the phone (e.g. camera component). Student work revolves around small weekly individual tasks and readings of React Native documentation (online resources and provided course material) and a group project (3-4 students) that will be carried out in the second half of the course.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 smartphone application programming. In this first part,
students, building on prior JavaScript programming knowledge, will work with
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.
The
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.
Overall,
students will
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
material.
Formal prerequisites
Students enrolling in this course should have completed at least 7.5 ECTS in basic programming, where you have worked hands-on with e.g. sequential execution, expression, selection, repetition, testing and debugging, arrays, variables, objects, functions and classes in programming languages such as JavaScript (preferred), Python, Java or C ++, and know how to work with the terminal.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.
Ordinary exam
Exam type:C: Submission of written work, External (Pass / Fail)
Exam variation:
C1G: Submission of written work for groups