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: 2024/2025 - 2S Ícone do Moodle

Ativa? Sim
Página Web: https://www.dcc.fc.up.pt/~pribeiro/aulas/pii2425
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 79 Plano estudos a partir do ano letivo 2021/22 1 - 3 24 81

Docência - Responsabilidades

Docente Responsabilidade
Pedro Manuel Pinto Ribeiro Regente

Docência - Horas

Teórica: 0,92
Práticas Laboratoriais: 0,92
Tipo Docente Turmas Horas
Teórica Totais 1 0,923
Pedro Manuel Pinto Ribeiro 0,923
Práticas Laboratoriais Totais 3 2,769
Alberto José Rajão Barbosa 1,846
Pedro Manuel Pinto Ribeiro 0,923

Língua de trabalho

Português - Suitable for English-speaking students

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

Será dada ênfase à resolução prática de problemas com foco nas noções de algoritmo, modularidade, programação estruturada e qualidade do código.

Resultados de aprendizagem e competências

No final desta unidade curricular, os estudantes deverão ser capazes de:

  • usar a sintaxe e semântica de constituintes fundamentais da linguagem C;

  • escrever, testar e executar programas para resolução de problemas simples a partir de uma especificação informal;

  • implementar alguns algoritmos elementares em C;

  • conhecer o conceito de apontador e usá-lo no processamento de variáveis indexadas e cadeias de carateres;

  • conhecer e utilizar funções das bibliotecas padrão da linguagem C;

  • ter competências básicas nas escrita de programas estruturados, corretos e eficientes.

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.

Noções de apontadores. Variáveis indexadas. Cadeias de carateres. Tipos estruturados.

Algoritmos elementares (contagem, pesquisa, ordenação, algoritmos numéricos).

Recursividade. Resolução de problemas simples usando algoritmos iterativos e recursivos.

Desenvolvimento incremental. Deteção e correção de erros. Noçõs de eficiência e correção.

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

Exposição teórico-prática, com análise e discussão interativa de problemas e programas.

Aulas práticas para resolução de exercícios em computador, com utilização de ferramentas de desenvolvimento e de um sistema de avaliação automática.

Software

Mooshak - A system for automatic evaluation of code
GCC - GNU C Compiler

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Teste 40,00
Exame 50,00
Trabalho laboratorial 10,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 32,00
Frequência das aulas 24,00
Trabalho laboratorial 25,00
Total: 81,00

Obtenção de frequência

Presença em pelo menos 50% das aulas práticas.

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

A classificação final é obtida tendo em conta os seguintes componentes:

  • A: classificação dos exercícios submetidos no sistema de avaliação automática durante as aulas;
  • T: teste prático no final das 6 semanas de aulas;
  • E: exame final escrito.

A classificação final (F) é determinada por F = A*0.1 + T*0.4 + E*0.5

Nota: Não existe nota mínima em nenhum componente. Será permitido aos estudantes uma hipótese de melhoria do teste prático antes da época de exames.

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-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-13 às 15:14:03 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias