Disciplina

Á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

Martins J.P.

2012

IST Press


Python for Software Design

Downey A.B.

2009

Cambridge University Press


Secundária

Python Programming: An Introduction to Computer Science

Zelle J.M.

2010

Franklin, Beedle & Associates