Programação Aplicada

Conhecimentos de Base Recomendados

Os alunos devem possuir e dominar conceitos de Programação Orientada a Objectos (POO) em linguagem Java e Bases de Dados Relacionais.

Recomenda-se a conclusão anterior das seguintes unidades curriculares:
– Fundamentos de Programação;
– Estruturas de Dados;
– Bases de Dados;
– Programação.

Métodos de Ensino

Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:

1. Método expositivo: método explicativo onde fundamentos teóricos e conceitos são apresentados pelo docente e discutidos com a turma. Os conceitos e informações serão apresentados aos estudantes através, por exemplo, de apresentações em slides ou discussões orais. Será utilizado nas aulas para a estruturação e esquematização da informação.

2. Método demonstrativo: baseia-se na exemplificação pelo docente de uma operação técnica ou prática que se deseja aprendida. Centra-se na forma como se executa uma dada operação, destacando as técnicas, as ferramentas e os equipamentos mais adequados. Será por exemplo utilizado em aulas práticas e laboratoriais.

3. Método interrogativo: processo que se fundamenta em interações verbais, sob a condução do docente, adotando o formato de questões e respostas. Permite obter maior dinâmica na aula e consolidar a aprendizagem. Será utilizado por exemplo para recordar elementos de aulas anteriores, e em revisões do conteúdo lecionado.

4. Métodos ativos: serão utilizadas técnicas pedagógicas em que o estudante é o centro do processo de aprendizagem, sendo um participante ativo e envolvido na sua própria formação. O docente assume o papel de facilitador, estimulando o pensamento crítico, a colaboração, a criatividade e a autonomia dos estudantes. Serão aplicados nas aulas para alcançar um ambiente de aprendizagem dinâmico e mais duradouro.

Cada aula será composta por dois momentos:

1. Exposição introdutória: No início da aula o docente expõe e discute com os estudantes os novos conteúdos em estudo;

2. Aplicação prática: Após a exposição introdutória, os estudantes desenvolvem fichas de trabalho e projetos de programação, individualmente e em conjunto, para aplicação prática dos novos conceitos, de forma autónoma e sob a orientação do docente.

Esta será uma unidade curricular predominantemente prática e focada no desenvolvimento de projetos de programação.

Resultados de Aprendizagem

No final da unidade curricular o estudante ficará habilitado a:

1. Demostrar os conceitos básicos de Programação Orientada a Objectos (POO): objectos, classes, polimorfismo, herança;

2. Manipular estruturas de memória persistente: acessos a bases de dados relacionais via ODBC;

3. Desenvolver aplicações com comunicação em rede e paralelismo;

4. Implementar e manipular interfaces de interacção com o utilizador e desenvolver aplicações gráficas em Java Swing/Java FX.

5. Projectar e implementar aplicações recorrendo à linguagem Java.

Programa

1. Elementos de apoio para desenvolvimento de aplicações Java: Organização de código (Packages); Documentação de código (JavaDoc); Java Archives (JAR); Convenções da linguagem Java; Formatação de números, datas e calendários; Expressões Regulares; Acesso universal a recursos/ficheiros; Agendamento de tarefas; Impressão; Chamadas ao sistema operativo;

2. Debugging elogging;

3. Acesso e manipulação de Bases de Dados relacionais através de ODBC e JDBC;

4. Sistemas concorrentes; Sincronização de Threads;

5. Programação em rede; comunicação através de sockets; arquitectura cliente-servidor;

6. Interfaces Gráficos (Java Swing, Java FX and AWT); Componentes; Gestores de Posicionamento; Processadores de eventos; Formatações de Interface;

7. Desenvolvimento de aplicações usando o Modelo MVC (Model, View, Controller).

 

Docente(s) responsável(eis)

Marco António Morais Veloso

Métodos de Avaliação

No que diz respeito à avaliação estão previstos os seguintes métodos:

1. Avaliação Periódica:

      a) dois projetos (P) individuais ou em grupo;

      b) um trabalho prático (TP) individuais.

      Classificação Final = P1 (07/20) + P2 (07/20) + TP (06/20)

2. Avaliação por Exame (época normal, época de recurso, época especial):

      a) um exame individual;

      b) um projeto, correspondendo ao segundo projeto desenvolvido durante o período letivo.

      Classificação Final = Exame (12/20) + Projeto (08/20)

Regras Gerais:

      a) cada um dos componentes de avaliação possui uma classificação mínima de 9,00 valores [ou 45%, numa escala de 100] para que seja obtida aprovação na unidade curricular;

      b) a realização dos projetos envolve a entrega de relatórios sobre os temas em estudo através da plataforma de gestão académica (Inforestudante) e a sua respetiva apresentação e defesa;

      c) o projeto é realizado exclusivamente durante o período de lecionação, não sendo possível o seu desenvolvimento em épocas de Exame. A não obtenção da classificação mínima de 9,00 valores [ou 45%, numa escala de 100] no projeto desenvolvido implicará a não admissão do estudante à Avaliação por Exame, com a consequente reprovação à unidade curricular.

      d) a realização das diferentes avaliações depende da inscrição prévia através da plataforma de gestão académica.


    Estágio(s)

    NAO

    Bibliografia

    Flanagan, D. , & Evans, B. (2019). Java in a nutshell: A desktop quick reference. (7.ª ed.). O’Reilly.

    Jesus, C. (2013). Curso prático de java. FCA.

    Martins, F.M. (2017). Java 8: POO + construções funcionais. FCA.  

    Martins, F.M. (2014). Projectos de POO em java. FCA.

    Oracle. (2024). Java platform, standard edition documentation. https://docs.oracle.com/en/java/javase/

    Urma, R., Fusco, M., & Mycroft, A. (2018). Modern java in action – Lambdas, streams, functional and reactive programming. Manning.