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

Cursos

Cursos onde a unidade curricular é leccionada: