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
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