Mestrado | Informática

Desenvolvimento de Plataformas Android

Área Científica

Ciências Informáticas

Duração

Semestral

ECTS

5

Horas de Contacto Teórico Práticas

35h

OBJETIVOS DA APRENDIZAGEM

O1 – Compreender diferentes características da programação orientada por objetos
O2 – Conhecer diferentes tecnologias e plataformas para desenvolvimento móvel Android
O3 – Identificar as vantagens e desvantagens do desenvolvimento de aplicações nativas por oposição ao desenvolvimento de aplicações web móveis;
O4 – Conhecer as principais frameworks de desenvolvimento Android.
O5 – Desenvolver aplicações móveis nativas para sistemas Android.

PROGRAMA

1.Fundamentos da linguagem C#

1.1.Perceber os fundamentos da linguagem C#
1.2.Os vários tipos predefinidos do C#
1.3.Expressões
1.4.Instruções Condicionais
1.5.Instruções Iterativas
1.6.Arrays

2.Objetos em C#

2.1.Classes
2.2.Métodos e Propriedades
2.3.Construtores
2.4.Membros de Classe Estáticos

3.Características do paradigma Orientação a Objetos em C#

3.1.Desenhar Objetos
3.2.Hereditariedade
3.3.Polimorfismo

4.Programar em C#

4.1.Object Indexing
4.2.Coleções
4.3.Interfaces
4.4.Exceções
4.5.Eventos e Delegações

5.C# Avançado

5.1.Genéricos
5.2 Objetos Anónimos
5.3.Métodos Anónimos
5.4.Lambdas

6.Desenvolvimento de aplicações para Android – I

6.1.Xamarim Studio vs. Integração do Xamarin no Visual Studio
6.2.Xamarin.Android
6.3.UIKit
6.4.Views, ViewControllers e Segues
6.5.Data-bound Views
6.6.Serializing e Deserializing com Json.NET

7.Desenvolvimento de aplicações para Android – II

7.1.Views (Layouts) e Controllers (Activities)
7.2.Controlos da Interface de Utilizador
7.3.Data-binding classes (Adapters)

DEMONSTRAÇÃO DE COERÊNCIA ENTRE CONTEÚDOS PROGRAMÁTICOS E RESULTADOS DA APRENDIZAGEM

Nesta unidade curricular serão abordados conteúdos que permitam ao estudante conhecer os princípios do desenvolvimento de aplicações para plataformas Android. Os conteúdos programáticos foram definidos com o propósito de responder com clareza aos objetivos de aprendizagem propostos, nesse sentido iniciar-se-á a unidade curricular com conteúdos que se pretendem niveladores dos conhecimentos dos estudantes (que poderão ter diferentes backgrounds académicos). Se por um lado é desejável que num 2º ciclo o estudante já tenha conhecimentos de programação, por outro percebe-se que diferentes formações de 1º ciclo do ramo oferecem, naturalmente, diferentes linguagens e diferentes níveis de aprofundamento. Com efeitos os três primeiros conteúdos permitirão atingir o objetivo O1 e parcialmente os restantes objetivos. De seguida abordar-se-ão conteúdos com um maior nível de aprofundamento (conteúdos 4 e 5) que contribuirão para que os estudantes atinjam os objetivos O2, O3 e O5. A unidade irá finalizar com dois conteúdos mais orientados para a prática e para o desenvolvimento de aplicações que acabam por ser transversais e uma continuidade óbvia dos conteúdos programáticos apresentados anteriormente. Deste modo, com estes últimos conteúdos atingir-se-á o objetivo O4 e os restantes já mencionados anteriormente que vinham a ser parcialmente atingidos com os conteúdos iniciais. Em suma estes conhecimentos serão consolidados através do desenvolvimento de um Projeto de uma aplicação web nativa.

METODOLOGIA DE ENSINO E AVALIAÇÃO

Atendendo à especificidade desta Unidade Curricular, privilegiar-se-á o contacto direto entre o estudante e o computador numa perspetiva computer based learning.

As aulas assumirão um carácter teórico-prático, cabendo ao docente a função de apresentação e enquadramento dos conceitos teóricos bem como da sua aplicação prática.

Com efeito o estudante terá um papel central na sua aprendizagem sendo estimulada a sua participação que se pretende ativa ao longo da unidade.

A adoção desta metodologia implica, em alguns momentos, a distribuição dos estudantes por grupos de trabalho em dinâmicas de grupo bem como realização constante de exercícios práticos de aplicação de conhecimentos.

Avaliação:

A avaliação será efetuada através de um exame escrito individual. Na classificação final, serão considerados elementos de avaliação contínua, tais como trabalhos (individuais ou em grupo).

DEMONSTRAÇÃO DE COERÊNCIA ENTRE METODOLOGIAS DE ENSINO E RESULTADOS DE APRENDIZAGEM

O modo de trabalho que se preconiza na Unidade Curricular centrado, quer em momentos de trabalho individual, quer de trabalho coletivo, visa contribuir para que o estudante desenvolva conhecimentos sólidos no desenvolvimento de aplicações para plataformas Android.
Nesse sentido optou-se por metodologias de ensino centradas no estudante em que este tem um papel preponderante na sua aprendizagem permitindo, desde modo, dotar o estudante de ferramentas, mas, sobretudo, de capacidades de intervenção ativa. O computador será, sempre, um recurso presente nas aulas (que terão caráter teórico-prático) de modo a que os estudantes tenham contacto com os conceitos anteriormente referidos colocando-os em prática com exemplos concretos de utilização.
Nesse sentido justificam-se metodologias de ensino que estimulem a participação ativa e que promovam competências de autonomia nos processos e desenvolvimentos tecnológicos nas áreas que operem ou venham a operar.
As competências são desenvolvidas através da exposição participativa e da resolução de problemas consubstanciados em trabalhos supervisionados, que culminarão numa apresentação e discussão com os pares, no final da unidade curricular, que permitam o desenvolvimento de competências discursivas e comunicativas.

BIBLIOGRAFIA

Loureiro, H. (2016). Android com C# – Introdução ao desenvolvimento. Lisboa: FCA
Nagel, C. (2016). Professional C# 6 and .NET Core 1.0. Indianapolis: Wrox
Peppers, J. (2015). Xamarin Cross-platform Application Development. Packt Publishing
Queirós, R. (2018). Android Profissional – Desenvolvimento Moderno de Aplicações. Lisboa: FCA
Queirós, R. (2016). Android – Bases de dados e geolocalização
Queirós, R. (2016). Android Profissional – Desenvolvimento de Aplicações com Android Studio. Lisboa: FCA
Reynolds, M. (2014). Xamarin Essentials. Packt Publishing
Watson, K. Et al. (2012). Beginning Visual C# 2012 Programming. Indianapolis: Wrox