
Introdução à Programação
Código
10637
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
9.0
Professor responsável
Fernanda Maria Barquinha Tavares Vieira Barbosa, Luís Manuel Marques da Costa Caires
Horas semanais
6
Total de horas
73
Língua de ensino
Português
Objectivos
Saber
- O significado das várias construções de programação incluídas no fragmento coberto da linguagem Java.
- Construir uma pequena aplicação no fragmento coberto a partir de uma especificação informal, mas rigorosa, escrita em Português, e usando a metodologia definida na disciplina.
- Quais os componentes e ferramentas básicas de um ambiente de desenvolvimento de software (editor, compilador, etc) e qual a sua função.
Fazer
- Desenvolver programas de pequena dimensão, bem organizados e obedecendo a um certo número de convenções.
- Conseguir projectar e escrever correctamente algoritmos simples.
- Ler e explicar / simular mentalmente a funcionalidade de fragmentos de código escritos no fragmento coberto da linguagem Java.
- Utilizar correctamente, ao nível esperado, as ferramentas de programação, assim como interpretar os seus resultados (mensagens de erro, etc).
- Realizar, em grupo, um mini-projecto de desenvolvimento de software, integrando as várias competências transmitidas.
Soft-Skills
- Desenvolver hábitos de trabalho e de cumprimento de prazos.
- Desenvolver a preocupação com o rigor, e com a execução sistemática de planos de trabalho e métodos previamente determinados.
- Desenvolver competências de organização de trabalho em grupo.
Conteúdo
1. Computadores e programas 2. Objectos e operações 3. Classes e tipos de dados básicos 4. Manipulação de estado 5. Mecanismos de decisão 6. Estrutura de aplicações 7. Interacção (I/O) 8. Mecanismos de iteração 9. Manipulação de ficheiros 10. Aplicações com várias classes 11. Vectores e algoritmos relacionados 12. Ordenação e pesquisa 13. Metodologias de desenvolvimento de software
Bibliografia
Cay Horstmann, Java Concepts, 7th edition, Wiley, 2014.
Walter Savitch, Java: An Introduction to Computer Science and Programming, 7th edition, Prentice-Hall, 2014.
David J. Eck, Programming Using Java, Online book, http://math.hws.edu/javanotes, 2014.
Método de ensino
O ensino consiste em aulas teórico-práticas e aulas práticas (ambas em laboratório). Nas teórico-práticas a exposição de matéria é intercalada com a resolução de exercícios nos quais os alunos aplicam os conceitos apresentados.
Nas práticas, os alunos resolvem exercícios de consolidação dos conceitos apreendidos e praticados durante as aulas teórico-práticas.
No mini-projecto final os alunos desenvolvem uma aplicação simples que permite aplicarem toda a matéria aprendida nas aulas. O apoio ao projecto nas aulas permite, não só, resolver dificuldades pontuais dos alunos, como também ajudar os alunos a melhorar a organização do programa e a qualidade do código escrito.
Método de avaliação
A avaliação é composta por duas componentes: teórico-prática e laboratorial.
A componente teórico-prática é composta por dois testes (T1 e T2) ou um exame (E), e a componente laboratorial por dois trabalhos práticos (TP1 e TP2).
Todos os elementos de avaliação terão uma nota na escala de 0 a 20 valores. Os trabalhos práticos serão entregues na plataforma Mooshak, sendo o trabalho TP1 individual e o trabalho TP2 realizado por um grupo de 2 alunos.
Na maioria das aulas, o aluno deve implementar programas e submeter esses programas na plataforma Mooshak. Todos estes trabalhos serão avaliados juntamente com os trabalhos práticos (TP1 e TP2).
Para obter frequência na cadeira, a média pesada dos trabalhos práticos (TP1 e TP2) deve ser igual ou superior a 9.5 valores em 20.
A nota final é calculada por arredondamento às unidades:
- em Avaliação contínua: 0.2*T1 + 0.4*T2 + 0.15*TP1 + 0.25*TP2
- em Época de Recurso: 0.6*E + 0.15*TP1 + 0.25*TP2
Para aprovar na cadeira a nota final deve ser superior ou igual a 9.5 e ter obtido frequência.
Para as melhorias, a nota final é a nota do exame.