Programação Estruturada e Orientada a Objetos

Conhecimentos de Base Recomendados

Recomenda-se a conclusão prévia da seguinte unidade curricular:

– Introdução à Programação.

Métodos de Ensino

De acordo com os objectivos do curso, as suas condições de realização e o público alvo devem ser utilizadas metodologias e
estratégias que permitam à turma apreender e compreender os conteúdos leccionados da melhor forma.
Como tal é priorizado o uso de várias técnicas e metodologias em conjunto para maximizar a apreensão de conteúdos, assim
temos:
1. Método expositivo: exposição oral de conteúdos teóricos com recurso a apresentações multimédia, tal como
utilização de programas específicos e recursos afectos à prática do desenvolvimento de programas em Java;
2. Método interrogativo: através de questões individuais ou direccionadas ao grupo no decorrer das aulas,
permitindo obter feedback imediato sobre os conteúdos abordados;
3. Método activo: será utilizado com recurso a várias técnicas como, realização de discussões/debates sobre as
temáticas desenvolvidas, estudos de caso relativamente a factos importantes na área das ciências informáticas,
resolução de problemas e desenvolvimento de trabalhos individuais;
4. Método demonstrativo: será útil para demonstrar a instalação e utilização de certos programas a utilizar para o
desenvolvimento de programas em Java.

Resultados de Aprendizagem

-Explicar a noção de subprograma.
-Reconhecer as regras de declaração e execução de subprogramas.
-Construir programas com recurso a subprogramas.
-Reconhecer as regras e mecanismos para a criação e utilização de bibliotecas de subprogramas.
-Reconhecer uma estrutura de dados estática: strings e arrays
-Reconhecer uma estrutura de dados composta: definição e manipulação
-Reconhecer uma estrutura de dados dinâmica: pilhas e filas de espera
-Identificar as diferenças entre uma linguagem estruturada e uma linguagem orientada a objetos.
-Explicar a noção de objetos e sua classificação.
-Identificar as noções de classe, tipo, métodos, comportamentos e instâncias.
-Representar esquematicamente uma classe.
-Explicar o conceito de encapsulamento de dados.
-Definir relações entre objetos.
-Reconhecer o conceito de herança e de polimorfismo.
-Representar esquematicamente diagramas de classes.

Programa

1. Programação estruturada
1.1. Conceitos básicos e passagem por parâmetros
1.2. Subprogramas- Estrutura do subprograma: procedimentos e funções-Recursividade
1.3. Construção de bibliotecas
1.4. Estrutura de dados estática
1.5. Estrutura de dados composta
1.6. Estruturas de dados dinâmica.
2. Regras de construção de software e boas práticas.
3. Programação orientada a objetos
3.1. Sintaxe da linguagem
3.2. Ambiente de desenvolvimento
3.3. Constantes e variáveis
3.4. Operadores
3.5. Tipos de dados
3.6. Entrada e saída de dados
3.7. Instruções básicas
3.8. Conversão de tipos
3.9. Instruções e estruturas de controlo
3.9.1. If; 3.9.2. Switch; 3.9.3. For; 3.9.4. While; 3.9.5. Repeat; 3.9.6. Break; 3.9.7. Continue;
3.10. Classes e Objetos
3.11. Definição de classes
3.11.1. Criação de classes; 3.11.2. Métodos da classe; 3.11.3. Variáveis da classe;
3.12. Herança de classes
3.13. Encapsulamento
3.14. Polimorfismo
3.15. Diagrama de Classes
3.16. Interfaces
3.17. Colecções
3.18. Excepções
3.19. Streams
3.20. Redefinição de métodos, redefinição de comportamento.

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Damas, L. (1999). Linguagem C. FCA.
King, K. N. (2008). C Programming: A Modern Approach (2nd ed.). W. W. Norton & Company.
Rocha, A. M. A. (2006). Introdução à Programação Usando C. FCA.
Evans, B. J., Flanagan, D. (2018). Java in a Nutshell (7th ed.). O’Reilly Media.
Mendes, A. J., Marcelino, M. J. (2012). Fundamentos De Programação Em Java (4th ed.). FCA.
Eckel, B. (2006). Thinking in Java (4th ed.). Prentice Hall.