Ficha Unidade Curricular:

Programaćčo de Aplicaćões Móveis

Docente:

Rui Silva Moreira

Grau Académico:

Doutor

Categoria Funcional:

Professor Associado

Curso:

Engenharia Informática

Ciclo De Estudos:

2ľ Ciclo

Ano Lectivo:

2015-2016

Semestre Curricular:

1ľ Semestre

N.ľ Total ECTS:

3

N.ľ ECTS Contacto:

2,5

Tipologia Das Aulas:

Teórico-Prática (TP) e Prática-Laboratorial (PL)

 

 

 

 

 

 

 

 

 

 

 

 

1        Introdućčo

Actualmente, é cada vez mais comum e generalizada a utilizaćčo de dispositivos móveis, e.g., telefones móveis ou Smart Phones, Personal Digital Assistants (PDAs), etc. Estes aparelhos evoluíram de forma acentuada nos últimos anos e possuem já capacidades de processamento, comunicaćčo e memória significativas que permitem o desenvolvimento de aplicaćões móveis complexas, envolvendo normalmente requisitos gráficos e de comunicaćčo consideráveis que permitem aos utilizadores aceder ą infra-estrutura de informaćčo de forma contínua e independentemente da localizaćčo.

Existem muitos aspectos a considerar nas aplicaćões móveis que as distinguem das aplicaćões fixas/standalone e mesmo das aplicaćões distribuídas tradicionais. Por um lado estas aplicaćões sčo executadas sobre plataformas e infra-estruturas que podem variar significativamente, tanto em termos de recursos físicos (e.g., RAM, CPU, resolućčo ecrčs, etc.) como em termos de capacidades de comunicaćčo (e.g., variedade de redes e protocolos, diferentes níveis de conectividade, flutuaćões de largura de banda, etc.). Por outro lado, a natureza e/ou o domínio das próprias aplicaćões exigem muitas vezes capacidades de adaptaćčo para responder ą posićčo dos clientes/dispositivos móveis mas também a diferentes condićões ambientais/contextuais (e.g., disponibilidade de recursos, tarefas agendadas, presenća/ausźncia de outras entidades, etc.). As primeiras, aplicaćões móveis sensíveis ą localizaćčo, sčo já comuns e permitem oferecer informaćčo aos utilizadores ou tomar decisões baseados na sua localizaćčo (e.g., lista de pontos de interesse numa dada zona, alternativas de caminhos a seguir, etc.). As segundas, aplicaćões sensíveis ao contexto, comećam a surgir em várias áreas e domínios de aplicaćčo (e.g., monitorizaćčo ambiental, detecćčo/alerta de cheias e incźndios, controlo de ambientes residenciais, etc.); estas aplicaćões dependem muito da interligaćčo de múltiplos sensores e actuadores com um suporte de middleware capaz de monitorizar, gerir e despoletar decisões e adaptaćões dinČmicas do sistema. Ambos os tipos de aplicaćões desempenharčo no futuro papéis importantes no nosso dia-a-dia, contudo, iremos focar-nos principalmente nas aplicaćões baseadas em dispositivos móveis.

Neste contexto, esta unidade curricular pretende dotar os alunos do curso de informática de conhecimentos sólidos sobre as tecnologias, plataformas e solućões de desenvolvimento mais utilizadas actualmente com dispositivos móveis, nomeadamente as tecnologias J2ME, Android e .NET Compact Framework (CF). Assim, os objectivos principais desta unidade curricular passam pela identificaćčo e caraterizaćčo das principais plataformas móveis existentes, pelo conhecimento dos protocolos de comunicaćčo mais utilizados por estas plataformas e pelo estudo das arquitecturas e das ferramentas de programaćčo mais utilizadas no desenvolvimento de aplicaćões móveis para estas plataformas. Os alunos deverčo, no final do semestre, estar familiarizados com os conceitos e tecnologias móveis e, em especial, a programaćčo de aplicaćões sensíveis ą localizaćčo. Devem ainda dominar as principais tecnologias e ferramentas de desenvolvimento de aplicaćões móveis existentes e deverčo ser capazes de desenvolver aplicaćões móveis para telefones móveis e PDAs, envolvendo nčo só os aspectos de interface gráfica mais comuns, mas também os aspectos de comunicaćčo (e.g., WiFi, Bluetooth, Ird), protocolos de comunicaćčo ao nível da aplicaćčo (e.g., HTTP, SMS, MMS, Email) e seguranća (e.g., criptografia, assinatura de código).

2        Distribuićčo das Horas de Trabalho

ECTS:

Presencial: 6

Nčo Presencial: 0

Total (Presencial + Nčo Presencial): 6

 

Tipologia:

(x) Formaćčo Específica

( ) Formaćčo Básica

( ) Unidade Curricular de Općčo

( ) Projecto de Graduaćčo

 

Parcela                 (Horas)

Teórica                                                                     

Teórico-Prática: 16

Prática                                                                      

Prática Laboratorial: 32

Ensino Clínico                                     

Seminário                                             

Trabalho de Campo: 10

Estágio                                                                      

Orientaćčo Tutorial: 10

Avaliaćčo:

 

Nota: 1 ECTS = 26 horas

3        Requisitos Prévios

Linguagens de Programaćčo 2 - Programaćčo Orientada aos Objectos (POO)

4        Competźncias / Resultados da Aprendizagem

Lista de competźncias a alcanćar no final da unidade curricular de acordo com o formato dos Descritores de Dublin:

1.     Conhecimento e capacidade de compreensčo:

1.1.  Capacidade de identificaćčo e descrićčo de vários tipos de sistemas móveis existentes

1.2.  Capacidade de compreensčo das tecnologias utilizadas em sistemas móveis

1.3.  Capacidade de caracterizaćčo das principais plataformas de desenvolvimento de sistemas móveis

1.4.  Domínio das técnicas e métodos de estruturaćčo e desenvolvimento de aplicaćões móveis para diferentes plataformas

1.5.  Domínio das ferramentas J2ME, Android e .NET CF

2.     Aplicaćčo de conhecimentos e compreensčo:

2.1.  Conhecimentos para utilizar/aplicar a plataforma J2ME e a linguagem Java na estruturaćčo e implementaćčo de aplicaćões móveis

2.2.  Conhecimentos para utilizar/aplicar a plataforma Android e linguagem Java na estruturaćčo e implementaćčo de aplicaćões móveis

2.3.  Conhecimentos para utilizar/aplicar a plataforma .NET CF e linguagem C# na estruturaćčo e implementaćčo de aplicaćões móveis

3.     Realizaćčo de julgamento/tomada de decisões:

3.1.  Capacidade para seleccionar e justificar a utilizaćčo de uma plataforma de desenvolvimento mais adequada

3.2.  Capacidade para definir a arquitectura e a estrutura mais adequada a uma aplicaćčo móvel

3.3.  Capacidade para escolher as solućões técnicas mais adequadas a uma aplicaćčo móvel

4.     Comunicaćčo:

4.1.  Capacidade de descrever/explicar a estrutura e funcionamento de uma aplicaćčo móvel

4.2.  Capacidade para estruturar e desenvolver aplicaćões móveis em grupo

4.3.  Capacidades de apresentaćčo e justificaćčo de utilizaćčo de aplicaćões móveis

5.     Competźncias de auto-aprendizagem:

5.1.  Capacidade/curiosidade para conhecer e explorar ferramentas e linguagens de desenvolvimento de aplicaćões móveis

5.2.  Capacidades de autonomia e de auto-disciplina para procurar solućões alternativas e ultrapassar autonomamente dificuldades inerentes ao desenvolvimento de aplicaćões móveis

5        Conteúdos Programáticos

0.     Apresentaćčo

0.1. Enquadramento e Objectivos

0.2. Metodologia e Sistema de Avaliaćčo

0.3. Conteúdo Programático e Bibliografia

1.     Introdućčo ąs Aplicaćões Móveis

1.1. Caracterizaćčo das aplicaćões móveis

1.2. Evolućčo das plataformas e aplicaćões móveis

1.3. Características das plataformas móveis (CPU, RAM, IO)

1.4. Comunicaćões sem fios (WiFi, Bluetooth, Ird)

1.5. Plataformas de desenvolvimento de aplicaćões móveis

1.6. Análise de exemplos de aplicaćões móveis

2.     Desenho e Arquitectura de Aplicaćões Móveis

2.1. Separaćčo de aspectos e controlo da execućčo

2.2. Aspectos de usabilidade e interface gráfica

2.3. Aspectos de desempenho

2.4. Aspectos de execućčo e resposta das aplicaćões

2.5. Aspectos comunicaćčo, localizaćčo e sincronizaćčo de dados

2.6. Aspectos de seguranća em aplicaćões móveis

2.7. Linguagens e ferramentas de desenvolvimento

2.7.1.     Breve introdućčo ą plataforma J2ME

2.7.2.     Breve introdućčo ą plataforma Android

2.7.3.     Breve introdućčo ą plataforma .NET CF

2.7.4.     Breve introdućčo ą plataforma Python (Nokia S60 Module)

2.7.5.     Breve introdućčo ą plataforma Carbide C++ (Symbian OS)

3.      Programaćčo de Aplicaćões Móveis em J2ME

3.1.  Arquitectura J2ME (CDC & CLDC, MIDP)

3.2.  Ferramentas de desenvolvimento (NetBeans e Java ME SDK)

3.3.  Ciclo de desenvolvimento e distribuićčo (JAR/JAD)

3.4.  Interfaces gráficas e eventos (MIDlets)

3.5.  IO e persistźncia (RMS)

3.6.  Comunicaćões e seguranća

3.7.  Jogos (2D) e Multimédia (Mobile Media)

4.      Programaćčo de Aplicaćões Móveis em Android

4.1.  Arquitectura Android

4.2.  Ferramentas de desenvolvimento (Android Studio, Eclipse/Netbeans/Pluggins)

4.3.  Interfaces gráficas e eventos

4.4.  Localizaćčo, Mapas Multimédia

4.5.  Recursos e armazenamento de dados

4.6.  Comunicaćões, seguranća e permissões

6        Metodologia de Ensino-Aprendizagem e Execućčo de ECTS

Designaćčo da unidade lectiva; Horas Contacto (HC) - (T+TP+P+L+TC+OT); Horas de Estudo Individual (HEI); ECTS; Bibliografia (B)

 

1. Apresentaćčo; HC: 1

2. Introdućčo ąs Aplicaćões Móveis; HC: 6; HEI: 6; ECTS: 0,5; B: [1], [2]

3. Arquitectura das Aplicaćões Móveis; HC: 6; HEI: 6; ECTS: 0,5; B: [1], [2], [3], [4]

4. Programaćčo de Aplicaćões Móveis em J2ME; HC: 24h; HEI: 12; ECTS: 1,5; B: [3], [5]

5. Programaćčo de Aplicaćões Móveis em Android: HC: 12; HEI: 6; ECTS: 0,5; B: [4]

 

Horas Contacto (TP+PL): 68

Horas Estudo Individual: 10

Horas Totais: 78

ECTS: 3

Nľ ECTS = Nľ horas/26

7        Sistema de Avaliaćčo

O sistema de avaliaćčo desta disciplina segue na generalidade o regulamento pedagógico da UFP e define em específico as seguintes regras de cálculo:

 

1 - Avaliaćčo contínua

A avaliaćčo compreende duas componentes: uma componente Teórico-Prática (TP) e uma componente Prática-Laboratorial (PL). A classificaćčo final da disciplina será calculada através da seguinte expressčo:

 

Nota final = 50% Nota Componente TP + 50% Nota Componente PL

 

Componente Teórico-Prática

A componente TP realiza-se de forma contínua e inclui os seguintes elementos de avaliaćčo:

 

• Um teste de avaliaćčo individual: incide sobre os conhecimentos leccionados até ao momento em que será realizado. O teste realiza-se próximo do fim do semestre (em data a combinar com os alunos) e englobará uma parte teórica (e.g., contendo perguntas de escolha múltipla, verdadeiros/falso e respostas de desenvolvimento) e uma parte prática (e.g., contendo o desenvolvimento de exemplos concretos de aplicaćões para as plataformas abordadas nas aulas) .

 

• Desempenho nas aulas: esta componente procurará avaliar a participaćčo e o progresso dos alunos nas aulas e a capacidade para a realizaćčo de exercícios.

 

A falta aos momentos de avaliaćčo será convertida numa nota 0 (zero) para efeitos de cálculo da classificaćčo. A classificaćčo obtida na componente TP será calculada através da seguinte expressčo:

 

Nota Componente TP = 90% Teste + 10% Desempenho Aluno Aulas

 

Componente Prática-Laboratorial (PL)

A componente PL realiza-se de modo contínuo durante as aulas e através da realizaćčo de projectos práticos realizados em grupo (máximo 2 alunos), sobre um ou mais temas propostos durante o semestre. A avaliaćčo da componente PL inclui os seguintes elementos de avaliaćčo:

 

• Especificaćčo sistema/aplicaćčo móvel: os alunos deverčo entregar um relatório a meio do semestre (em data a especificar) onde devem desenvolver a ideia e possíveis funcionalidades do sistema móvel proposto.

 

• Implementaćčo sistema/aplicaćčo móvel: os alunos deverčo projectar e desenvolver um sistema/aplicaćčo móvel. Para demonstrar a utilizaćčo e substanciar a exequibilidade do sistema, este deverá ser prototipado utilizando as ferramentas/tecnologias abordadas nas aulas. O resultado final deverá dar origem a um artigo com os requisitos, arquitectura e funcionalidade do sistema bem como das tecnologias utilizadas. Terá ainda que incluir uma revisčo bibliográfica que demonstre o conhecimento dos alunos acerca das tecnologias e ferramentas utilizadas para o tema concreto proposto. O artigo deverá ser entregue em formato electrónico, de acordo com o modelo das revistas do IEEE (a disponibilizar pelo docente) e possuir entre 5 a 6 páginas. Os alunos terčo que marcar presenća em pelo menos 2 sessões de discussčo/análise do trabalho durante as horas de atendimento para acompanhamento do projecto e/ou esclarecimento de dúvidas. O artigo e a implementaćčo deverčo ser defendidos em apresentaćčo oral no final do semestre.

 

• Desempenho nas aulas: esta componente procurará avaliar a participaćčo e o progresso dos alunos nas aulas e a capacidade para a realizaćčo de exercícios.

 

A falta aos momentos de avaliaćčo será convertida numa nota 0 (zero) para efeitos de cálculo da classificaćčo. A classificaćčo obtida na componente PL será calculada através da seguinte expressčo:

Nota Componente PL = 20% Especificaćčo Sistema/Aplicaćčo Móvel + 70% Defesa Oral da Implementaćčo Sistema/Aplicaćčo Móvel + 10% Desempenho Aluno Aulas

 

O acesso ąs épocas de exame, relativas apenas ą componente TP, faz-se de acordo com o regulamento pedagógico. A componente PL nčo pode ser efectuada por exame.

 

2 - Exames

Os exames serčo realizados de acordo com o regulamento pedagógico da UFP nos períodos previstos no cronograma e incidirčo sobre a totalidade da matéria incluída no programa da disciplina. O docente poderá solicitar o desenvolvimento de trabalhos com apresentaćčo oral de modo a melhor aferir o nível de conhecimentos e competźncias alcanćadas pelos alunos. A classificaćčo final do aluno será calculada utilizando a equaćčo indicada acima.

8        Bibliografia

Principal

[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] K. Topley, J2ME in a Nutshell, O'Reilly Java series, O'Reilly, 2002

[4] J. Box, D. Fox, Building Solutions with the Microsoft .Net Compact Framework: Architecture and Best Practices for Mobile Development, Addison-Wesley, 2003.

[5] Android Developers, http://developer.android.com/, visitado em Setembro 2010.

 

Complementar

[6] M. Juntao Yuan, Enterprise J2ME: Developing Mobile Java Applications, Prentice Hall PTR, 2004.

[7] P. Yao, D. Durant, .NET Compact Framework Programming with C#, Microsoft .NET Development Series, Prentice Hall PTR, 2004.

9        Recursos Didácticos

Computador Portátil

Ambientes de desenvolvimento

Netbeans IDE, http://www.netbeans.org/downloads

Eclipse IDE, http://www.eclipse.org/downloads/

Android SDK + ADT, http://developer.android.com/index.html

Visual Studio & .NET Compact Framework (CD-ROM)

10    Resumo

Apresentaćčo dos objectivos, programa, bibliografia e método de avaliaćčo. Introdućčo ąs Aplicaćões Móveis: caracterizaćčo das aplicaćões móveis, evolućčo das plataformas e aplicaćões móveis, características das plataformas móveis (CPU, RAM, IO), comunicaćões sem fios (e.g., WiFi, Bluetooth, Ird, etc.), plataformas de desenvolvimento de aplicaćões móveis, análise de exemplos de aplicaćões móveis. Arquitectura das Aplicaćões Móveis: separaćčo de aspectos e controlo da execućčo, aspectos de usabilidade e interface gráfica, aspectos de desempenho, aspectos de execućčo e resposta das aplicaćões, aspectos de comunicaćčo, localizaćčo e sincronizaćčo de dados, aspectos de seguranća em aplicaćões móveis, linguagens e ferramentas de desenvolvimento (cf. J2ME, Android, .NET CF, Python - Nokia S60 Module; Carbide C++ - Symbian OS). Programaćčo de Aplicaćões Móveis em J2ME: arquitectura do J2ME (CDC & CLDC, MIDP), ferramentas de desenvolvimento (NetBeans), ciclo de desenvolvimento e distribuićčo (JAR/JAD), interfaces gráficas e eventos (MIDlets), IO e persistźncia (RMS), comunicaćões e seguranća (dados/rede), jogos (2D) e multimédia (Mobile Media); Programaćčo de Aplicaćões Móveis em Android: arquitectura Android, ferramentas de desenvolvimento (Eclipse + ADT pluggin), interfaces gráficas, localizaćčo e mapas, multimédia, recursos e armazenamento de dados, seguranća e permissões.

11    Abstract

Presentation of the goals, syllabus, bibliography and evaluation methods. Introduction to mobile applications: characterization of mobile applications, evolutions of mobile platforms and mobile applications, characteristics of the mobile platforms (CPU, RAM, IO), wireless communication (e.g., WiFi, Bluetooth, Ird, etc.), mobile applications development platforms, analysis of mobile application examples. Mobile applications architecture: separation of concerns/aspects and execution control, usability aspects and graphic interface, performance aspects, responsiveness aspects, communication, local and data synchronization aspects, security aspects of mobile applications, programming languages and development tools (cf. J2ME, Android, .NET CF, Python - Nokia S60 Module; Carbide C++ - Symbian OS). Programming mobile applications with J2ME: J2ME architecture (CDC & CLDC, MIDP), development tools (NetBeans), development cycle and distribution (JAR/JAD), graphical user interfaces and events (MIDlets), IO and persistency (RMS), communications and security, games (2D) and multimedia (Mobile Media), games and multimedia (Mobile Media); Programming mobile applications with Android: Android architecture, development tools (Eclipse + ADT pluggin), GUIs, location and maps, multimedia, resources and data storage, security and permissions.

 


 

12    ECTS

Course Title:

Programaćčo de Aplicaćões Móveis / Mobile Applications Programming

Code

Language of Instruction

12.1.1.1 PT/UK

Assessment Method

Exame & Projecto

Exam & Project

Level of Course

 

Undergraduate

Number of Credits

3 ECTS

Year of Studies

Name of Lecturer

Rui Moreira

Spring Semester      x

 

Total Hours:

78

Course Objectives:

Caracterizaćčo e evolućčo das aplicaćões e plataformas  móveis; Desenvolvimento de aplicaćões móveis.

Characterization and evolution of  mobile applications and platforms; Development of mobile applications.

Course Description:

1. Introdućčo ąs Aplicaćões Móveis

2. Desenho e Arquitectura das Aplicaćões Móveis

3. Programaćčo de Aplicaćões Móveis em J2ME

4. Programaćčo de Aplicaćões Móveis em Android

 

1. Introduction to Mobile Applications

2. Design and Architecture of Mobile Applications

3. Programming mobile Applications with J2ME

4. Programming mobile Applications with Android

 

 

 

 

 

 

 

Obligatory Reading

[1] G. Coulouris, J. Dollimore & T. Kindberg, Distributed Systems: Concepts and Design, 5th Edition, Addison Wesley, 2011.

[2] T. Mikkonen, Programming Mobile Devices: an introduction for practitioners, John Wiley & Sons, 2007.

[3] K. Topley, J2ME in a Nutshell, O'Reilly Java series, O'Reilly, 2002

[4] Android Developers, http://developer.android.com/, visitado em Setembro 2010.

[5] J. Box, D. Fox, Building Solutions with the Microsoft .Net Compact Framework: Architecture and Best Practices for Mobile Development, Addison-Wesley, 2003.

Supplementary Reading

