>>Breve descrição do Curso<< >>Informações para Inscrição<< >>Disciplinas do Curso<< >>Regulamento do CEI<< >>Processo Seletivo<< >>Informações para Alunos<< >>Página da Especialização<<

 

Disciplina: DCCxxx: Programação para Dispositivos Móveis
Professores responsáveis: Fernando Magno Quintão Pereira ou Luiz Felipe Menezes Vieira
Carga Horária: 30 horas
Créditos: 2
Pré-Requisitos: Conhecimentos básicos de programação orientada por objetos
Tipo: Optativa

Objetivos

Essa disciplina cumpre dois objetivos. Em primeiro lugar, ela introduz o aluno às noções básicas de programação para dispositivos móveis, em particular tablets e smartphones.
Em segundo lugar, a disciplina permite que o aluno exercite os conceitos de programação orientada a objetos e engenharia de software que foram obtidos ao longo do Curso de Especialização em Informática.

Ementa

  1. Interfaces gráficas para dispositivos móveis.
  2. Tratamento de eventos.
  3. Aplicações multimí­dia.
  4. Comunicação entre processos.
  5. Comunicação com servidores.
  6. Persistência de dados.
  7. Provedores de conteúdo.
  8. Geolocalização.
  9. Mapas.
  10. Extreme Programming.

Programa

1 Interfaces gráficas para dispositivos móveis.
1.1 Criação e organização de Janelas gráficas.
1.2 Estruturação de ambientes gráficos via descrição textual.
1.3 Programação modular de ambientes gráficos.
1.4 O padrão de projetos composite.
1.5 Os componentes gráficos mais comuns.
2. Tratamento de eventos.
2.1 Padrões de projetos mais comuns para tratamento de eventos.
2.2 Componentes gráficos, eventos relacionados, e formas de tratamento.
2.3 O padrão de projetos Command.
3. Aplicações multimí­dia.
3.1 Armazenamento e processamento de dados multimí­dia.
3.2 Tratamento de eventos relacionados a imagens e sons.
4. Comunicação entre processos.
4.1 Programação multi-threading.
4.2 Técnicas modulares de desenvolvimento de escutadores de eventos.
4.3 Organização e tratamento de serviços.
5. Comunicação com servidores.
5.1 O modelo cliente-servidor.
5.2 Envio de dados em canais de baixa banda.
5.3 O padrão de projetos Decorator.
5.4 Programação orientada a fluxo de dados.
6. Persistência de dados.
6.1Formatos de dados para armazenamento em dispositivos restritos.
6.2 Eventos de bancos de dados.
6.3 Armazenamento de informação em sistemas de arquivos.
6.4 Bancos de dados mais comuns para dispositivos móveis.
7. Provedores de conteúdo.
7.1 Programação orientada à tarefas.
7.2 Centralização de serviços.
7.3 Reutilização de processos em ambientes móveis.
8. Geolocalização.
8.1 Sistemas de coordenadas geográficas.
8.2 Provedores de localização mais comuns.
8.3 Eventos de localização.
9. Mapas.
9.1 Sobreposição de informações geográficas em mapas.
9.2 Decoradores aplicados à  mapas.
9.3 Lidando com eventos de mapas.
9.4 Obtendo coordenadas geográficas a partir de mapas.
9.5 Obtendo endereços reais a partir de mapas.
10. Extreme Programming.
10.1 Formas de programação ágil.
10.2 O método scrum.
10.3 Desenvolvimento de software em ciclos curtos.

Bibliografia

1. Hello, Android: Introducing Google's Mobile Development Platform. Ed Burnette, isbn: 978-1934356173.
2. Android Application Development. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike, isbn: 978-0596521479.

(MASB-17/07/2012)

 

  :::Universidade Federal de Minas Gerais::: :::Departamento de Ciência da Computação da UFMG:::