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


2022/2023

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 Periódica: - Teste prático* (50%) - prova prática individual - para avaliação dos conhecimentos em programação procedimental/funcional - a realizar a meio do período de aulas. - Teste teórico-prático* (50%) - teste escrito individual e sem consulta 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). Avaliação por Exame: O exame final é um teste escrito individual, sem consulta e com toda a matéria. Os alunos vão a exame final caso optem por este método de avaliação, não tenham assistido a pelo menos 50% das aulas, ou não tenham obtido uma média positiva (pelo menos 10 em 20), e pelo menos 7 no teste teórico-prático, na avaliação periódica. Nota * Ambos os testes (na avaliação periódica) podem ser realizados online, via e-learning e apoio por zoom.

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


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

Bibliografia Secundária / Secondary Bibliography


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

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


2024-02-16