O guia definitivo e gratuito com 50 aulas práticas e aprofundadas para dominar desde algoritmos básicos até estruturas de dados avançadas (pilhas, filas, árvores, grafos) e paradigmas como Programação Dinâmica e Backtracking em português.
Entenda o conceito primordial da ciência da computação e como transformar passos lógicos cotidianos em instruções executáveis.
Descubra como o processador lê linhas de comando sequenciais e como a memória guarda dados enquanto o programa roda.
Aprenda a capturar informações digitadas pelo usuário (entrada) e exibir resultados claros no terminal de saída.
Como dar nome às posições de memória, declarar variáveis e nunca mais misturar textos com números matemáticos.
Soma, subtração, multiplicação, divisão e módulo. Entenda por que a ordem das operações muda completamente o resultado.
Como ensinar o computador a comparar valores: maior, menor, igual e diferente com respostas booleanas (V ou F).
Domine a combinação de múltiplas condições lógicas, curto-circuito e Leis de De Morgan com clareza matemática.
Crie caminhos alternativos no seu fluxo: execute instruções apenas quando uma condição for atendida com desvios de fluxo e fluxogramas.
Modele fluxos de decisão com múltiplas faixas sem cair na pirâmide da ruína, usando a escada linear se / senao se.
Simplifique menus e seleções discretas com o comando escolha / caso (switch / case), pare e jump tables.
Entenda o princípio DRY, contadores, acumuladores e aprenda a automatizar tarefas repetitivas com segurança.
Execute instruções enquanto uma condição for verdadeira. Variáveis de controle, padrão sentinela e prevenção de loops infinitos.
Garanta a execução de pelo menos uma iteração antes de testar a condição de parada. Menus e validação defensiva.
Contadores, passos e limites em uma única declaração enxuta para repetições finitas e matrizes.
Domine a quebra prematura de loops com break e o salto de iterações com continue com segurança.
Dividir para conquistar: aprenda a quebrar problemas complexos em sub-rotinas modulares reutilizáveis.
Como enviar dados para funções: cópias seguras por valor ou ponteiros de mutação direta por referência.
Transforme funções em máquinas de cálculo com resultados concretos, composição e Early Return.
Tempo de vida e visibilidade de identificadores na pilha de memória sem colisões de nomes.
A função que chama a si mesma: caso base, pilha de execução (call stack) e riscos de overflow.
Armazene listas homogêneas contíguas na memória e acesse posições por índices numéricos.
Varredura com loops, busca linear, localização de maior/menor e filtragem de elementos.
Como organizar coleções desordenadas comparando pares adjacentes e realizando trocas.
Estruturas em grade com linhas e colunas indexadas por pares cartesianos (i, j).
Manipulação de diagonal principal, diagonal secundária, matriz transposta e soma matricial.
A arte manual de rastrear variáveis passo a passo no papel e caçar bugs lógicos.
Nomenclatura semântica, indentação consistente, modularização coesa e o princípio do menor espanto.
Meça o crescimento de tempo e memória: O(1), O(log n), O(n) e O(n²) de forma intuitiva.
Agrupamento de múltiplos tipos heterogêneos sob uma mesma entidade: a porta para POO.
Construção do zero de um sistema completo consolidando os 30 tópicos de lógica de programação.
Aprenda o algoritmo de busca binária passo a passo: como pesquisar em coleções ordenadas com complexidade O(log N), cálculo de ponto médio, variantes…
Aprenda o algoritmo Selection Sort: como funciona a ordenação por seleção de valor mínimo, por que ele faz menos trocas que o Bubble Sort, complexidade…
Domine o algoritmo Insertion Sort: a metáfora do jogador de cartas, deslocamento de memória (shifting), caso melhor linear O(N), estabilidade e…
Aprenda o algoritmo Merge Sort: o paradigma de divisão e conquista, a etapa de intercalação (merge), garantia estrita de complexidade O(N log N), consumo de…
Aprenda o algoritmo Quick Sort passo a passo: esquema de particionamento de Lomuto e Hoare, escolha de pivô, caso médio O(N log N), prevenção do pior caso…
Aprenda a estrutura de dados Pilha (Stack) do zero: o princípio LIFO, operações empilhar (push) e desempilhar (pop), controle de overflow, pilha de execução…
Domine a estrutura de dados Fila (Queue) do zero: princípio FIFO, operações enfileirar (enqueue) e desenfileirar (dequeue), ponteiros inicio e fim, buffer…
Aprenda sobre Deque (Double-Ended Queue) e Filas de Prioridade (Priority Queue) do zero: operações nas duas extremidades, atendimento por níveis de…
Aprenda Listas Encadeadas Simples (Singly Linked List) do zero: conceito de nós e ponteiros, inserção no início e no fim, busca linear, inversão de lista e…
Aprenda Listas Duplamente Encadeadas e Circulares do zero: nós bidirecionais (anterior e próximo), anéis circulares contínuos, problema de Josephus e…
Aprenda Tabelas Hash (Hash Maps) do zero: funções de dispersão (hash functions), resolução de colisões por sondagem linear e encadeamento separado, fator de…
Aprenda Árvores Binárias do zero: nós raiz, folhas e galhos, modelagem de filhos esquerdo e direito, os três percursos recursivos (Pré-Ordem, Em-Ordem…
Domine a Árvore Binária de Busca (BST) do zero: a regra fundamental de ordenação, inserção recursiva, busca logarítmica, remoção de nós nos 3 casos…
Aprenda Grafos do zero: vértices, arestas, dígrafos direcionados, grafos ponderados, representação computacional com Matriz de Adjacência e projeto de malha…
Aprenda os dois algoritmos fundamentais de exploração de redes: Busca em Largura (BFS) com fila para caminhos mínimos e Busca em Profundidade (DFS) com…
Domine Algoritmos Gulosos (Greedy) em profundidade: propriedade da escolha gulosa, subestrutura ótima, o clássico Problema do Troco de Moedas, Escalonamento…
Aprenda Backtracking (Retrocesso) em profundidade: exploração exaustiva inteligente com poda (pruning), recursão de 3 passos (Escolha, Explore, Desfaça)…
Aprenda Programação Dinâmica (Dynamic Programming) em profundidade: os dois pré-requisitos essenciais (Subestrutura Ótima e Subproblemas Sobrepostos), a…
Aprenda Programação Defensiva em profundidade: o princípio Fail-Fast, sanitização de entradas do usuário, prevenção de divisão por zero e overflow, limites…
O grande projeto integrador de conclusão do curso: construa um Sistema Corporativo de Logística e Despacho de Cargas em logicabr.dev integrando Grafo com…