Técnicas de Programação de Computadores

Objetivos

Esta unidade curricular visa desenvolver o conhecimento de técnicas de programação de computadores e permitirá o projeto e desenvolvimento de programas para uma variedade de aplicações.

Objetivos de aprendizagem

  1. Ser capaz de projetar e desenvolver código usando métodos de programação estruturada
  2. Ser capaz de usar a modularização apropriada perante a linguagem de programação escolhida
  3. Ser capaz de produzir a documentação apropriada para um determinado programa
  4. Ser capaz de criar e aplicar calendários de testes apropriados

Conteúdos Programáticos

  1. Projeto e desenvolvimento de código usando métodos de programação estruturada
    • Armazenamento: conceito de armazenamento de informação num programa de computador, uso de variáveis, constantes e literais; tipos de dados pré-definidos, inteiros, vírgula flutuante, caracteres, booleanos (lógicos), cadeias de carateres, tabelas 1D e 2D de tipos simples, ficheiros simples, consequências da utilização destes tipos de dados, operadores disponíveis com a linguagem de programação adotada.
    • Estruturas de controlo: identificação e seleção da estrutura de controlo interativa e de seleção na escrita de programas simples.
    • Síntaxe da linguagem de programação: as facilidadades e regras da linguagem (operadores, comandos de entrada e saída, etc).
    • Projeto do programa: uso de uma aproximação algorítmica ao desenvolvimento duma solução para um problema (diagramas de estrutura, pseudo- código, etc); a produção de programas testados perante especificações prévias.
    • Práticas e normas de programação: uso de comentários; estrutura do código: indentação consistente e identificadores descritivos.
  2. Uso da modularização apropriada à linguagem de programação
    • Uso de funções/procedimentos: uso e criação de funções e procedimentos pré-definidos e definidos pelo utilizador, mapeamento de um projeto estruturado num programa com a utilização de funções e procedimentos.
    • Âmbito de variáveis: global, local, estático e externo.
    • Parâmetros: passagem de dados por valor e por referência, utilização de valores de retorno.
  3. Produção da documentação apropriada para uma dada aplicação
    • Apresentação da documentação: aplicações (processadores de texto ou de gráficos); documentação de análise, projeto e realização; normas profissionais; necessidades da indústria.
    • Documentação do utilizador: documentação para aplicações de programação especificadas; objetivo e operação do programa projetado.
    • Documentação do programa: documentação que cobre os aspetos técnicos duma dada aplicação incluindo os algorimos realizados, as tabelas de dados, síntaxe das estruturas de controlo (seleção, iteração), métodos adotados para a interface para o utilizador.
  4. Criação e aplicação de testes
    • Tipos de erros: semânticos, sintáticos e em tempo de execução.
    • Documentação de teste: plano de teste e demonstração relacionada de teste.
    • Dados de teste e calendarização: caixa negra, caixa branca e teste a seco.
    • Técnicas de deteção de erros: mensagens do compilador, ferramentas de depuração e percursos estruturados.

Bibliografia e recursos didáticos recomendados

  1. Brian Kernighan, Dennis Ritchie, "The C Programming Language," 2.a edição, Prentice-Hall, 1988.
  2. K. N. King, "C Programming: A Modern Approach," 2.a edição, W. W. Norton & Company, 2008.