Código: | CC1003 | Sigla: | CC1003 | Nível: | 100 |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Ciência de Computadores |
Ativa? | Sim |
Página Web: | http://www.dcc.fc.up.pt/~pbv/aulas/progimp |
Unidade Responsável: | Departamento de Ciência de Computadores |
Curso/CE Responsável: | Licenciatura em Ciência de Computadores |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
L:B | 1 | Plano de Estudos Oficial | 3 | - | 6 | 56 | 162 |
L:CC | 72 | Plano de estudos a partir de 2014 | 1 | - | 6 | 56 | 162 |
L:F | 3 | Plano de Estudos Oficial | 3 | - | 6 | 56 | 162 |
L:G | 0 | Plano estudos a partir do ano letivo 2017/18 | 2 | - | 6 | 56 | 162 |
3 | |||||||
L:M | 3 | Plano de Estudos Oficial | 2 | - | 6 | 56 | 162 |
3 | |||||||
L:Q | 0 | Plano estudos a partir do ano letivo 2016/17 | 3 | - | 6 | 56 | 162 |
MI:ERS | 115 | Plano Oficial desde ano letivo 2014 | 1 | - | 6 | 56 | 162 |
Introdução à programa imperativa usando a linguagem C. Estudo e implementação de estruturas de dados e algoritmos fundamentais (computação numérica, variáveis indexadas, pesquisa e ordenação).
Introdução à utilização de ferramentas de desenvolvimento num sistema GNU/Linux: editor de texto, compilador e "debugger".
Introdução à especificação informal de componentes de programas (e.g. functions); utilização de ferramentas de testes automáticos para deteção e correção de erros em programas.
Pretende-se que os estudantes:
- conheçam a semântica de constituintes fundamentais da linguagem C;
- sejam capazes de simular passo a passo a execução de pequenos programas;
- sejam capazes de escrever, testar e executar programas para para resolução de problemas simples a partir de uma especifição informal;
- conhecer alguns algoritmos básicos (computação numérica, contagem, pesquisa, ordenação);
- adquiram competências básicas de programação estruturada.
Introdução à linguagem C. Breve contextualização histórica. Características da linguagem. Vantagens e desvantagens da linguagem. Perigos e cuidados na sua utilização.
Fundamentos de linguagem C. Estrutura sintática de programas. Diretivas, declarações, expressões. Compilação e execução.
Tipos básicos (inteiros, virgula flutuante, carateres). Controlo de fluxo. Ciclos. Definição de funções. Entrada e saida formatada.
Algoritmos numéricos e semi-numéricos elementares (e.g. algoritmo de Euclides para o mdc, cálculo de potências, método de Newton para cálculo de raizes).
Variáveis indexadas. Algortimos fundamentas: contagem, pesquisa e ordenação. Cadeias de carateres.
Organização de programas: ficheiros "header", bibliotecas, compilação separada.
Deteção e correção de erros. Utilização de um "debugger" e uso de asserções.
Introdução ao programação com apontadores.
Aulas teóricas: exposição oral de conceitos suportada por apresentação de "slides"; resolução interativa de exemplos de programação ilustrativos e exercícios complementares.
Aulas laboratoriais: resolução de problemas em computador; utlização de ferramentas de desenvolvimento (editor, debugger, sistema de testes automático) como auxiliar para a deteção e correção de erros em exercícios selecionados.
Designação | Peso (%) |
---|---|
Exame | 80,00 |
Participação presencial | 0,00 |
Teste | 20,00 |
Total: | 100,00 |
Designação | Tempo (Horas) |
---|---|
Frequência das aulas | |
Trabalho laboratorial | |
Total: | 0,00 |
Perde a frequência o estudante que:
- faltar a mais de um terço das aulas práticas dadas;
OU
- não resolver corretamente pelo menos metade dos exercícios de práticas com correção automática.
Poderão ser dispensados da frequência das aulas práticas os estudantes em segunda inscrição que tiverem sobreposição de horário com disciplinas de outros anos. Estes estudantes devem contactar o responsável da disciplina por e-mail e expor o seu caso concreto.
A avaliação tem em conta as seguintes provas:
T: classificação do testes intermédio
E: classificação do exame
F: classificação final
A nota final é F = T*0.20 + E*0.80
Os estudantes podem melhorar a nota do exame final de acordo com os regulamentos gerais.