[6] M. Juntao Yuan, Enterprise J2ME: Developing Mobile Java Applications, Prentice Hall PTR, 2004.

[7] P. Yao, D. Durant, .NET Compact Framework Programming with C#, Microsoft .NET Development Series, Prentice Hall PTR, 2004.

Method of Teaching

Aulas teóricas e práticas / Theoretical and practical classes

Prerequisites

Programaćčo OO & Redes de Computadores / OO Programming & Computer Networking

Assessment method

 

 

 

 

 

Exame & trabalhos.

Exam & projects.

Responsible person

Rui Moreira

e-mail: rmoreira@ufp.edu.pt

 

 


 

Modelo A3ES: PAM

 

1        Objetivos de Aprendizagem (conhecimentos, aptidões e competźncias a desenvolver pelos estudantes) – 1000 caracteres

Esta unidade curricular pretende dotar os alunos de conhecimentos sólidos sobre as tecnologias, plataformas e solućões de desenvolvimento mais utilizadas atualmente com dispositivos móveis. Os objectivos principais desta unidade curricular passam pela identificaćčo e caraterizaćčo das principais plataformas móveis existentes, pelo conhecimento dos protocolos de comunicaćčo mais utilizados por estas plataformas e pelo estudo das arquiteturas e das ferramentas de programaćčo mais utilizadas no desenvolvimento de aplicaćões móveis para estas plataformas. Os alunos deverčo ficar familiarizados com os conceitos e tecnologias móveis existentes, dominar as principais tecnologias e ferramentas de desenvolvimento de aplicaćões móveis e ser capazes de desenvolver aplicaćões móveis para telefones móveis e PDAs, envolvendo nčo só os aspectos de interface gráfica mais comuns, mas também os aspectos de comunicaćčo ao nível da aplicaćčo (e.g., HTTP, etc.) e seguranća (e.g., criptografia, assinatura de código).

Learning Goals (knowledge, skills and competences to be developed by students)

This course aims to provide students with solid knowledge about the technologies, development platforms and solutions currently used for existing mobile devices. The main objectives of this course go through the identification and characterization of the major available mobile platforms, the knowledge of the used communication protocols by most of these platforms and the study of architectures and programming tools used for developing mobile applications on these platforms. Students should be familiar with the concepts and existing mobile technologies, mastering key technologies and mobile application development tools and be able to develop mobile applications for mobile phones and PDAs, involving not only the aspects related with graphical interfaces, but also the aspects of communication at the application level (e.g., HTTP, etc.) and security (e.g., encryption, code signing).

2        Conteúdos Programáticos – 1000 caracteres

1. Introdućčo ąs Aplicaćões Móveis

2. Desenho e Arquitetura das Aplicaćões Móveis

3. Programaćčo de Aplicaćões Móveis em J2ME

4. Programaćčo de Aplicaćões Móveis em Android

 

Program Content

1. Introduction to Mobile Applications

2. Design and Architecture of Mobile Applications

3. Programming mobile Applications with J2ME

4. Programming mobile Applications with Android

 

3        Demonstraćčo da coerźncia dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular – 1000 caracteres

Os conteúdos programáticos estčo coerentes com os objectivos de aprendizagem na medida em que abordam os temas principais sobre a caracterizaćčo das plataformas móveis existentes bem como a programaćčo de aplicaćões para estas plataformas, que deverčo ser dominados pelos alunos no final da unidade curricular.  Em particular comeća-se por abordar os conceitos fundamentais inerentes aos diferentes aspectos que caracterizam as plataformas e ferramentas móveis existentes bem como a estruturaćčo de aplicaćões para estas plataformas. Particulariza-se inicialmente o estudo nas ferramentas J2ME e posteriormente na plataforma Android. Todos os temas abordados sčo exemplificados com a aplicaćčo em vários exercícios concretos. Os objectivos da aprendizagem estčo portanto alinhados com os temas abordados tanto ao nível teórico-prático como prático, sendo aplicados em exemplos variados concretos tanto nas aulas como em trabalhos para casa.

Demonstration of the consistency between the syllabus and the learning objectives of the course

