Este livro oferece conteúdo abrangente e plenamente compatível para ser utilizado como material didático em disciplinas introdutórias de programação, seja no ensino médio, cursos técnicos, universidades ou mesmo em cursos de curta duração. O texto é baseado em uma metodologia de aprendizado por experiência e com grande foco na prática de exercícios. Esse aprendizado se dá por meio de quatro etapas cuidadosamente exploradas em cada assunto: experiência concreta, pequenas modificações, analogia e experimentação livre. Diferentemente do que é comum encontrar nos livros de programação, neste livro os conceitos são introduzidos sempre que se fazem necessários para resolver um determinado problema. Ou seja, primeiro apresenta-se um problema prático para ser resolvido e só então os conteúdos necessários são introduzidos. Os leitores terão à disposição uma ferramenta on-line para a correção automática dos exercícios propostos. O escopo do livro abrange desde o início, com o entendimento sobre o que são algoritmos e o funcionamento básico de um computador, até questões mais avançadas, como recursão, alocação dinâmica, ponteiros e várias dicas de programação. Ao final do livro, o leitor estará apto a resolver problemas utilizando a linguagem de programação C. Principais assuntos abordados no livro: Entrada e saída Atribuição Operações aritméticas Decisão Operações lógicas Repetição Função Array Matriz String Ponteiro Estrutura Recursão Alocação dinâmica Estilos de codificação