Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Ciências e Tecnologias da Programação
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2022/2023
Pré-requisitos / Pre-Requisites
Conhecimentos elementares de Matemática (ensino secundário).
Objetivos Gerais / Objectives
Dotar os alunos de noções fundamentais de programação, e experiência prática utilizando a linguagem Java. No final da disciplina, os alunos terão tomado contacto com primitivas de programação imperativa existentes em várias linguagens, bem como com conceitos básicos de programação orientada para objetos.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
Após a conclusão desta unidade curricular o aluno deverá ficar apto a: OA1. Desenvolver funções/procedimentos que implementem algoritmos simples. OA2. Desenvolver código para manipular estruturas vetoriais e objetos. OA3. Desenvolver classes de objetos simples (não envolvendo herança e polimorfismo), abordando a noção de encapsulamento. OA4. Escrever e compreender código Java.
Conteúdos Programáticos / Syllabus
CP1. Funções e parâmetros CP2. Variáveis e estruturas de controlo CP3. Invocação e recursividade CP4. Vetores CP5. Procedimentos e referências CP6. Matrizes CP7. Objetos simples CP8. Classes de objetos CP9. Objetos compostos CP10. Classes de objetos compostos CP11. Encapsulamento e interfaces
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
A interligação entre os conteúdos programáticos e os objetivos de aprendizagem (OA) é a seguinte: O objetivo de aprendizagem OA1 está relacionado com os conteúdos programáticos CP1-7 e CP9, dado que os conceitos são aplicados essencialmente por meio do desenvolvimentos de funções e procedimentos. O objetivo de aprendizagem OA2 é abordado nos conteúdos programáticos CP4, CP6, CP7, CP9, cujos exercícios associados envolvem a manipulação de estruturas vetoriais e objetos. O objetivo de aprendizagem OA3 concretiza-se nos conteúdos programáticos CP8 e CP10-11, os quais consistem numa iniciação à programação orientada para objetos. O objetivo de aprendizagem OA4 é transversal à totalidade dos conteúdos programáticos (CP1-11), dado que apenas consegue ser atingido através da prática da programação em Java tendo em conta as diferentes primitivas disponíveis na linguagem.
Avaliação / Assessment
Avaliação periódica, composta por: 15% Nota do teste Intercalar + 75% Nota da frequência + 10% Notas dos mini-testes online [nota mínima de 8 valores na frequência e de C no projecto individual] As classificações possíveis no Projeto Individual são (A, B, C, D). A classificação obtida no projeto define um limite máximo para a nota final: A - max. 20 B - max. 16 C - max. 12 D - implica reprovação à UC
Metodologias de Ensino / Teaching methodologies
Esta unidade curricular está estruturada numa combinação de aulas teóricas e aulas práticas. As aulas teóricas têm um cariz demonstrativo, no sentido em que em todas as aulas, uma parte significativa das mesmas é dedicada a resolver exercícios passo-a-passo, demonstrando a aplicação de conceitos. As aulas práticas destinam-se à realização de exercícios ao longo do semestre, os quais acompanham os conceitos abordados nas aulas teóricas.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
A metodologia de ensino pretende atingir os objectivos de aprendizagem através da combinação de aulas teóricas e aulas práticas. Nas aulas teóricas são introduzidos os conceitos de programação, os quais estão relacionados com os objetivos de aprendizagem OA1-3. Nas aulas práticas são exercitados os conceitos expostos nas aulas teóricas, de modo a que os alunos atinjam o objetivo de saber escrever a compreender código Java (OA4).
Observações / Observations
A frequência é um teste escrito com a duração aproximada de 2h a realizar na 1ª ou 2ª época. A nota mínima na frequência para obter aprovação na UC é de 8 valores. Em caso de reprovação na 1ª época, o aluno pode voltar a realizar a frequência na 2ª época, mantendo a nota da componente prática. Uma parte significativa da frequência deverá incidir sobre problemas/algoritmos relacionados com o projecto. Por esta razão, recomenda-se que o aluno aplique um esforço considerável na realização do projecto. A dedicação não só é necessária, bem como consistirá num treino adequado para realizar a frequência. Para efeitos de logística, poderá ser pedida uma inscrição obrigatória nas provas em que é esperado um número elevado de alunos. Mini-testes online a. São realizados 10 mini-testes ao longo do semestre, utilizando-se a plataforma de e-learning. Cada mini-teste tem uma duração máxima de 30 minutos, está disponível ao longo de uma semana e incide sobre a matéria dada na semana anterior. b. A nota final desta componente será a média das 8 melhores notas. c. Falhas pontuais no acesso à plataforma de e-learning não influenciam o prazo de realização dos mini-testes - recomenda-se por isso que os alunos não os deixem para o último dia em que estão disponíveis. d. É obrigatório realizar 6 mini-testes. A não realização de, pelo menos, 6 mini-teste resulta na não aprovação à UC. e. Os mini-testes não realizados têm a classificação de 0 valores. O teste intercalar é uma prova individual escrita realizada a meio do semestre na semana de avaliação intercalar. Não é possível obter aprovação apenas através da realização de exame (100% da nota).
Bibliografia Principal / Main Bibliography
Y. Daniel Liang, "Introduction to Java Programming", 5th Ed. Prentice-Hall, 2005. ISBN: 0-13-185721 - 5.
Bibliografia Secundária / Secondary Bibliography
João Pedro Neto, Programação, Algoritmos e Estruturas de Dados, Escolar Ed., 2004.
Data da última atualização / Last Update Date
2024-02-16