área científica
Informática / Sistemas de Informação
escolaridade
ensino teórico-prático (TP) - 3 horas/semana
idioma(s) de lecionação
a inserir brevemente
objectivos
Handheld devices promise to dominate the future of software platforms as a result of the rapid convergence of computers and mobile phones. Among the existing mobile operating systems, both Android and iOS are the popular options, particularly with developers because of its high level API that allows easy integration with hardware (e.g. GPS, accelerometers, etc) and the availability of web services (e.g. maps). Although initially designed for mobile devices, they are becoming appealing for its other usages (e.g. tablets) because of numerous features found primarily in more ‘powerful’ enterprise solutions.
In this course, we will learn to design, implement, and deploy a location/context-aware Android and iOS application. Topics to be covered include basic user interfaces, application design, concurrency, and location-aware and other context-aware programming. The course may need basic web services/REST concepts for their use as application resources. Parallels between Android, IOS and other solutions like J2EE (an enterprise solution) will be established.
The course objectives are two-fold:
- Hands-on approach on Android and iOS programming (lab and homework).
- Focus on mobile frameworks design patterns and architectural options and establish a parallel between them.
competências
The course objectives are two-fold:
- Hands-on approach on Android and iOS programming (lab and homework).
- Focus on mobile frameworks design patterns and architectural options and establish a parallel between them.
After completing the course, students will:
- Understand:
- The specificities of mobile computing as it relates to architecture and software ‘limitations’ when compared with ‘standard’ program paradigms.
- The architecture, programming model, and features of both Android and iOS. This will include user interface solutions, inter “process” communication mechanisms, persistence and resource management, etc.
- Be able to:
- Propose and implement a mini project in Android and iOS.
- Discuss the similarities and differences between Android & iOS.
- Identify and select between the existing options for integrating a mobile application within a heterogeneous network (http, SOA, etc ).
- Learn to:
- Design, implement, and deploy applications in Android and iOS that may interact with external resources – namely SOA frameworks.
The course has an hands-on approach on Android and iOS programming (lab and project)
conteúdos
Module 1 – Tecnology 1: iOS
- Basic concepts
- Tools and resources
- Lab on basic concepts and application development
- Project
Module 2 – Technology 2: Android
- Basic concepts
- Tools and resources
- Lab on basic concepts and application development
- Project
avaliação
This course will have continuous evaluation (avaliação continua). The assessment will be mainly supported on the course project and will consist of 3 main components:
Personal 30% : based on 1 test and quizzes addressing all modules contents
Projects 70% - based on the application concept and both implementation in Android and in iOS
requisitos
Desejável possuir alguma experiência em programação orientada por objectos (e.g. Java, C++, C#)
metodologia
A UC está dividida em 2 módulos que abordam cada um uma plataforma móvel.
Os módulos 1 e 2 são suportados essencialmente em sessões laboratoriais , precedidas por uma exposição sobre várias aspectos relevantes (e.g. modelo de programação, interfaces programáticos e com utilizador , etc ) seguida de exercícios prácticos onde existe a oportunidade de aplicar os mesmos tópicos. abordar - materiais de referência e leitura são fornecidos para suportar os exercícios. O resultados destes dois módulos é uma aplicação implementada na plataforma abordada no módulo. As aplicações são implementadas por grupos de 2 alunos.
A avaliação da UC é contínua com componente individual (30%) baseada em 2 teste (1 por cada plataforma) e numa componente de projectos (70%) suportada na avaliação das aplicações implementadas nos módulos 1 e 2 incluído relatório, apresentação e demos.
bibliografia recomendada
Dada a rápida evolução desta área, qualquer tentativa de estabelecer uma bibliografia definitica é irrealista.
Para além da informação nos sítios officiais – com informação completa e de qualidade - recomendamos as séries da Apress sobre iOS e Android.
Android Developer
http://developer.android.com/index.html
iOS developer center
https://developer.apple.com/devcenter/ios/index.action