Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
36.0h/sem
Aula Prática e Laboratorial (PL) :
0.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 :
37.0h/sem
Trabalho Autónomo :
113.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


2024/2025

Pré-requisitos / Pre-Requisites


Domínio básico de Inglês.

Objetivos Gerais / Objectives


Adquirir conhecimentos e noções essenciais de lógica e algoritmia, bem como experiência prática de programação, utilizando a linguagem Java.

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


Com esta unidade curricular o aluno deverá ficar apto a: 1. Criar algoritmos para resolver problemas simples. 2. Manipular tipos de dados (tipos primitivos, vectores, matrizes, cadeias de caracteres). 3. Usar instruções de selecção. 4. Usar instruções de iteração (ciclos). 5. Desenvolver funções e procedimentos. 6. Aplicar os conceitos de classe e objecto, e desenvolver classes de objectos. 7. Usar a decomposição funcional na resolução de problemas em programação. 8. Desenvolver pequenos programas utilizando um ambiente de desenvolvimento integrado (incluindo depurador).

Conteúdos Programáticos / Syllabus


Os principais conteúdos programáticos a abordar são: 1. O computador como máquina programável. 2. Noção de Algoritmo e modos de representar um algoritmo. 3. Tipos de dados primitivos. 4. Variáveis e expressões. 5. Instruções de selecção. 6. Instruções de iteração (ciclos). 7. Matrizes e String. 8. Métodos: funções e procedimentos. 9. Classes de objectos. 10. Abordagem de problemas em programação.

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) realiza-se da seguinte forma: 1. O computador como máquina programável: OA1 2. Noção de Algoritmo e modos de representar um algoritmo: OA1 3. Tipos de dados primitivos: OA2 4. Variáveis e expressões: OA2 5. Instruções de selecção: OA1, OA2, OA3 6. Instruções de iteração (ciclos): OA1 a OA4 7. Matrizes e String: OA2 a OA4 8. Métodos: funções e procedimentos: OA5, OA7 9. Classes de objectos: OA6, OA7 10. Abordagem de problemas em programação: OA2 a OA8

Avaliação / Assessment


Avaliação ao longo do semestre: - Teste prático (50%) - prova prática individual, obrigatória - para avaliação dos conhecimentos em programação procedimental/funcional - a realizar a meio do período de aulas, sem nota mínima. - Teste teórico-prático (50%) - teste escrito individual e sem consulta, obrigatório, intercalar - com toda a matéria, mas com maior incidência na avaliação de conhecimentos em programação orientada para objectos –, a realizar na última semana de aulas, e tendo a nota mínima de 7 valores (em 20). Ambos os testes podem ser realizados online, via e-learning e apoio por zoom. Avaliação por Exame: Exame escrito individual, sem consulta, com toda a matéria. Realiza exame final – na época 1, 2 ou especial - quem não tenha concluído com sucesso a avaliação ao longo do semestre, com uma nota média superior ou igual a 10 (em 20).

Metodologias de Ensino / Teaching methodologies


Aulas teórico-práticas (36 horas), em laboratório de informática. Metodologias de ensino-aprendizagem (ME): 1. Expositivas, para apresentação de quadros teóricos de referência. 2. Participativas, com discussão de exemplos. 3. Ativas, com realização de exercícios. 4. Trabalho Autónomo: Além da assiduidade, espera-se que o aluno trabalhe cerca de 10 horas semanais para consultar bibliografia, rever matéria, pesquisar temas, resolver exercícios.

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


As metodologias de ensino-aprendizagem visam o desenvolvimento das principais competências de aprendizagem dos alunos que permitam cumprir com cada um dos objectivos de aprendizagem. A seguir, apresentam-se as principais interligações entre as metodologias de ensino-aprendizagem e os respectivos objectivos de aprendizagem (OA): 1. Aulas Expositivas: OA2 a OA6 2. Aulas Participativas: OA1 a OA7 3. Aulas Ativas: OA1 a OA8 4. Trabalho Autónomo: OA3 a OA8 O documento de Planeamento de Unidade Curricular (PUC), detalhado para cada aula, evidencia a relação entre os métodos pedagógicos de ensino (conforme a tipologia de aula) e os objectivos de aprendizagem. Neste caso, o alinhamento entre os instrumentos de avaliação e os objectivos de aprendizagem, são alcançados com a prova prática - realizada no computador, e que envolve as noções básicas sobre algoritmia e programação estruturada (OA1 a OA5) -, e um teste escrito individual e sem consulta, englobando toda a matéria (OA2 a OA8), incidindo em particular nas noções sobre programação orientada a objectos (OA6 a OA8).

Observações / Observations


Toda a documentação necessária ao acompanhamento dos conteúdos leccionados nesta unidade curricular está disponível (ou, em alguns casos, é indicada) na plataforma de e-learning, onde também serão publicados os resultados da avaliação.

Bibliografia Principal / Main Bibliography


- Liang, Daniel (2018). Introduction to Java, Comprehensive Version: International Edition (10th ed.). London, NJ: Prentice Hall / Pearson Education. ISBN-10: 0-27-3771388 ISBN-13: 978-0273771388 - Mendes, António e Marcelino, Maria (2012). Fundamentos de Programação em Java (4ª ed.). Lisboa: FCA. ISBN 978-972-722-637-5 - Aulas, apontamentos, exemplos e exercícios práticos disponibilizados na plataforma de e-learning.

Bibliografia Secundária / Secondary Bibliography


- Eckel, Bruce (2007). Thinking in Java (4th ed.). London: Prentice Hall. ISBN: 0-13-187248-6 - Hubbard, John (2002). Programação em Java. Lisboa: McGraw-Hill. ISBN 972-773-141-4 - Jesus, Carla (2013). Curso Prático de Java. Lisboa: FCA. ISBN 978-972-722-750-1 - Neto, João (2014). Programação, Algoritmos e Estruturas de Dados (3ª ed.). Lisboa: Escolar Editora. ISBN: 972-592-179-8 - Tutoriais de Java disponíveis online. - Apontamentos, exemplos, exercícios e manuais disponibilizados na plataforma de e-learning.

Data da última atualização / Last Update Date


2024-07-22