Introdução à Programação (2021/2022) - Departamento de Informática

Informação adicional: http://ctp.di.fct.unl.pt/lei/ip/

Descrição

Esta disciplina visa iniciar à programação de computadores os alunos recém-inscritos da Licenciatura em Engenharia Informática. São cobertos os conceitos fundamentais da programação procedimental de base imperativa, usando objetos e classes como mecanismo de estruturação de programas. Pretende-se ensinar as técnicas básicas de desenvolvimento de programas simples. No fim da unidade curricular, o aluno bem sucedido conhecerá os ingredientes mais importantes de uma linguagem de programação OO moderna e será capaz de desenvolver uma pequena aplicação, usando um ambiente de programação.

Objectivos

Saber

Compreender as várias construções de programação incluídas no fragmento coberto da linguagem Java.

Conhecer os componentes e ferramentas básicas de um ambiente de desenvolvimento de software (editor, compilador, etc) e qual a sua função.

Saber Fazer

Ler e explicar / simular mentalmente a funcionalidade de excertos de código escritos no fragmento coberto da linguagem Java.

Conceber e implementar corretamente algoritmos simples.

Construir uma pequena aplicação no fragmento coberto da linguagem Java, a partir de uma especificação informal, mas rigorosa, escrita em Português, e usando a metodologia definida na disciplina.

Desenvolver programas bem organizados e obedecendo a um certo número de convenções.

Utilizar corretamente, ao nível esperado, as ferramentas de programação e saber interpretar os seus resultados (mensagens de erro, etc).

Realizar um mini-projecto de programação em grupo.

Soft-Skills

Desenvolver hábitos de trabalho e de cumprimento de prazos.

Desenvolver a preocupação com o rigor e com a execução de planos de trabalho e métodos previamente determinados.

Desenvolver competências de trabalho em grupo.

Programa

1. Computadores e programas

2. Objetos e operações

3. Classes e tipos de dados básicos

4. Manipulação de estado

5. Mecanismos de decisão

6. Interação (I/O)

7. Ciclos e introdução à recursividade

8. Estrutura de aplicações

9. Vetores e algoritmos relacionados

10. Iteradores

11. Ordenação e pesquisa

12. Manipulação de ficheiros

13. Matrizes

14. Aplicações com várias classes

15. Metodologias de desenvolvimento de software

Bibliografia Principal

David J. Eck, Introduction to Programming Using Java, 8th edition, Online book, http://math.hws.edu/javanotes, 2021.

Cay S. Horstmann, Java Concepts: Early Objects, 8th edition, Wiley, 2019.

Walter Savitch, Java: An Introduction to Problem Solving and Programming, 8th edition, Pearson, 2018.

Especificação das classes do Java 8 (API): https://docs.oracle.com/javase/8/docs/api/

Requisitos Prévios

Nenhum

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Aulas práticas e laboratoriais   24.0
Aulas teórico-práticas   48.0
Avaliação   6.0
Estudo   106.0
Projectos e trabalhos   68.0
Total de Horas 252
ECTS 9.0