Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
A aprovação nesta unidade curricular
certifica que o aluno adquiriu conhecimentos especializados de
algoritmia e de programação estruturada de computadores e que tem as
aptidões necessárias para desenvolver software, obedecendo a normas e
convenções adequadas e seguindo um ciclo desenvolvimento de três etapas,
as quais correspondem aos 3 objectivos principais da UC:
O1) Saber fazer a especificação do problema.
O2)
Saber construir um algoritmo para a resolução do problema, em
pseudocódigo, de acordo com a especificação feita, implicando isso
saber: a) Identificar e aplicar os tipos de dados standard duma linguagem b) Identificar e aplicar tipos de dados abstratos. b) Identificar e aplicar as principais estruturas de controlo algorítmicas.
d) Modularizar um algoritmo.
O3) Saber implementar o algoritmo usando os recursos da linguagem Java, sendo capaz de a) Codificar o algoritmo; b) Testar o código desenvolvido, detectando e corrigindo erros.
Conteúdos programáticos
C1. Conceitos básicos: computadores, programas, dados e instruções; estrutura de um programa; operações básicas de entrada e de saída; compilação de um programa; primeiro exemplo.
C2. Metodologia de desenvolvimento de software: especificação do problema; algoritmo; codificação; testes.
C3. Técnica de especificação de problemas.
C4. Técnica de elaboração de algoritmos. Conceitos de programação estruturada.
C5. A linguagem JAVA: sintaxe da linguagem: constantes e variáveis; operadores; tipos de dados; entrada e saída de dados; instruções básicas; estruturas de controlo (decisão e repetição); bibliotecas de recursos: classes Math e Random; programação estruturada: programação modular, scope de variáveis, métodos e passagem de parâmetros; estruturas de dados (sequências de caracteres, vetores, matrizes e ficheiros. Interfaces: modos consola e gráfico.
C6. Boas práticas em programação.
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular
O1 - Especificação de problemas: conteúdos programáticos C1, C2,C3 e C6. O2 - Concepção de algoritmos: conteúdos programáticos C1, C2, C4 e C6. O3 - Implementação de algoritmos: conteúdos programáticos C1,C2,C5 e C6.
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico
1. METODOLOGIA DE ENSINO-APRENDIZAGEM
A) ENSINO PRESENCIAL M1. Aulas teóricas/práticas: apresentação teórica e ilustração de casos. M2.
Aulas práticas/experimentais: resolução de casos relacionando conteúdos
e promovendo a análise crítica. M3. Horas de atendimento no horário oficial.
B) ESTUDO EM AUTONOMIA
M4. Bibliografia recomendada e publicações no Moodle.
C) FERRAMENTAS
M5. Linguagem: Java
M6. IDE: Eclipse
2. SISTEMA DE AVALIAÇÃO
- Instrumentos: 2 testes individuais (T1 e T2) e trabalhos individuais e de grupo (T3).
- Classificação final: 25% T1 + 25% T2 + 50% T3
- Condições de aprovação: [T1 >= 7,0] E [T2 >= 7.0] E [T3 >= 10.0] E [assiduidade >= 75%]. - Exames. Não incluem prova oral - A atribuição de nota superior a 16 pode ficar dependente de defesa de nota numa prova oral. O estudante pode abdicar dessa defesa, sendo-lhe então atribuída a classificação de 16 valores - Infrações académicas: aplica-se o RACC, artº10, nº2.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular
O1 - Especificação de problemas: metodologias M1, M2, M3, M4. O2 - Concepção de algoritmos: metodologias M1, M2, M3 e M4. O3 - Implementação de algoritmos: metodologias M1, M2, M3, M4, M5 e M6.