Mobile Application Development 2017/2018
- 5 ECTS
- Taught in Portuguese
- Continuous Assessment
- relevant skillset
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.
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.
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
Mobile Graphical Interface Guidelines
APIs and Other Functionality
Phillips, B. & Hardy, B. (2013). Android Programming: The Big Nerd Ranch Guide. Atlanta: Big Nerd Ranch Guide. Page - 580.
David J. Barnes & Michael Kölling, Objects First with Java, Third Edition, Prentice Hall / Pearson Education, 2006, ISBN 0-13-197-629X.
Week 1: Introduction and Hello World
Market and Trends
IDE, SDK + AVD
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
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
Week 8: Content
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 skill||improved?||assessed?|
|Achieving practical application of theoretical knowledge||Yes||Yes|
|Adapting to new situations||Yes|
|Analytical and synthetic skills|
|Commitment to effectiveness||Yes||Yes|
|Commitment to quality||Yes||Yes|
|Ethical and responsible behaviour||Yes|
|Foreign language proficiency||Yes|
|Information and learning management|
|Initiative and entrepreneurship capability|
|IT and technology proficiency||Yes||Yes|
|Problem Analysis and Assessment||Yes|
|Relating to others|