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.