Curricular Unit: | Code: | ||
Mobile Applications Programming | 1126PAMO | ||
Year: | Level: | Course: | Credits: |
1 | Master | Computer Systems Engineering (Mobile Computation) | 6 ects |
Learning Period: | Language of Instruction: | Total Hours: | |
Winter Semester | Portuguese/English | 78 | |
Learning Outcomes of the Curricular Unit: | |||
This course unit (UC) is intended for students to know the main aspects of mobile application development, especially the Android platform. More specifically: • Identify key features and technologies of mobile applications • Understand and compare the major app development tools • Understand and design apps based on key aspects that influence its architecture • Use development tools to implement Android apps • Know and apply unit and integration tests | |||
Syllabus: | |||
1. Introduction to Mobile Applications 2. Mobile Application Development Platforms 3. Design and Architecture of Mobile Applications 4. Android Mobile Application Programming | |||
Demonstration of the Syllabus Coherence with the Curricular Unit's Objectives: | |||
The syllabus is organized into modules, addressing different aspects of mobile application development. In particular, module 1 addresses the histological evolution of mobile technologies and applications; Module 2 discusses and compares the characteristics of key application development tools; Module 3 focuses on the design and architecture aspects of mobile applications. In parallel, module 4 covers the most practical aspects of mobile application development for the Android platform. Theoretical modules address the various aspects and underlying technologies in mobile application development; The development aspects are applied in module 4 using various hands-on labs from Android applications (e.g. interaction patterns and event managing, location and maps, data storage and resources, communications, etc.). | |||
Teaching Methodologies (Including Evaluation): | |||
The most theoretical aspects are introduced in the theorectic-practical classes (TP), covering the historical evolution of mobile applications, the main development platforms and the different aspects in the basis of the design and developments of mobile applications. In the laboratory practical classes (PL) the study of the Android platform is promoted using various labs where diverse aspects of the platform are explored. PL classes are organized by modules, addressing the different aspects of the Android platform (cf. interfaces, location and maps, storage, communications, etc.), complementing the aspects covered in TP classes. The assessment comprises two components TP and PL: 50% TP (90% Test + 10% Cont. Eval) + 50% PL (20% Specs & Arch Report + 70% App + 10% Cont. Eval) | |||
Demonstration of the Coherence between the Teaching Methodologies and the Learning Outcomes: | |||
The teaching methodology focuses on the study and comparison of the main technologies and platforms used in the development of mobile applications. TP classes cover various aspects of application architecture and development (e.g. usability, performance, communications, data storage and synchronization, security, etc.). At the same time, PL classes are guided by modular exercises that target the various strands of Android applications. Sequential hands-on resolution encourages the practical development of mobile application knowledge. This practice makes it possible to consolidate the various aspects of the mobile application development process using concrete exercises. | |||
Reading: | |||
1. G. Coulouris, J. Dollimore & T. Kindberg, Distributed Systems: Concepts and Design, 4th Edition, Addison Wesley, 2005. 2. T. Mikkonen, Programming Mobile Devices: an introduction for practitioners, John Wiley & Sons, 2007. 3. Android Developers, http://developer.android.com/, (accessed September 2019). | |||
Lecturer (* Responsible): | |||
Rui Silva Moreira (rmoreira@ufp.edu.pt) |