Programa do Curso

Introdução

  • Visão geral das características e aplicações do C

Preparando o ambiente de desenvolvimento

  • Escolher um IDE
  • Configurando o compilador

Escrever um programa de amostra

  • Definição do problema
  • Codificação de acordo com os requisitos

Definição do escopo de variáveis e funções

  • Compreender o âmbito, a visibilidade e o tempo de vida
  • Trabalhar com classes de armazenamento: auto, extern, register, static

Gerir dados num programa C

  • Para além dos tipos de dados primitivos
  • Trabalhar com tipos de dados avançados: estruturas, listas ligadas, etc.
  • Armazenar diferentes tipos de dados na mesma posição de memória

Modificando as propriedades de uma variável

  • Para além dos modificadores de tipo
  • Trabalhar com qualificadores de tipo: constante, volátil, etc.

Manipulando Bits em C

  • Trabalhar com dados mais pequenos que um byte
  • Trabalhar com operadores de manipulação de bits

Controlar o fluxo do programa

  • Para além da sequenciação
  • Utilizar a instrução goto

Ler e escrever dados

  • Recapitulação das funções de entrada/saída
  • Melhorar a legibilidade da saída

Desenvolvimento de código multiplataforma

  • Compreender as directivas do compilador
  • Compilar código condicionalmente

Melhorar o desempenho do programa

  • Macros vs funções
  • Definição de macros para executar fragmentos de programa

Atribuição dinâmica de memória

  • Vantagem da utilização de apontadores: velocidade de execução
  • Apontadores para funções
  • Accessing de memória e manipulação do endereço

Depurando um programa C

  • Técnicas avançadas de verificação, deteção e correção de erros
  • Trabalhar com o gdb (Gnu Debugger)

Criação de uma biblioteca estática

  • Como é que uma biblioteca estática é ligada a um ficheiro executável
  • Criar uma biblioteca estática

Criação de uma biblioteca partilhada

  • Bibliotecas estáticas vs bibliotecas partilhadas (bibliotecas dinâmicas)
  • Como uma biblioteca partilhada é ligada e carregada na memória em tempo de execução
  • Criar uma biblioteca partilhada

Abstração de dados no programa

  • Visão geral da interface, especificação e implementação
  • Criação de um tipo de dados abstrato
  • Teste de regressão de um tipo de dados abstrato

SearchInserir e ordenar dados

  • [Ordenar matrizes através de pesquisa linear, pesquisa binária, etc.
  • Ordenar matrizes utilizando a ordenação por seleção, a ordenação por inserção, a ordenação por bolhas

Interprocessos Communication e sinais

  • Entendendo processos, soquetes e sinais
  • Implementar IPC utilizando ficheiros partilhados, memória partilhada, pipes, filas de mensagens, sockets, semáforos, etc.

Fazendo seu programa C rodar em paralelo

  • Executar diferentes partes de um programa em simultâneo através de multithreading
  • Escrever uma thread

Redes avançadas Programming

  • Recapitulação de TCP, UDP, IP e outros protocolos dominantes
  • Servir várias portas, sobreviver a interrupções abruptas da rede, etc.
  • Escrevendo APIs de soquete poderosas

Rumo a um código de alta qualidade

  • Revisão de código pelos pares e programação paralela
  • A importância da codificação iterativa (refactoring)

Resumo e conclusão

Requisitos

  • Experiência em programação C

Público

  • Programadores
  • Desenvolvedores
 28 Horas

Número de participantes


Preço por Participante

Declaração de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas