Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
L0782
Acrónimo :
L0782
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês

Carga Horária / Course Load


Semestre :
1
Créditos ECTS :
6.0
Aula Teórica (T) :
18.0h/sem
Aula Teórico-Prática (TP) :
0.0h/sem
Aula Prática e Laboratorial (PL) :
36.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Á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