- IMT1031 Introduction to Programming or
- IMT1241 Basic Java Programming (from autumn 2013 replaced by IMT1441 Programming for web I).
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 dicsuss the strengths and weaknesses of mobile devices.
- Know the performance limitations of mobile technologies and networks.
- Discuss and review the special user interface requirements of mobile devices.
- Have a in-deepth understanding of the development process for a specific mobile platform.
- Identify the ethical and social impact of mobile devices on society.
- Be able to identify and characterize the strengths and weaknesses of mobile devices.
- Be able to classify and describe the performance limitations of mobile technologies and networks.
- Be able to use an integrated development environment (IDE) to implement applications for mobile devices.
- Be able to access and use the variety of input methods found in mobile devices.
- Develop an appreciation of the potential for innovation in mobile services, and the impact this could have on society.
- Be able to cross compile 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, tabets, wearables)
- 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
Net Support Learning
Teaching Methods (additional text)
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
Form(s) of Assessment (additional text)
- Portfolio of internal assignments (60%). Passing the internal portfolio is required to sit the exam.
Final, written exam 3 hours (40%)
There are 3 internal assignments that will be contributing to the final 60% of the course mark. The first assignment is a simple application demonstrating the use of activities, and simple GUI elements. The second assignment is an individual assignment focused on developing a simple app which accesses both sensor data and network connectivity and use of some Internet resources. The final third assignment is a small, group project implementing a new or extending an existing application, such as a simple game, visualization tool, media production app, or productivity tool. All internal assignments count for 60% of the total mark, and each of them needs to be passed in order to be able to attend final written exam. The group project will be on a phone/mobile device of the students choice.
Alphabetical Scale, A(best) – F (fail)
Internal examiner, together with external examiner once every three years on the written exam, next time in 2016.
Normal continuation exam for the written exam.
Web resources from Apple, Google, Microsoft and other mobile device operators as well as other online tutorial sites.
Replacement course for