Saltar para:
Logótipo
This page in english Ajuda Autenticar-se
FCUP
Você está em: Início > CC1003
Autenticação




Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Programação Imperativa

Código: CC1003     Sigla: CC1003     Nível: 100

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2020/2021 - 1S Ícone do Moodle

Ativa? Sim
Página Web: http://piazza.com/up.pt/fall2020/cc1003
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Licenciatura em Ciência de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L:B 1 Plano estudos a partir do ano letivo 2016/17 3 - 6 56 162
L:CC 94 Plano de estudos a partir de 2014 1 - 6 56 162
L:F 1 Plano estudos a partir do ano letivo 2017/18 3 - 6 56 162
L:G 1 Plano estudos a partir do ano letivo 2017/18 2 - 6 56 162
3
L:M 0 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 136 Plano Oficial desde ano letivo 2014 1 - 6 56 162

Docência - Responsabilidades

Docente Responsabilidade
Ana Paula Nunes Gomes Tomás Regente

Docência - Horas

Teórica: 2,00
Práticas Laboratoriais: 2,00
Tipo Docente Turmas Horas
Teórica Totais 1 2,00
Ana Paula Nunes Gomes Tomás 2,00
Práticas Laboratoriais Totais 9 18,00
Pedro Gabriel Dias Ferreira 6,00
Pedro Baltazar Vasconcelos 2,00
Ana Paula Nunes Gomes Tomás 2,00
Nuno Miguel Pereira Moniz 4,00
Francesco Renna 4,00
Mais informaçõesA ficha foi alterada no dia 2020-10-02.

Campos alterados: URL da página

Língua de trabalho

Português

Objetivos

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.

Resultados de aprendizagem e competências

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.

     

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

N/A

Programa

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, bisseções sucessivas para resolução de equações).

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

Bibliografia Obrigatória

000002544. ISBN: 0-393-96945-2 (K.N.King, C programming : a modern approach : with a preview of C++, 2nd Edition 2008)

Bibliografia Complementar

Thomas H. Cormen; Introduction to algorithms. ISBN: 978-0-262-03384-8
Kernighan Brian W.; The C programming language. ISBN: 0-13-110163-3
Jon Bentley; Programming pearls. ISBN: 9780201657883

Métodos de ensino e atividades de aprendizagem

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 (Mooshak e Codex). 

https://mooshak.dcc.fc.up.pt/~pi/ 
https://codex.dcc.fc.up.pt/cc1003/

Software

Codex
Mooshak
gdb - gnu debugger
gcc - gnu c compiler
GNU emacs

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Exame 80,00
Teste 20,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Frequência das aulas 56,00
Estudo autónomo 56,00
Trabalho laboratorial 50,00
Total: 162,00

Obtenção de frequência

Não aplicável em 2020/21.

Fórmula de cálculo da classificação final

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.20 + T2*0.80 

Os exames de recurso, melhoria de nota e de épocas especiais são cotados para 100% da classificação.

Melhoria de classificação

Os estudantes podem melhorar a nota do exame final de acordo com os regulamentos gerais.

Recomendar Página Voltar ao Topo
Copyright 1996-2022 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2022-01-24 às 16:58:33 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais