● IMT1031 Introduction to Programming or
● IMT1241 Basic Java Programming or
● IMT1441 Programming for Web
On the basis of
IMT1082 Object Oriented Programming or equivalent
IMT2291 Web Technologies or equivalent
Expected learning outcomes
On completion of this course the students will have the following skills, knowledge and general competences:
● Recognize and discuss the strengths and weaknesses of mobile technologies
● Indepth knowledge of mobile development process
● Discuss main mobile application components, their function, and purpose
● Recognize and plan the mobile applications structure
● Know the performance limitations of mobile and wearable technologies
● Discuss and review the special user interface requirements of mobile and wearable devices
● Have indepth understanding of the mobile/wearable app development process
● Identify the ethical and social impact of mobile devices on society
● Be able to identify and characterize the strengths and weaknesses of mobile and wearable technologies, and their performance limitations.
● Ability to develop a mobile solution to a defined problem
● Ability to implement a mobile application and utilize the screen, input mechanisms, database, social aspects and Internet connectivity characteristic to
● Be able to use an integrated development environment (IDE) to implement applications for mobile devices on the Android and/or iOS platforms
● Be able to access and use the variety of input methods for mobile and wearable UI
● Develop an appreciation of the potential for innovation in mobile/wearable technology and services, and the impact this could have on society
● Be able to cross compile native C++ code for at least two different mobile operating systems: Android and iOS.
● Improved understanding of the software development process
● Exposure to and understanding of group projects and group dynamics in the software development team
● Improved programming skills
The field of mobile system development changes rapidly. Thus the topics covered need to be
flexible. In this course these include, but are not limited to:
- Strengths and weaknesses of mobile technologies
- Limitations of mobile devices available on the market
- Programming Design Patterns for mobile systems
- Layout and UI designs and practices for mobile screens (phones, tablets, wearables, Internet of Things)
- Using alternative input interfaces
- Sensor integration - GPS, accelerometer/gyro, tilt, magnetic field, compass and camera
- Raw data filtering and signal processing
- OpenGL ES - 2D/3D graphics on mobile devices
- Managing multiple product SKU's
- OS specific development issues: Apple's iOS and Google's Android
- Mobile networking and technology stack
Teaching Methods (additional text)
Lectures (also tutorials and exercises)
Online resources and MOOC-supported learning
Student will receive an overview of the mobile development process on a range of devices, but will select one for in depth study. Some mobile devices will be available for testing, but it would be beneficial for the student to have access to a personal mobile device (for example iOS which requires an iOS-enabled device, or and Android 4.2+)
Form(s) of Assessment
Written exam, 3 hours
Form(s) of Assessment (additional text)
- Portfolio of internal assignments (60%).
- Final, written exam 3 hours (40%)
There are 3 internal assignments that will be contributing to the final 60% of the course mark.
Alphabetical Scale, A(best) – F (fail)
Internal examiner, external examiner once every three years on the written exam, next time in 2019.
Re-sit for the written exam in August.
Portfolio of internal assignments must be taken the next time the course is run.
Passing the internal portfolio is required to sit the exam.
Web resources from Apple, Google, Microsoft and other mobile device operators as well as other online tutorial sites.
Replacement course for
IMT3662 and IMT3672