The contents are consistent with the learning objectives since they address the main issues on the characterization of existing mobile platforms and programming applications for these platforms, which must be mastered by the students at the end of the course. In particular it begins by addressing the fundamental concepts associated with the different aspects that characterize the existing mobile platforms and tools as well as the structure of applications for these platforms. In particular, initially the study covers the J2ME framework and later the Android platform and tools. All topics covered are exemplified with several practical exercises. The learning objectives are therefore aligned with the themes addressed both at the practical and theoretical-practical levels, and applied on various concrete examples both in classes and homework assignments.

 

4        Metodologias de ensino (avaliaćčo incluída) – 1000 caracteres

Esta unidade curricular está organizada em aulas teórico-práticas (TP) e práticas (PR). A metodologia de ensino utilizada no Čmbito das aulas TP baseia-se na exposićčo oral dos conteúdos programáticos e na sua imediata exemplificaćčo em exercícios concretos sobre os temas abordados nomeadamente na programaćčo de aplicaćões móveis para as plataformas abordadas. Paralelamente, no contexto das aulas práticas laboratoriais, os alunos tźm oportunidade de  aplicar e desenvolver exercícios adicionais que complementam a base de experiźncias com os temas abordados. A avaliaćčo é contínua, contemplando em partes iguais a componente TP e PR. A componente TP é avaliada por um exame realizado durante o semestre. A componente PR é avaliada pela realizaćčo de um projeto prático cujos requisitos sčo propostos durante o semestre.

Teaching methodologies (including evaluation)

This course is organized into theoretic-practical (TP) and practical (PR) classes. The teaching methodology used within TP classes is based on the oral presentation of the course contents with exemplification of concrete exercises covering the presented topics, especially he one related with programming mobile applications for the addressed platforms. Meanwhile, in the context of laboratory classes, students have the opportunity to apply and develop additional exercises that complement the basis of experience with the covered topics. The assessment is continuous, contemplating in equal parts the TP and PR components. The TP component is assessed by an exam at the end of the semester. The PR component is assessed through practical projects whose requirements are proposed during the semester.

 

5        Demonstraćčo da coerźncia das metodologias de ensino com os objetivos de aprendizagem da unidade curricular – 3000 caracteres

As metodologias de ensino aplicadas nesta unidade curricular procuram levar os alunos a contactar e a conhecer os diferentes aspectos das plataformas e ferramentas móveis existentes, bem como a implementaćčo de aplicaćões para estas plataformas. Procura-se ainda que os alunos desenvolvam competźncias práticas na estruturaćčo e desenvolvimento de aplicaćões móveis concretizados nas ferramentas de desenvolvimento propostas. As aulas teórico-práticas e em particular as aulas práticas laboratoriais permitem um contato permanente com a modelizaćčo e implementaćčo de aplicaćões móveis, facilitando portanto o progresso gradual no desenvolvimento destas aplicaćões para as plataformas existentes. Esta experiźncia e contato com contextos práticos concretos permite melhorar o conhecimento das plataformas móveis e ferramentas de desenvolvimento existentes, que é essencial para aumentar as competźncias técnicas e de programaćčo nesta área.

Demonstration of the consistency between the teaching methodologies with the learning objectives of the course

Teaching methodologies applied in this course seek to lead students to contact and know the different aspects of the existing mobile platforms and tools as well as the implementation of applications for these platforms. Furthermore, it intents students to develop practical skills in structuring and developing mobile applications, implemented using the proposed mobile tools. The theoretic-practical classes, and in particular the laboratory classes, allow permanent contact with modeling and implementation tasks of mobile applications, thus facilitating the gradual progress in developing these applications for existing platforms. This experience and contact with concrete practical contexts improves the knowledge about mobile platforms and existing development tools, which is essential for increasing the technical and programming skills in this area.

 

6        Bibliografia de consulta/existźncia obrigatória – 1000 caracteres

[1] G. Coulouris, J. Dollimore & T. Kindberg, Distributed Systems: Concepts and Design, 5th Edition, Addison Wesley, 2011.

[2] T. Mikkonen, Programming Mobile Devices: an introduction for practitioners, John Wiley & Sons, 2007.

[3] K. Topley, J2ME in a Nutshell, O'Reilly Java series, O'Reilly, 2002

[4] Android Developers, http://developer.android.com/, visitado em Setembro 2010.

[5] J. Box, D. Fox, Building Solutions with the Microsoft .Net Compact Framework: Architecture and Best Practices for Mobile Development, Addison-Wesley, 2003.