|
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) |
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).
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
Linguagens de Programa�‹o 2 - Programa�‹o Orientada aos Objectos (POO)
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
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
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
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.
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.
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)
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.
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.
|
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
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).
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).
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
1. Introduction to
Mobile Applications
2. Design
and Architecture of Mobile Applications
3. Programming mobile
Applications with J2ME
4. Programming mobile
Applications with Android
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.
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.
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.
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.
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.
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.
[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.