Informação adicional: http://ctp.di.fct.unl.pt/lei/ip/
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.
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.
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
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/
Nenhum
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 |