Saltar para:
Logótipo
Você está em: Início > CCINF1002
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 II

Código: CCINF1002     Sigla: CCINF1002

Áreas Científicas
Classificação Área Científica
OFICIAL Ciências da Computação e da Informação

Ocorrência: 2023/2024 - 2S Ícone do Moodle

Ativa? Sim
Página Web: https://www.dcc.fc.up.pt/~slc/PII
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Licenciatura em Engenharia Física

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:EF 84 Plano estudos a partir do ano letivo 2021/22 1 - 3 28 81

Língua de trabalho

Português

Objetivos

Pretende-se complementar conhecimentos prévios de programação numa linguagem interpretada (Python) com uma formação específica para programação numa linguagem compilada e de baixo-nível (C). No final desta UC, os estudantes deverão ser capazes de:

  1. Traduzir programas elementares em Python para a linguagem C;
  2. Usar ferramentas de desenvolvimento da linguagem (compilador, debugger);
  3. Usar funcionalidades básicas da biblioteca padrão de C para cadeias e entrada/saída de dados;
  4. Compreender o conceito de apontador e usá-los em programas que processem estruturas de dados elementares (vetores e listas ligadas).

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

Programa

Introdução à linguagem C. Características da linguagem: vantagens, desvantagens 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.

Exemplos de tradução de programas Python que implementam algoritmos elementares para linguagem C.

Variáveis indexadas. Cadeias de carateres.

Tipos estruturados e uniões.

Organização de programas: ficheiros "header", bibliotecas.

Deteção e correção de erros. Utilização de um "debugger" e uso de asserções.

Introdução programação com alocação dinâmica de memória e apontadores.

Bibliografia Obrigatória

K. N. King; C programming. ISBN: 0-393-96945-2

Bibliografia Complementar

Brian W. Kernighan; 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/ou Codex).

Software

gcc - gnu c compiler
gdb - gnu debugger

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Teste 90,00
Trabalho prático ou de projeto 10,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 53,00
Frequência das aulas 28,00
Total: 81,00

Obtenção de frequência

Frequência obrigatória às aulas práticas (conforme o regulamento da Universidade do Porto).

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

A classificação final é obtida tendo em conta as seguintes provas:

  • A: classificação dos exercícios submetidos no sistema on-line de testes automáticos;
  • T1: classificação de um primeiro teste realizado durante o semestre;
  • T2: classificação de um segundo teste realizado durante a primeira época de exames

A classificação final (F) determinada por F = A*0.1 + T1*0.40 + T2*0.50

Os exames de época 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.
Exame (com peso de 100% na nota).

Observações

Júri da UC: Sérgio Crisóstomo e Pedro Vasconcelos.
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © 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: 2025-06-15 às 00:27:58 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias