
Curso de Programação em C/C++
Domine C e C++ do zero, cobrindo desde memória bruta e ponteiros até recursos modernos do C++20, padrões de projeto e sistemas concorrentes. Este curso oferece a profundidade técnica que desenvolvedores profissionais e engenheiros de sistemas realmente usam no trabalho. Seja para firmware embarcado, aplicações de alto desempenho ou entrevistas técnicas, você sairá com habilidades reais e prontas para produção.
O que você vai aprender:
Você construirá uma base completa em sintaxe de C e C++, gerenciamento de memória e programação orientada a objetos antes de avançar para templates, a Biblioteca Padrão de Templates e os recursos modernos de C++17/20. O curso aborda estruturas de dados e algoritmos implementados do zero, dando a você as habilidades de resolução de problemas necessárias para entrevistas técnicas e trabalho com sistemas. Você também aprenderá a usar ferramentas padrão da indústria, incluindo CMake, GDB, Google Test e analisadores estáticos. Tópicos de programação embarcada e de nível de sistemas preparam você para desenvolvimento de firmware e baixo nível. Ao final, você estará equipado para projetar, construir e entregar software C++ robusto em ambientes profissionais.
Como você estuda de forma prática Curso de Programação em C/C++
Como você pratica Curso de Programação em C/C++
Para si que é empresa e quer formar a equipa
Na Dedika para empresas, o curso inclui exercícios e exemplos do próprio negócio e adaptados às necessidades da sua empresa.
Conteúdo do curso
8 Capítulos • 40 AulasDuração entre 4 e 360 horas (você decide)
Capítulo 1EsconderEsconder detalhesVer detalhesAmbiente C/C++ e Fundamentos de Sintaxe
Ambiente C/C++ e Fundamentos de Sintaxe
Aula 1 • Variáveis, Tipos e Literais
Apresenta tipos de dados primitivos, declaração de variáveis e valores literais. O domínio deste tópico permite a representação correta de dados ao longo do curso.
Aula 2 • Fundamentos de Entrada e Saída
Ensina E/S de console usando printf/scanf em C e cin/cout em C++. Possibilita programas interativos necessários em todos os exercícios práticos.
Aula 3 • Operadores e Expressões
Aborda operadores aritméticos, relacionais, lógicos e bit a bit com regras de precedência. Desenvolve a habilidade de escrever expressões necessária para todo fluxo de controle e algoritmos.
Aula 4 • Sintaxe Principal e Estrutura do Programa
Aborda tokens, instruções, blocos e a anatomia de um arquivo-fonte C/C++. Conecta-se diretamente à escrita de qualquer programa válido em capítulos posteriores.
Aula 5 • Configuração do Ambiente de Desenvolvimento
Instale e configure compiladores, editores e ferramentas de build para C/C++. Fornece a base técnica da qual todos os capítulos subsequentes dependem.
Capítulo 2EsconderEsconder detalhesVer detalhesFluxo de Controle e Funções
Fluxo de Controle e Funções
Aula 1 • Declaração e Definição de Funções
Apresenta protótipos de funções, definições e mecânica de chamada em C/C++. Estabelece princípios de design modular usados ao longo do curso.
Aula 2 • Escopo, Tempo de Vida e Classes de Armazenamento
Explica variáveis locais, globais e estáticas e seus tempos de vida. Previne bugs comuns relacionados a variáveis não inicializadas ou com escopo incorreto.
Aula 3 • Fundamentos de Recursão
Aborda design de funções recursivas, casos base e comportamento da pilha. Prepara os alunos para algoritmos recursivos e estruturas de dados em capítulos posteriores.
Aula 4 • Instruções Condicionais
Aborda construções if, else-if e switch para tomada de decisão. Habilita diretamente programas orientados por lógica que são expandidos em todos os capítulos subsequentes.
Aula 5 • Laços e Iteração
Ensina laços for, while e do-while juntamente com instruções de controle de laço. A iteração é a espinha dorsal dos algoritmos e do processamento de dados abordados posteriormente.
Capítulo 3EsconderEsconder detalhesVer detalhesArrays, Strings e Ponteiros
Arrays, Strings e Ponteiros
Aula 1 • Strings no Estilo C e Funções de String
Ensina arrays de caracteres terminados em nulo e funções padrão da biblioteca de strings. Fornece a base de strings C necessária antes da introdução de std::string do C++.
Aula 2 • Alocação Dinâmica de Memória
Ensina malloc/free em C e new/delete em C++ para gerenciamento de heap. Estabelece a base para estruturas de dados dinâmicas abordadas no próximo capítulo.
Aula 3 • Arrays Unidimensionais e Multidimensionais
Aborda declaração de arrays, inicialização e padrões de acesso a elementos. Arrays sustentam quase todas as estruturas de dados introduzidas posteriormente no curso.
Aula 4 • Ponteiros e Funções
Aborda passagem de ponteiros para funções e retorno seguro de ponteiros. Permite a manipulação eficiente de dados sem cópias desnecessárias.
Aula 5 • Fundamentos de Ponteiros e Aritmética de Endereços
Apresenta declaração de ponteiros, desreferenciação e aritmética de ponteiros. Ponteiros são centrais para a memória dinâmica e programação de baixo nível em capítulos posteriores.
Capítulo 4EsconderEsconder detalhesVer detalhesEstruturas, Uniões e Enumerações
Estruturas, Uniões e Enumerações
Aula 1 • Enumerações e Aliases de Tipo
Aborda enums C, enum class C++ e declarações typedef/using. Melhora a clareza do código e a segurança de tipos em todos os projetos subsequentes.
Aula 2 • Campos de Bit e Dados Compactados
Apresenta membros struct de campo de bit para representação compacta de dados. Relevante para análise de protocolos e mapeamento de registradores de hardware em tópicos avançados.
Aula 3 • Ponteiros para Estruturas
Ensina acesso a structs baseado em ponteiros e alocação dinâmica de structs. Possibilita estruturas de dados encadeadas construídas no capítulo de algoritmos.
Aula 4 • Uniões e Compartilhamento de Memória
Explica a semântica de unions, sobreposição de armazenamento e casos de uso válidos. Fornece insight de memória de baixo nível relevante para programação embarcada e de sistemas.
Aula 5 • Definição e Uso de Estruturas
Aborda declaração de struct, acesso a membros e structs aninhadas. Estruturas são a precursora direta das classes C++ introduzidas no próximo capítulo.
Capítulo 5EsconderEsconder detalhesVer detalhesProgramação Orientada a Objetos em C++
Programação Orientada a Objetos em C++
Aula 1 • Polimorfismo e Funções Virtuais
Apresenta funções virtuais, funções virtuais puras e classes abstratas. Permite padrões de despacho em tempo de execução centrais para o design de software extensível.
Aula 2 • Herança e Hierarquias de Classes
Aborda herança simples e múltipla, acesso a classe base e encadeamento de construtores. Desenvolve as habilidades de design de hierarquia necessárias para o polimorfismo.
Aula 3 • Encapsulamento e Princípios de Design
Aplica princípios SOLID e estratégias de encapsulamento ao design de classes. Prepara os alunos para escrever código C++ de fácil manutenção e testável em capítulos avançados.
Aula 4 • Sobrecarga de Operadores
Ensina sobrecarga de operadores aritméticos, de comparação e de fluxo para tipos personalizados. Possibilita sintaxe intuitiva para classes definidas pelo usuário usadas em projetos posteriores.
Aula 5 • Classes e Objetos
Aborda declaração de classes, especificadores de acesso e instanciação de objetos. Estabelece o modelo de classe que todos os recursos de POO neste capítulo estendem.
Capítulo 6EsconderEsconder detalhesVer detalhesTemplates, STL e Programação Genérica
Templates, STL e Programação Genérica
Aula 1 • Algoritmos STL
Aborda sort, find, transform, accumulate e outros algoritmos padrão. A aplicação de algoritmos STL substitui laços manuais propensos a erros em código de produção.
Aula 2 • Templates de Função e Classe
Aborda sintaxe de templates, parâmetros de tipo e instanciação de templates. Funções e classes genéricas reduzem a duplicação de código em todos os projetos futuros.
Aula 3 • Contêineres STL
Apresenta vector, list, deque, map, set e variantes não ordenadas. Escolher o container certo é crítico para o desempenho no design de algoritmos.
Aula 4 • Expressões Lambda e Functors
Apresenta sintaxe lambda, capturas e objetos functor para uso com STL. Permite a personalização concisa e expressiva de algoritmos em C++ moderno.
Aula 5 • Iteradores e Ranges
Ensina categorias de iteradores, aritmética de iteradores e laços for baseados em range. Iteradores são a interface universal entre contêineres e algoritmos.
Capítulo 7EsconderEsconder detalhesVer detalhesGerenciamento de Memória e Segurança de Recursos
Gerenciamento de Memória e Segurança de Recursos
Aula 1 • Tratamento de Exceções e Segurança
Aborda try/catch/throw, hierarquias de exceção e garantias de segurança de exceções. O tratamento robusto de erros previne vazamentos de recursos sob condições excepcionais.
Aula 2 • RAII e Propriedade de Recursos
Explica o idiom RAII e como construtores/destrutores garantem a segurança de recursos. RAII é a base de todo gerenciamento seguro de recursos em C++ moderno.
Aula 3 • Smart Pointers em Profundidade
Aborda semântica e padrões de uso de unique_ptr, shared_ptr e weak_ptr. Smart pointers eliminam chamadas manuais a delete e previnem erros de propriedade.
Aula 4 • Semântica de Cópia e Movimento
Ensina construtores de cópia, atribuição de cópia, construtores de movimento e atribuição de movimento. A Regra dos Cinco rege o design correto de classes que possuem recursos.
Aula 5 • Depuração e Perfilamento de Memória
Apresenta ferramentas para detectar vazamentos, acessos inválidos e corrupção de heap. Habilidades de perfilamento são essenciais para manter código C++ de qualidade de produção.
Capítulo 8EsconderEsconder detalhesVer detalhesE/S de Arquivos, Concorrência e Programação de Sistemas
E/S de Arquivos, Concorrência e Programação de Sistemas
Aula 1 • Multithreading com std::thread
Ensina criação, junção e desanexação de threads usando a biblioteca de threads do C++11. Fundamentos de concorrência permitem o design de programas paralelos neste capítulo.
Aula 2 • Interfaces de Processo e Sistema
Apresenta criação de processos, variáveis de ambiente e chamadas de sistema. Fornece o contexto de nível de SO necessário para escrever programas C em nível de sistema.
Aula 3 • Fundamentos de Redes e Sockets
Apresenta a API de sockets BSD para comunicação TCP/UDP em C/C++. Habilidades de rede estendem aplicações C/C++ a contextos distribuídos e cliente-servidor.
Aula 4 • Sincronização e Condições de Corrida
Aborda mutexes, variáveis de condição e operações atômicas para prevenir condições de corrida. A sincronização segura é obrigatória para programas concorrentes corretos.
Aula 5 • E/S de Arquivos em C e C++
Aborda fopen/fclose em C e fstream em C++ para leitura e escrita de arquivos. E/S de arquivos é necessária para a persistência de dados em todos os projetos de conclusão.
Seu certificado válido de conclusão
Este curso é para si:
Estudantes de ciência da computação: buscando profundidade prática além do que as salas de aula normalmente oferecem.
Desenvolvedores Python ou JavaScript: prontos para entender o que acontece abaixo da camada de abstração.
Engenheiros elétricos: precisando de habilidades em C para escrever e manter firmware em projetos de hardware.
Pessoas em transição de carreira: visando cargos de sistemas ou embarcados que exigem fluência em programação de baixo nível.
Desenvolvedores de jogos: querendo otimizar código crítico de desempenho escrito em C ou C++.
Programadores autodidatas: construindo a base rigorosa que linguagens estruturadas como C exigem.
O que os nossos alunos dizem
As vossas aulas são perfeitas. Adquiri o pacote de um ano e, finalmente, tenho a oportunidade de acompanhar diversos temas do meu interesse sem precisar mudar de plataforma... agradeço por tudo o que fazem, já vos recomendei a outras pessoas...

Gosto de como as lições são directas ao assunto e como consigo alterar capítulos e saltar conteúdos que não preciso.

Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!

A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito na aprendizagem.

Principais capacitações
FAQ
Quem é a Dedika?
O certificado é válido em Brasil?
Os cursos são gratuitos?
Qual é a carga horária do curso?
Como são os cursos?
Como funcionam os cursos?
Qual é a duração dos cursos?
Qual é o custo ou preço dos cursos?
O que é um curso EAD ou online e como funciona?
Curso em PDF




















