A ideia desse repositório é de alguma maneira poder contribuir para qualquer estudante de graduação que possa se sentir inspirado e/ou qualquer interessado em estudar o assunto. Não tenho a intenção e nem a pretensão de cobrir todo o conteúdo, técnicas, ferramentas, me comprometo em compartilhar o que aprendi sobre este assunto durante a graduação e algumas madrugadas de aha! Não pretendo cobrir tópicos como instalação, IDEs e por ai vai.
Vale ressaltar que não represento a Instituição de ensino da qual faço parte, apenas estou querendo compartilhar conhecimento de forma livre com quem se sentir interessado.
Para simplificar e caminhar, em alguns momentos escolheu-se focar em parte do programa e não em explicar todo o código, isso pois acredito que ter o código inteiro disponível para compilar e rodar é importante para os estudos, afinal, slide/texto não compila, muito menos roda! Em algum momento o trecho de código nebuloso deve ser esclarecido, se ninguém perder o ponteiro...
- Sobre a linguagem
- Tipos de variáveis (os principais)
- Operadores aritméticos e relacionais
- I/Os (printf, scanf, ...)
- Estruturas de decisão
- Estruturas de repetição
- Composições / Agregações
- Arrays
- Strings
- Matrizes
- Structs
- Unions
- Enums
- Modularização e Funções
- Recursividade
- Arquivos
- Criando tipos (typedef, struct, union, ...)
- sizeof
- Ponteiros
- Gerenciamento de memória (malloc, ...)
- Macros
- Compilação (flags de compilação, ...)
- Boas práticas da linguagem
- Pré-processador
- #include
- Modularizando em arquivos
- Compilação condicional
- Makefile
- wip
- Paralelismo (OpenMP, MPI, PThreads)
- System calls
- API de rede (sockets, ...)
- API DB (como se conectar com um banco, ...)
- "docstring" (Doxygen)
- IPC (mensagens)
- Técnicas de otimização
- segurança
- tempo (de execução)
- uso de memória
- Como debugar (gdb)
- APIs/Libs/Modules (como estender e utilizar o há de batuta por ai)
- GUI (gtk, qt)
- Ferramentas de Análise de código
- Repo owner and admin Jhonatan Casale < jhonatan at jhonatancasale dot com >