Disciplina
Fundamentos da Programação
Área
Área Científica de Metodologia e Tecnologias da Programação > Linguagens de Programação
Activa nos planos curriculares
LENO 2021 > LENO 2021 > 1º Ciclo > Formação Fundamental > Fundamentos da Programação
LEIC-T 2021 > LEIC-T 2021 > 1º Ciclo > Formação Fundamental > Fundamentos da Programação
LEME 2021 > LEME 2021 > 1º Ciclo > Formação Fundamental > Fundamentos da Programação
LEFT 2021 > LEFT 2021 > 1º Ciclo > Formação Fundamental > Fundamentos da Programação
LEMec 2021 > LEMec 2021 > 1º Ciclo > Formação Fundamental > Fundamentos da Programação
LETI 2021 > LETI 2021 > 1º Ciclo > Formação Fundamental > Fundamentos da Programação
LEIC-A 2021 > LEIC-A 2021 > 1º Ciclo > Formação Fundamental > Fundamentos da Programação
LERC 2006 > LERC 2006 > 1º Ciclo > Ciências da Engenharia Informática > Fundamentos da Programação
LEIC-A 2006 > LEIC-A 2006 > 1º Ciclo > Ciências da Engenharia Informática > Fundamentos da Programação
LEIC-T 2006 > LEIC-T 2006 > 1º Ciclo > Ciências da Engenharia Informática > Fundamentos da Programação
Nível
A avaliação de conhecimentos da disciplina não tem exame final, sendo apenas realizada avaliação do tipo contínuo com os seguintes componentes: 1. Avaliação durante as aulas práticas recorrendo à resolução de exercícios no quadro ou de pequenos trabalhos para casa (estas avaliações são classificadas com uma das notas 0, 5, 10, 15 ou 20). Cada aluno terá no mínimo três destas avaliações. Os trabalhadores estudantes devem comparecer pelo menos a três aulas práticas (sendo avisados previamente). 2. Dois testes realizados em comum por todos os alunos com uma duração de uma hora e meia. Durante época de exames, existirá uma data para a repescagem de um dos testes. No entanto, se um aluno se apresentar à repescagem, a nota obtida no respectivo teste será a nota da repescagem, independentemente de esta ser superior ou inferior à do teste. 3. Projecto de programação em grupos de dois ou três alunos, com duas entregas. Para obter aprovação na disciplina, as seguintes condições têm que ser cumulativamente verificadas: 1.A média aritmética dos dois testes realizados em comum é superior ou igual a 9.5 valores; 2.A nota do projecto é superior ou igual a 9.5 valores. Nestas condições, a nota da disciplina é calculada como sendo o maior dos seguintes valores: Cálculo com trabalhos das aulas práticas, no qual são usados os seguintes pesos: 1. Projecto 45 %; 2. Média aritmética dos exercícios das aulas práticas 10%; 3. Média aritmética dos dois testes 45%. Cálculo sem trabalhos das aulas práticas, no qual são usados os seguintes pesos: 1. Projecto 45 %; 2. Média aritmética dos dois testes 55%.
Tipo
Estruturante
Regime
Semestral
Carga Horária
1º Semestre
3.0 h/semana
1.5 h/semana
105.0 h/semestre
Objectivos
Fornecer conhecimentos sobre conceitos fundamentais relativos à actividade de programação, nomeadamente, algoritmo, abstracção procedimental e abstracção de dados, a programação como construção de abstracções, paradigmas de programação. Após a frequência da cadeira, os alunos deverão dominar os conceitos apresentados e ser capaz de desenvolver programas numa linguagem de programação de alto nível.
Programa
Algoritmos, programas e processos. Sintaxe e semântica. Tipos elementares. Variáveis. Atribuição. Instruções condicionais. Ciclos. Entrada e saída de dados. Funções. Abstracção procedimental. Desenvolvimento do topo para a base. Padrões de computação. Iteração e recursão. Tipos estruturados. Listas e tabelas de dispersão. Algoritmos de procura e de ordenação. Complexidade. Ordens de crescimento. Tipos abstractos de informação. Programação funcional, programação imperativa e programação por objectos. Encapsulação da informação.
Metodologia de avaliação
A avaliação de conhecimentos da disciplina não tem exame final, sendo apenas realizada avaliação do tipo contínuo com os seguintes componentes: 1. Avaliação durante as aulas práticas recorrendo à resolução de exercícios no quadro ou de pequenos trabalhos para casa (estas avaliações são classificadas com uma das notas 0, 5, 10, 15 ou 20). Cada aluno terá no mínimo três destas avaliações. Os trabalhadores estudantes devem comparecer pelo menos a três aulas práticas (sendo avisados previamente). 2. Dois testes realizados em comum por todos os alunos com uma duração de uma hora e meia. Durante época de exames, existirá uma data para a repescagem de um dos testes. No entanto, se um aluno se apresentar à repescagem, a nota obtida no respectivo teste será a nota da repescagem, independentemente de esta ser superior ou inferior à do teste. 3. Projecto de programação em grupos de dois ou três alunos, com duas entregas. Para obter aprovação na disciplina, as seguintes condições têm que ser cumulativamente verificadas: 1.A média aritmética dos dois testes realizados em comum é superior ou igual a 9.5 valores; 2.A nota do projecto é superior ou igual a 9.5 valores. Nestas condições, a nota da disciplina é calculada como sendo o maior dos seguintes valores: Cálculo com trabalhos das aulas práticas, no qual são usados os seguintes pesos: 1. Projecto 45 %; 2. Média aritmética dos exercícios das aulas práticas 10%; 3. Média aritmética dos dois testes 45%. Cálculo sem trabalhos das aulas práticas, no qual são usados os seguintes pesos: 1. Projecto 45 %; 2. Média aritmética dos dois testes 55%.
Pré-requisitos
Componente Laboratorial
Princípios Éticos
Componente de Programação e Computação
Componente de Competências Transversais
Bibliografia
Principal
Programação em Python: Introdução à Programação usando Múltiplos Paradigmas
Secundária
Python Programming: An Introduction to Computer Science