
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
Luís Manuel Marques da Costa Caires, Miguel Carlos Pacheco Afonso Goulão
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.
Pré-requisitos
Esta disciplina não tem pré-requisitos.
Conteúdo
- Computadores e programas
- Objectos e operações
- Classes e tipos de dados básicos
- Manipulação de estado
- Mecanismos de decisão
- Estrutura de aplicações
- Interacção (I/O)
- Mecanismos de iteração
- Manipulação de ficheiros
- Aplicações com várias classes
- Vectores e algoritmos relacionados
- Ordenação e pesquisa
- Metodologias de desenvolvimento de software
Bibliografia
- Cay Horstmann, Java Concepts, 6th edition, Wiley, 2009.
- Walter Savitch, Java: An Introduction to Computer Science and Programming, 4th edition, Prentice-Hall, 2005.
- David J. Eck, Programming Using Java, Online book, http://math.hws.edu/javanotes, 2004.
Método de ensino
O ensino consiste em aulas teórico-práticas e aulas práticas (ambas em laboratório). Nas aulas 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 aulas práticas, os alunos resolvem exercícios de consolidação dos conceitos apreendidos e praticados durante as aulas teórico-práticas.
Método de avaliação
A avaliação é composta por três componentes: dois testes (T1 e T2) ou um exame (NT), um trabalho prático (NP), e nota de avaliação sumativa (AS). A nota de avaliação sumativa é o resultado da avaliação do trabalho do aluno durante as aulas, considerando apenas as primeiras 8 semanas, e poderá incluir: participação durante as aulas e entrega de trabalhos de casa.
Condições para obter aprovação: a média pesada das 3 componentes de avaliação for superior a 9.5; NP >= 9.5; e NT >= 9.5.
Os pesos relativos de cada componente de avaliação são os a seguir detalhados:
T1 = 25%, T2 = 30%, AS = 15%, NP = 30%
Na época de recurso, os pesos relativos são:
NT = 70%, NP = 30%
Para melhorias de nota realizadas na época de recurso do semestre em que foi obtida aprovação na cadeira, as regras de cálculo da nota são as da época de recurso. Melhorias de notas obtidas em semestres anteriores são feitas exclusivamente por exame, em época de recurso ou época especial, sendo a nota final a nota obtida no exame.
Na época especial, a nota final é a nota do exame.