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)

Cursos Relacionados

Combined C/C++, JAVA and Web Application Security

28 horas

Advanced Java Security

21 horas

Combined JAVA, PHP and Web Application Security

28 horas

Standard Java Security

14 horas

Java and Web Application Security

21 horas

Advanced Java, JEE and Web Application Security

28 horas

Categorias Relacionadas