Introdução à Programação
Objetivos
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.
Caracterização geral
Código
10637
Créditos
9.0
Professor responsável
António Maria Lobo César Alarcão Ravara, Maria Armanda Simenta Rodrigues Grueau
Horas
Semanais - 6
Totais - 19
Idioma de ensino
Português
Pré-requisitos
Não tem
Bibliografia
David J. Eck, Programming Using Java, Online book, http://math.hws.edu/javanotes, 2014.
Cay Horstmann, Java Concepts, 7th edition, Wiley, 2014.
Walter Savitch, Java: An Introduction to Computer Science and Programming, 7th edition, Prentice-Hall, 2014.
Especificação das classes do java 8 (API): https://docs.oracle.com/javase/8/docs/api/
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 (P1 e P2).
As componentes P1, P2, T1 e T2 são arredondadas às décimas; E e NF são arredondadas às unidades.
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 P1 individual e o trabalho P2 realizado por um grupo de 2 alunos (excepções têm que ser autorizadas pela regente).
Na maioria das aulas práticas, o aluno deve resolver exercícios e submeter os programas que implementam a solução na plataforma Mooshak. Estes programas contam para 1 valor da nota final (componente A), atribuído a quem submeter com sucesso pelo menos 75%, truncado às unidades (ex: 7 x 0.75 = 5.25; quem entregar 5 exercícios certos tem 1 valor).
Em algumas semanas, existirá um desafio, também a submeter na plataforma Mooshak, que servirá para complementar a nota dos trabalhos práticos. Estes programas contam para 1 valor da nota final (componente D), atribuído a quem submeter com sucesso pelo menos 65%, truncado às unidades (ex: 5 x 0.65 = 3.25; quem entregar 3 exercícios certos tem 1 valor).
Para obter frequência na unidade curricular, a média pesada dos trabalhos práticos (P1 e P2) deve ser igual ou superior a 9.5 valores em 20,
ou seja, P = (0.1*P1 + 0.25*P2)/0.35 e arredondada às unidades deverá ser superior ou igual a 9.5 em 20.
A nota da componente Teórico-Prática (T) será calculada da seguinte forma:
- em Avaliação contínua: T = (0.2*T1 + 0.35*T2)/0.55 arredondada à unidade,
- em Época de Recurso: T = E.
Para aprovação na unidade curricular:
O aluno terá de ter obtido frequência no ano corrente ou na edição anterior da disciplina;
A nota obtida na componente teórico-prática T terá de ser superior ou igual a 10;
a nota final NF = T*0.55+P*0.35+A+D calculada por arredondamento às unidades deve ser superior ou igual a 10 e menor ou igual a 20
Em caso de reprovação, para alunos com frequência, a nota final será T.
Para as melhorias, a NF = E. (versão de setembro de 2019, que teve ser atualizada para cumprimento do Regulamento de Avaliação da FCT-NOVA- ver abaixo)
---
Alteração efetuada em Janeiro de 2020 para cumprimento do Regulamento de avaliação da FCT-NOVA)
Para as melhorias, a NF=E*0.55+P*0.35+A+D
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