How to find us

Mobile Application Development 2016/2017

  • 5 ECTS
  • Taught in Portuguese
  • Continuous Assessment


Once this course is finished, the student ought to be able to build simple object applications for Android mobile devices with a server connection through web services.

The student will also have the knowledge to prepare a critical assessment of mobile applications of equal size or complexity.

This course helps prepare the students for the programmer career path.

Recommended Prerequisites

Familiarity with Java or other object oriented programming language such as C# or VB.NET.
Knowledge acquired in the curricular unit:
Estruturas de Dados.
Engenharia de Software, namely: version control, software testing.
Sistemas Distribuidos, namely: web services.
Tecnologias de Base de Dados, namely SQL syntax, DB management.

Teaching Metodology

Exposition, demonstrations, experimental. Concepts are explained in theory, canonical examples are demonstrated, students experiment by applying concepts to practical problems.

Body of Work

Mobile Market and Development Environment
Graphic Interface Paradigms
Binding with Java
Activity Lifecycle
Mobile Graphical Interface Guidelines
Asynchronous Programming
APIs and Other Functionality

Recommended Bibliography

Phillips, B. & Hardy, B. (2013). Android Programming: The Big Nerd Ranch Guide. Atlanta: Big Nerd Ranch Guide. Page - 580.

Complementary Bibliography

David J. Barnes & Michael Kölling, Objects First with Java, Third Edition, Prentice Hall / Pearson Education, 2006, ISBN 0-13-197-629X.

Weekly Planning

Week 1: Introduction and Hello World
Development approaches
Market and Trends
Debug on Device

Week 2: Introduction to Views
Create GUI components by inflating an XML layout
Task Calculator Demonstration

Week 3: Binding with Java
Using Java for app development
Classes, objects, methods, interfaces and inheritance
Event, ListView and Adapters, custom adapters
Debugging Android apps

Week 4: Activity lifecycle + Intents
Logging the activity lifecycle
Android memory usage recommendations

Week 5: UI Guidelines
UI Guidelines
Options Menu
Calculator for Landscape and Portrait

Week 6: Async Programming
Android performance and responsiveness recommendations
Android threading model
Asyncronous processes in Android app

Week 7: Networking
Async http requests
broadcast receivers

Week 8: Content
Shared preferences
External storage
Content providers
JSON objects and JsonReader

Week 9: API

Week 10: Project Counseling
Week 11: Project Counseling

Demonstration of the syllabus coherence with the curricular unit's objectives

Since the curricular unit has, as main learning outcomes, the creation and the development of a critical evaluation of mobile applications all course contents are fundamental. From introducing the development environment to the use of advanced APIs, along with Interface, Lifecycle, Networking, etc., all will develop the necessary skils for the student to complete these objectives.

Demonstration of the teaching methodologies coherence with the curricular unit's objectives

The three methologies chosen encompass the technological possibilities students have with mobile applications. Canonical examples serve to propose quick problems the student can assimilate and understand the workflow. By experimenting, students will be allowed to roam free in their solutions while still focusing on each problem’s end goal. In these sessions, students will need to think not only of how might can achieve their goal but also test their ideas against the ideas of their peers. These potentially contradictory views will breed an optimal solution.

relevant generic skillimproved?assessed?
Achieving practical application of theoretical knowledgeYesYes
Adapting to new situationsYes 
Analytical and synthetic skills  
Commitment to effectivenessYesYes
Commitment to qualityYesYes
Ethical and responsible behaviour Yes
Foreign language proficiencyYes 
Information and learning management  
Initiative and entrepreneurship capability  
IT and technology proficiencyYesYes
Problem Analysis and AssessmentYes 
Relating to others  
Research skillsYesYes
This website uses cookies to provide better functionality and for performance measurements (European Union Directive 2009/136/EC)
Please take a few minutes do answer a few quick questions about our website.