Programa do Curso

Introdução

  • Visão geral das funcionalidades e aplicações do C

Preparando o Ambiente de Desenvolvimento

  • Escolhendo um IDE
  • Configurando o compilador

Escrevendo um Programa de Exemplo

  • Definindo o problema
  • Codificando conforme os requisitos

Definindo o Escopo de Variáveis e Funções

  • Entendendo escopo, visibilidade e tempo de vida
  • Trabalhando com classes de armazenamento: auto, extern, register, static

Gestão de Dados em um Programa C

  • Alem dos tipos de dados primitivos
  • Trabalhando com tipos de dados avançados: estruturas, listas encadeadas, etc.
  • Armazenando diferentes tipos de dados no mesmo local de memória

Modificando as Propriedades de uma Variável

  • Alem dos modificadores de tipo
  • Trabalhando com qualificadores de tipo: constante, volátil, etc.

Manipulando Bits em C

  • Trabalhando com dados menores que um byte
  • Trabalhando com operadores de manipulação de bits

Controle do Fluxo do Seu Programa

  • Alem da sequência
  • Usando a instrução goto

Lendo e Escrevendo Dados

  • Revisão das funções de Entrada/Saída
  • Melhorando a legibilidade da saída

Desenvolvendo Código Multiplataforma

  • Entendendo diretivas do compilador
  • Compilando código condicionalmente

Aprimorando o Desempenho do Programa

  • Definindo macros para executar fragmentos de programa

Alocando Memória Dinamicamente

  • Vantagem do uso de ponteiros: velocidade de execução
  • Ponteiros para funções
  • Acessando memória e manipulando o endereço

Depurando um Programa C

  • Técnicas avançadas para verificar, detectar e corrigir erros
  • Trabalhando com gdb (Gnu Debugger)

Criando uma Biblioteca Estática

  • Como uma biblioteca estática é vinculada ao arquivo executável
  • Criando uma biblioteca estática

Criando uma Biblioteca Compartilhada

  • Bibliotecas estáticas vs bibliotecas compartilhadas (dinâmicas)
  • Como uma biblioteca compartilhada é vinculada e carregada na memória em tempo de execução
  • Criando uma biblioteca compartilhada

Abstração de Dados no Seu Programa

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

Pesquisa e Ordenação de Dados

  • Pesquisando arrays usando busca linear, busca binária, etc.
  • Ordenando arrays usando ordenação por seleção, inserção, bolha

Comunicação Interprocessual e Sinais

  • Entendendo processos, sockets e sinais
  • Implementando IPC usando arquivos compartilhados, memória compartilhada, pipes, filas de mensagens, sockets, semáforos, etc.

Fazendo seu Programa C Rodar em Paralelo

  • Executando diferentes partes de um programa simultaneamente através de multithreading
  • Escrevendo uma thread

Programação Avançada de Rede

  • Revisão de TCP, UDP, IP e outros protocolos dominantes
  • Servindo múltiplos portos, sobrevivendo a interrupções abruptas da rede, etc.
  • Escrevendo poderosas APIs de socket

Rumo ao Código de Alta Qualidade

  • Avaliação de código entre pares e programação paralela
  • A importância da codificação iterativa (refatoração)

Resumo e Conclusão

Requisitos

  • Experiência com programação em C

Público-Alvo

  • Programadores
  • Desenvolvedores
 28 Horas

Declaração de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas