Ficha Unidade Curricular:

Programao de Aplicaes Mveis

Docente:

Rui Silva Moreira

Grau Acadmico:

Doutor

Categoria Funcional:

Professor Associado

Curso:

Engenharia Informtica

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:

Terico-Prtica (TP) e Prtica-Laboratorial (PL)

 

 

 

 

 

 

 

 

 

 

 

 

1        Introduo

Actualmente, cada vez mais comum e generalizada a utilizao de dispositivos mveis, e.g., telefones mveis ou Smart Phones, Personal Digital Assistants (PDAs), etc. Estes aparelhos evoluram de forma acentuada nos ltimos anos e possuem j capacidades de processamento, comunicao e memria significativas que permitem o desenvolvimento de aplicaes mveis complexas, envolvendo normalmente requisitos grficos e de comunicao considerveis que permitem aos utilizadores aceder infra-estrutura de informao de forma contnua e independentemente da localizao.

Existem muitos aspectos a considerar nas aplicaes mveis que as distinguem das aplicaes fixas/standalone e mesmo das aplicaes distribudas tradicionais. Por um lado estas aplicaes so executadas sobre plataformas e infra-estruturas que podem variar significativamente, tanto em termos de recursos fsicos (e.g., RAM, CPU, resoluo ecrs, etc.) como em termos de capacidades de comunicao (e.g., variedade de redes e protocolos, diferentes nveis de conectividade, flutuaes de largura de banda, etc.). Por outro lado, a natureza e/ou o domnio das prprias aplicaes exigem muitas vezes capacidades de adaptao para responder posio dos clientes/dispositivos mveis mas tambm a diferentes condies ambientais/contextuais (e.g., disponibilidade de recursos, tarefas agendadas, presena/ausncia de outras entidades, etc.). As primeiras, aplicaes mveis sensveis localizao, so j comuns e permitem oferecer informao aos utilizadores ou tomar decises baseados na sua localizao (e.g., lista de pontos de interesse numa dada zona, alternativas de caminhos a seguir, etc.). As segundas, aplicaes sensveis ao contexto, comeam a surgir em vrias reas e domnios de aplicao (e.g., monitorizao ambiental, deteco/alerta de cheias e incndios, controlo de ambientes residenciais, etc.); estas aplicaes dependem muito da interligao de mltiplos sensores e actuadores com um suporte de middleware capaz de monitorizar, gerir e despoletar decises e adaptaes dinmicas do sistema. Ambos os tipos de aplicaes desempenharo no futuro papis importantes no nosso dia-a-dia, contudo, iremos focar-nos principalmente nas aplicaes baseadas em dispositivos mveis.

Neste contexto, esta unidade curricular pretende dotar os alunos do curso de informtica de conhecimentos slidos sobre as tecnologias, plataformas e solues de desenvolvimento mais utilizadas actualmente com dispositivos mveis, nomeadamente as tecnologias J2ME, Android e .NET Compact Framework (CF). Assim, os objectivos principais desta unidade curricular passam pela identificao e caraterizao das principais plataformas mveis existentes, pelo conhecimento dos protocolos de comunicao mais utilizados por estas plataformas e pelo estudo das arquitecturas e das ferramentas de programao mais utilizadas no desenvolvimento de aplicaes mveis para estas plataformas. Os alunos devero, no final do semestre, estar familiarizados com os conceitos e tecnologias mveis e, em especial, a programao de aplicaes sensveis localizao. Devem ainda dominar as principais tecnologias e ferramentas de desenvolvimento de aplicaes mveis existentes e devero ser capazes de desenvolver aplicaes mveis para telefones mveis e PDAs, envolvendo no s os aspectos de interface grfica mais comuns, mas tambm os aspectos de comunicao (e.g., WiFi, Bluetooth, Ird), protocolos de comunicao ao nvel da aplicao (e.g., HTTP, SMS, MMS, Email) e segurana (e.g., criptografia, assinatura de cdigo).

2        Distribuio das Horas de Trabalho

ECTS:

Presencial: 6

No Presencial: 0

Total (Presencial + No Presencial): 6

 

Tipologia:

(x) Formao Especfica

( ) Formao Bsica

( ) Unidade Curricular de Opo

( ) Projecto de Graduao

 

Parcela                 (Horas)

Terica                                                                     

Terico-Prtica: 16

Prtica                                                                      

Prtica Laboratorial: 32

Ensino Clnico                                     

Seminrio                                             

Trabalho de Campo: 10

Estgio                                                                      

Orientao Tutorial: 10

Avaliao:

 

Nota: 1 ECTS = 26 horas

3        Requisitos Prvios

Linguagens de Programao 2 - Programao Orientada aos Objectos (POO)

4        Competncias / Resultados da Aprendizagem

Lista de competncias a alcanar no final da unidade curricular de acordo com o formato dos Descritores de Dublin:

1.     Conhecimento e capacidade de compreenso:

1.1.  Capacidade de identificao e descrio de vrios tipos de sistemas mveis existentes

1.2.  Capacidade de compreenso das tecnologias utilizadas em sistemas mveis

1.3.  Capacidade de caracterizao das principais plataformas de desenvolvimento de sistemas mveis

1.4.  Domnio das tcnicas e mtodos de estruturao e desenvolvimento de aplicaes mveis para diferentes plataformas

1.5.  Domnio das ferramentas J2ME, Android e .NET CF

2.     Aplicao de conhecimentos e compreenso:

2.1.  Conhecimentos para utilizar/aplicar a plataforma J2ME e a linguagem Java na estruturao e implementao de aplicaes mveis

2.2.  Conhecimentos para utilizar/aplicar a plataforma Android e linguagem Java na estruturao e implementao de aplicaes mveis

2.3.  Conhecimentos para utilizar/aplicar a plataforma .NET CF e linguagem C# na estruturao e implementao de aplicaes mveis

3.     Realizao de julgamento/tomada de decises:

3.1.  Capacidade para seleccionar e justificar a utilizao de uma plataforma de desenvolvimento mais adequada

3.2.  Capacidade para definir a arquitectura e a estrutura mais adequada a uma aplicao mvel

3.3.  Capacidade para escolher as solues tcnicas mais adequadas a uma aplicao mvel

4.     Comunicao:

4.1.  Capacidade de descrever/explicar a estrutura e funcionamento de uma aplicao mvel

4.2.  Capacidade para estruturar e desenvolver aplicaes mveis em grupo

4.3.  Capacidades de apresentao e justificao de utilizao de aplicaes mveis

5.     Competncias de auto-aprendizagem:

5.1.  Capacidade/curiosidade para conhecer e explorar ferramentas e linguagens de desenvolvimento de aplicaes mveis

5.2.  Capacidades de autonomia e de auto-disciplina para procurar solues alternativas e ultrapassar autonomamente dificuldades inerentes ao desenvolvimento de aplicaes mveis

5        Contedos Programticos

0.     Apresentao

0.1. Enquadramento e Objectivos

0.2. Metodologia e Sistema de Avaliao

0.3. Contedo Programtico e Bibliografia

1.     Introduo s Aplicaes Mveis

1.1. Caracterizao das aplicaes mveis

1.2. Evoluo das plataformas e aplicaes mveis

1.3. Caractersticas das plataformas mveis (CPU, RAM, IO)

1.4. Comunicaes sem fios (WiFi, Bluetooth, Ird)

1.5. Plataformas de desenvolvimento de aplicaes mveis

1.6. Anlise de exemplos de aplicaes mveis

2.     Desenho e Arquitectura de Aplicaes Mveis

2.1. Separao de aspectos e controlo da execuo

2.2. Aspectos de usabilidade e interface grfica

2.3. Aspectos de desempenho

2.4. Aspectos de execuo e resposta das aplicaes

2.5. Aspectos comunicao, localizao e sincronizao de dados

2.6. Aspectos de segurana em aplicaes mveis

2.7. Linguagens e ferramentas de desenvolvimento

2.7.1.     Breve introduo plataforma J2ME

2.7.2.     Breve introduo plataforma Android

2.7.3.     Breve introduo plataforma .NET CF

2.7.4.     Breve introduo plataforma Python (Nokia S60 Module)

2.7.5.     Breve introduo plataforma Carbide C++ (Symbian OS)

3.      Programao de Aplicaes Mveis 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 distribuio (JAR/JAD)

3.4.  Interfaces grficas e eventos (MIDlets)

3.5.  IO e persistncia (RMS)

3.6.  Comunicaes e segurana

3.7.  Jogos (2D) e Multimdia (Mobile Media)

4.      Programao de Aplicaes Mveis em Android

4.1.  Arquitectura Android

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

4.3.  Interfaces grficas e eventos

4.4.  Localizao, Mapas Multimdia

4.5.  Recursos e armazenamento de dados

4.6.  Comunicaes, segurana e permisses

6        Metodologia de Ensino-Aprendizagem e Execuo de ECTS

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

 

1. Apresentao; HC: 1

2. Introduo s Aplicaes Mveis; HC: 6; HEI: 6; ECTS: 0,5; B: [1], [2]

3. Arquitectura das Aplicaes Mveis; HC: 6; HEI: 6; ECTS: 0,5; B: [1], [2], [3], [4]

4. Programao de Aplicaes Mveis em J2ME; HC: 24h; HEI: 12; ECTS: 1,5; B: [3], [5]

