Programação I
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Informática |
Ocorrência: 2024/2025 - 1S 
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
SauDInoB |
37 |
Plano de Estudos em Vigor |
1 |
- |
6 |
56 |
162 |
Língua de trabalho
Português
Objetivos
Esta unidade curricular tem como objetivos:
- Conceção de algoritmos aplicando boas práticas de programação;
- Codificação de algoritmos em linguagem Java (na perspetiva procedimental);
- Aplicação de testes aos programas;
- Aplicação dos conchecimentos adquiridos à resolução de problemas do mundo real;
- Promoção de atitudes de aprendizagem ativa, colaborativa e responsável, de trabalho persistente e de aplicação de espírito crítico na análise e resolução de problemas.
Resultados de aprendizagem e competências
No final desta unidade curricular o estudante deve ser capaz de:
- Desenhar e implementar algoritmos numa perspetiva procedimental;
- Desenvolver algoritmos estruturados em módulos e reutilizá-los;
- Criar e utilizar estruturas de dados indexadas;
- Armazenar dados de forma persistente (ficheiros de texto);
- Elaborar e adotar planos de testes apropriados;
- Avaliar a solução implementada;
- Aplicar colaborativamente as competências anteriores a problemas reais.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Sem pré-requisitos.
Programa
1. Conceitos básicos de algoritmia
1.1 Definição de algoritmo
1.2 Descrição de algoritmos: pseudo-código e fluxogramas
1.3 Variáveis, tipos de dados, expressões e operadores
1.4 Estruturas de controlo de fluxo
2. Codificação de programas em Java
2.1 Introdução
2.2 Ambientes de desenvolvimento
2.3 Síntaxe da linguagem Java
2.4 Estrutura de um programa Java
2.5 Tipos de dados e variáveis
2.6 Operadores, expressões e atribuições
2.7 Codificação de estruturas de controlo de fluxo
3. APIs do Java
4. Decomposição Modular
4.1 Métodos
4.2 Passagem de argumentos
5. Estruturas lineares de armazenamento de dados
5.1 Manipulação de arrays mono e bidimensionais
5.2 Algoritmos de pesquisa
5.3 Algoritmos de ordenação
6. Manipulação de ficheiros de texto
7. Desenvolvimento de aplicações
Bibliografia Obrigatória
Vasconcelos, J. B., & de Carvalho, A. V. ; Algoritmia e estruturas de dados: programação nas linguagens C e JAVA, Centro Atlântico. ISBN: 9789896150129
Horstmann, C. S. ; Big Java: Late Objects, John Wiley & Sons. ISBN: 978-1118087886
Deitel, P., & Deitel, H. ; Java How to program. ISBN: 978-0131836617
Métodos de ensino e atividades de aprendizagem
Nas aulas teóricas serão utilizados o método expositivo, interrogativo e metodologias ativas de aprendizagem (exemplos: sala de aula invertida (Flipped Classroom) e aprendizagem entre pares (Peer Instruction)).
Nas aulas práticas laboratoriais será utilizado o método demonstrativo e técnicas do método ativo, como trabalho em grupo, estudo de casos e aprendizagem baseada em problemas.
Serão efetuados trabalhos laboratoriais com vista à compreensão, aplicação e consolidação dos conceitos teóricos.
Software
Java Development Kit (JDK), versão > 11
IntelliJ IDEA Community Edition
Palavras Chave
Ciências Físicas > Ciência de computadores > Informática
Ciências Físicas > Ciência de computadores > Programação
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Exame |
50,00 |
Trabalho prático ou de projeto |
50,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
26,00 |
Estudo autónomo |
80,00 |
Frequência das aulas |
56,00 |
Total: |
162,00 |
Obtenção de frequência
Cumprir o limite mínimo de presenças nas aulas práticas laboratoriais.
Os estudantes com estatuto de trabalhador-estudante estão dispensados de assiduidade às práticas laboratoriais.
Obrigatoridade de apresentação individual do trabalho prático.
Fórmula de cálculo da classificação final
A classificação final é dada pela seguinte fórmula:
Classificação final = 20% M1 + 30% M2 + 50% EF
Componentes de avaliação:
M1 - Entrega e discussão de trabalho prático - iteração 1
M2 - Entrega e discussão de trabalho prático - iteração 2
EF - Exame final
Provas e trabalhos especiais
N/A
Trabalho de estágio/projeto
N/A
Avaliação especial (TE, DA, ...)
Os estudantes com estatuto especial estão sujeitos às mesmas condições de avaliação dos estudantes regulares.
Melhoria de classificação
Realização de novo exame final.