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