5. Programao de Aplicaes Mveis 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 Avaliao

O sistema de avaliao desta disciplina segue na generalidade o regulamento pedaggico da UFP e define em especfico as seguintes regras de clculo:

 

1 - Avaliao contnua

A avaliao compreende duas componentes: uma componente Terico-Prtica (TP) e uma componente Prtica-Laboratorial (PL). A classificao final da disciplina ser calculada atravs da seguinte expresso:

 

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

 

Componente Terico-Prtica

A componente TP realiza-se de forma contnua e inclui os seguintes elementos de avaliao:

 

Um teste de avaliao individual: incide sobre os conhecimentos leccionados at ao momento em que ser realizado. O teste realiza-se prximo do fim do semestre (em data a combinar com os alunos) e englobar uma parte terica (e.g., contendo perguntas de escolha mltipla, verdadeiros/falso e respostas de desenvolvimento) e uma parte prtica (e.g., contendo o desenvolvimento de exemplos concretos de aplicaes para as plataformas abordadas nas aulas) .

 

Desempenho nas aulas: esta componente procurar avaliar a participao e o progresso dos alunos nas aulas e a capacidade para a realizao de exerccios.

 

A falta aos momentos de avaliao ser convertida numa nota 0 (zero) para efeitos de clculo da classificao. A classificao obtida na componente TP ser calculada atravs da seguinte expresso:

 

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

 

Componente Prtica-Laboratorial (PL)

A componente PL realiza-se de modo contnuo durante as aulas e atravs da realizao de projectos prticos realizados em grupo (mximo 2 alunos), sobre um ou mais temas propostos durante o semestre. A avaliao da componente PL inclui os seguintes elementos de avaliao:

 

Especificao sistema/aplicao mvel: os alunos devero entregar um relatrio a meio do semestre (em data a especificar) onde devem desenvolver a ideia e possveis funcionalidades do sistema mvel proposto.

 

Implementao sistema/aplicao mvel: os alunos devero projectar e desenvolver um sistema/aplicao mvel. Para demonstrar a utilizao 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 reviso bibliogrfica que demonstre o conhecimento dos alunos acerca das tecnologias e ferramentas utilizadas para o tema concreto proposto. O artigo dever ser entregue em formato electrnico, de acordo com o modelo das revistas do IEEE (a disponibilizar pelo docente) e possuir entre 5 a 6 pginas. Os alunos tero que marcar presena em pelo menos 2 sesses de discusso/anlise do trabalho durante as horas de atendimento para acompanhamento do projecto e/ou esclarecimento de dvidas. O artigo e a implementao devero ser defendidos em apresentao oral no final do semestre.

 

Desempenho nas aulas: esta componente procurar avaliar a participao e o progresso dos alunos nas aulas e a capacidade para a realizao de exerccios.

 

A falta aos momentos de avaliao ser convertida numa nota 0 (zero) para efeitos de clculo da classificao. A classificao obtida na componente PL ser calculada atravs da seguinte expresso:

Nota Componente PL = 20% Especificao Sistema/Aplicao Mvel + 70% Defesa Oral da Implementao Sistema/Aplicao Mvel + 10% Desempenho Aluno Aulas

 

O acesso s pocas de exame, relativas apenas componente TP, faz-se de acordo com o regulamento pedaggico. A componente PL no pode ser efectuada por exame.

 

2 - Exames

Os exames sero realizados de acordo com o regulamento pedaggico da UFP nos perodos previstos no cronograma e incidiro sobre a totalidade da matria includa no programa da disciplina. O docente poder solicitar o desenvolvimento de trabalhos com apresentao oral de modo a melhor aferir o nvel de conhecimentos e competncias alcanadas pelos alunos. A classificao final do aluno ser calculada utilizando a equao 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 Didcticos

Computador Porttil

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

Apresentao dos objectivos, programa, bibliografia e mtodo de avaliao. Introduo s Aplicaes Mveis: caracterizao das aplicaes mveis, evoluo das plataformas e aplicaes mveis, caractersticas das plataformas mveis (CPU, RAM, IO), comunicaes sem fios (e.g., WiFi, Bluetooth, Ird, etc.), plataformas de desenvolvimento de aplicaes mveis, anlise de exemplos de aplicaes mveis. Arquitectura das Aplicaes Mveis: separao de aspectos e controlo da execuo, aspectos de usabilidade e interface grfica, aspectos de desempenho, aspectos de execuo e resposta das aplicaes, aspectos de comunicao, localizao e sincronizao de dados, aspectos de segurana em aplicaes mveis, linguagens e ferramentas de desenvolvimento (cf. J2ME, Android, .NET CF, Python - Nokia S60 Module; Carbide C++ - Symbian OS). Programao de Aplicaes Mveis em J2ME: arquitectura do J2ME (CDC & CLDC, MIDP), ferramentas de desenvolvimento (NetBeans), ciclo de desenvolvimento e distribuio (JAR/JAD), interfaces grficas e eventos (MIDlets), IO e persistncia (RMS), comunicaes e segurana (dados/rede), jogos (2D) e multimdia (Mobile Media); Programao de Aplicaes Mveis em Android: arquitectura Android, ferramentas de desenvolvimento (Eclipse + ADT pluggin), interfaces grficas, localizao e mapas, multimdia, recursos e armazenamento de dados, segurana e permisses.

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:

Programao de Aplicaes Mveis / 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:

Caracterizao e evoluo das aplicaes e plataformas  mveis; Desenvolvimento de aplicaes mveis.

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

Course Description:

1. Introduo s Aplicaes Mveis

2. Desenho e Arquitectura das Aplicaes Mveis

3. Programao de Aplicaes Mveis em J2ME

4. Programao de Aplicaes Mveis 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 tericas e prticas / Theoretical and practical classes

Prerequisites

Programao 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, aptides e competncias a desenvolver pelos estudantes) – 1000 caracteres

Esta unidade curricular pretende dotar os alunos de conhecimentos slidos sobre as tecnologias, plataformas e solues de desenvolvimento mais utilizadas atualmente com dispositivos mveis. Os objectivos principais desta unidade curricular passam pela identificao e caraterizao das principais plataformas mveis existentes, pelo conhecimento dos protocolos de comunicao mais utilizados por estas plataformas e pelo estudo das arquiteturas e das ferramentas de programao mais utilizadas no desenvolvimento de aplicaes mveis para estas plataformas. Os alunos devero ficar familiarizados com os conceitos e tecnologias mveis existentes, dominar as principais tecnologias e ferramentas de desenvolvimento de aplicaes mveis e ser capazes de desenvolver aplicaes mveis para telefones mveis e PDAs, envolvendo no s os aspectos de interface grfica mais comuns, mas tambm os aspectos de comunicao ao nvel da aplicao (e.g., HTTP, etc.) e segurana (e.g., criptografia, assinatura de cdigo).

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        Contedos Programticos – 1000 caracteres

1. Introduo s Aplicaes Mveis

2. Desenho e Arquitetura das Aplicaes Mveis

3. Programao de Aplicaes Mveis em J2ME

4. Programao de Aplicaes Mveis 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        Demonstrao da coerncia dos contedos programticos com os objetivos de aprendizagem da unidade curricular – 1000 caracteres

Os contedos programticos esto coerentes com os objectivos de aprendizagem na medida em que abordam os temas principais sobre a caracterizao das plataformas mveis existentes bem como a programao de aplicaes para estas plataformas, que devero ser dominados pelos alunos no final da unidade curricular.  Em particular comea-se por abordar os conceitos fundamentais inerentes aos diferentes aspectos que caracterizam as plataformas e ferramentas mveis existentes bem como a estruturao de aplicaes para estas plataformas. Particulariza-se inicialmente o estudo nas ferramentas J2ME e posteriormente na plataforma Android. Todos os temas abordados so exemplificados com a aplicao em vrios exerccios concretos. Os objectivos da aprendizagem esto portanto alinhados com os temas abordados tanto ao nvel terico-prtico como prtico, 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 (avaliao includa) – 1000 caracteres

Esta unidade curricular est organizada em aulas terico-prticas (TP) e prticas (PR). A metodologia de ensino utilizada no mbito das aulas TP baseia-se na exposio oral dos contedos programticos e na sua imediata exemplificao em exerccios concretos sobre os temas abordados nomeadamente na programao de aplicaes mveis para as plataformas abordadas. Paralelamente, no contexto das aulas prticas laboratoriais, os alunos tm oportunidade de  aplicar e desenvolver exerccios adicionais que complementam a base de experincias com os temas abordados. A avaliao contnua, 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 realizao de um projeto prtico cujos requisitos so 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        Demonstrao da coerncia 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 mveis existentes, bem como a implementao de aplicaes para estas plataformas. Procura-se ainda que os alunos desenvolvam competncias prticas na estruturao e desenvolvimento de aplicaes mveis concretizados nas ferramentas de desenvolvimento propostas. As aulas terico-prticas e em particular as aulas prticas laboratoriais permitem um contato permanente com a modelizao e implementao de aplicaes mveis, facilitando portanto o progresso gradual no desenvolvimento destas aplicaes para as plataformas existentes. Esta experincia e contato com contextos prticos concretos permite melhorar o conhecimento das plataformas mveis e ferramentas de desenvolvimento existentes, que essencial para aumentar as competncias tcnicas e de programao 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/existncia obrigatria – 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.