| Código: | CC1003 | Sigla: | CC1003 | Nível: | 100 |
| Áreas Científicas | |
|---|---|
| Classificação | Área Científica |
| OFICIAL | Ciência de Computadores |
| Ativa? | Sim |
| 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 | 48 | 162 |
| L:CC | 118 | Plano estudos a partir do ano letivo 2021/22 | 1 | - | 6 | 48 | 162 |
| L:F | 1 | Plano de Estudos Oficial | 2 | - | 6 | 48 | 162 |
| 3 | |||||||
| L:G | 1 | Plano estudos a partir do ano letivo 2017/18 | 2 | - | 6 | 48 | 162 |
| 3 | |||||||
| L:IACD | 124 | Plano Oficial a partir do ano letivo 2021/22 | 1 | - | 6 | 48 | 162 |
| L:M | 2 | Plano de Estudos Oficial | 2 | - | 6 | 48 | 162 |
| 3 | |||||||
| L:Q | 0 | Plano estudos a partir do ano letivo 2016/17 | 3 | - | 6 | 48 | 162 |
Introduzir os conceitos elementares de programação imperativa enfatizando a noção de algoritmo e de modularidade.
Pretende-se que os estudantes:
- sejam capazes de conceber algoritmos para resolução de problemas simples e de os implementar na linguagem de programação C
- fiquem a conhecer alguns algoritmos básicos (contagem, pesquisa, ordenação, ...)
- adquiram bons hábitos de programação.
Pretende-se que os estudantes:
- conheçam a sintaxe e semântica de constituintes fundamentais da linguagem C;
- sejam capazes de escrever, testar e executar programas para resolução de problemas simples a partir de uma especifição informal;
- sejam capazes de implementar alguns algoritmos elementares em C
- compreendam o conceito de apontador e sejam capazes de o utilizar para processamento de variáveis indexadas e cadeias de carateres
- compreendam e saibam utilizar a alocação dinâmica de memória
- sejam capazes de utilizar funções da biblioteca padrão da linguagem C para processamento de cadeias e leitura/escrita de ficheiros
- adquiram competências de programação estruturada.
- conheçam estruturas elementares de dados (listas ligadas, arvores)
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.
Variáveis indexadas. Algortimos fundamentas: contagem, pesquisa e ordenação. Cadeias de carateres.
Organização de programas: ficheiros "header" e bibliotecas padrão.
Deteção e correção de erros. Utilização de um "debugger" e uso de asserções.
Introdução ao modelo de memória da linguagem C. Programação com apontadores. Utilização de apontadores para processar cadeias e variáveis indexadas.
Recursividade. Resolução de problemas simples usando algoritmos iterativos e recursivos.
Definição de novos tipos de dados (estruturas, unions).
Leitura e escrita de ficheiros.
Definição e uso de estruturas de dados elementares (listas ligadas, arvores).
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.
Utilização de sistemas de avaliação automática (Codex).
https://codex.dcc.fc.up.pt/cc1003/
| Designação | Peso (%) |
|---|---|
| Exame | 60,00 |
| Teste | 40,00 |
| Total: | 100,00 |
| Designação | Tempo (Horas) |
|---|---|
| Frequência das aulas | 48,00 |
| Estudo autónomo | 64,00 |
| Trabalho laboratorial | 50,00 |
| Total: | 162,00 |
Perde a frequência o estudante que faltar a mais de 3 aulas práticas dadas.
A avaliação tem em conta as seguintes provas:
T1: classificação do primeiro teste durante o semestre
T2: classificação do segundo teste realizado durante a época de exames
F: classificação final
A nota final é F = T1*0.40 + T2*0.60
Os exames de recurso, melhoria de nota e de épocas especiais são cotados para 100% da classificação.
Para serem aprovados, os alunos devem ter classificação final igual ou superior a 9,5 valores (em 20).
Para serem aprovados, os alunos devem ter nota igual ou superior a 6 valores (em 20) em cada um dos testes.
Os estudantes podem melhorar a nota do exame final de acordo com os regulamentos gerais.