pbn/README.org

116 lines
4.4 KiB
Org Mode
Raw Normal View History

2025-05-14 07:06:00 -03:00
#+title: Fundamentos da Programação em Baixo Nível
#+subtitle: C e Assembly (NASM) x86_64 para GNU/Linux
#+author: Blau Araujo
#+email: cursos@blauaraujo.com
#+options: toc:nil
2025-05-14 08:55:46 -03:00
* O que vamos aprender
2025-05-14 08:56:27 -03:00
- Noções de arquiteturas de computadores.
- O que são programas para o sistema operacional.
- O que são instruções de CPU.
- Como a CPU executa instruções.
- Como o GNU/Linux executa programas.
- Como a memória é estruturada para executar programas.
- Como montar programas com o NASM (/The Netwide Assembler/).
- Como tornar programas em assembly executáveis.
- O que são chamadas de sistema.
- Como escrever programas para a linha de comandos.
- Como abrir arquivos para leitura e escrita.
- Como utilizar a biblioteca C padrão (=glibc=).
- Como criar bibliotecas para uso em Assembly.
- Como implementar funções para uso em C.
2025-05-14 08:55:46 -03:00
- Como utilizar o /GNU Debugger/ (GDB) para inspecionar dados na CPU e na memória.
* Como vamos aprender
- Serão 3 aulas online e ao vivo semanais por 6 semanas (via Jitsi).
- Cada aula consistirá de uma apresentação em vídeo, discussões e demonstrações práticas.
- Tópicos em vídeo gravados e publicados previamente no Youtube (acesso público).
- Anotações, exercícios e exemplos neste repositório (acesso público).
2025-05-14 08:56:27 -03:00
#+begin_quote
O curso em si é o que acontece nas aulas ao vivo por videoconferência. Todo o conteúdo
em vídeo e textos é público e estará disponível, para quem quiser estudar por conta
2025-05-14 08:58:26 -03:00
própria, sob os termos da licença [[https://bolha.dev/blau_araujo/pbn/src/branch/main/LICENSE][Creative Commons BY-SA 4.0]].
2025-05-14 08:56:27 -03:00
#+end_quote
2025-05-14 08:55:46 -03:00
* Requisitos
- Noções básicas de programação em C (prepare-se [[https://www.youtube.com/playlist?list=PLXoSGejyuQGrDX08GVrQHAhh4j3KJ4iYN][aqui]]).
- Noções básicas de operação do GNU/Linux pelo terminal.
- Uma instalação do GNU/Linux (pode ser em máquina virtual).
- Muita curiosidade e vontade de aprender.
2025-05-14 07:49:27 -03:00
* Conteúdo e carga horária
- 18 aulas de até 2 horas.
- Total aproximado de 35 horas.
2025-05-14 08:55:46 -03:00
| Data | Tópico |
|-------+--------------------------------------------|
| 30/06 | 0. Sobre o curso |
2025-05-14 12:47:31 -03:00
| 02/07 | 1. [[curso/aula-01.org][Arquitetura de computadores]] |
| 04/07 | 2. [[curso/aula-02.org][Linguagens de montagem e a compilação]] |
2025-05-21 14:03:48 -03:00
| 07/07 | 3. [[curso/aula-03.org][O formato binário ELF64]] |
| 09/07 | 4. [[curso/aula-04.org][Mapeamento de memória no Linux]] |
2025-05-14 08:55:46 -03:00
| 11/07 | 5. Pilha de hardware e pilha de memória |
| 14/07 | 6. Vetor de argumentos de linha de comando |
| 16/07 | 7. Vetor de ambiente |
| 18/07 | 8. Fluxos de dados padrão |
| 21/07 | 9. Chamadas de sistema |
| 23/07 | 10. Conversão de caracteres para inteiros |
| 25/07 | 11. Conversão de inteiros para caracteres |
| 28/07 | 12. Sub-rotinas |
| 30/07 | 13. Macros e bibliotecas |
| 01/08 | 14. Abertura de arquivos para leitura |
| 04/08 | 15. Abertura de arquivos para escrita |
| 06/08 | 16. Utilizando funções da GLibc |
| 08/08 | 17. Implementando funções para uso em C |
#+begin_quote
As datas e tópicos podem mudar de acordo com o decorrer do curso!
#+end_quote
* Certificado de conclusão
Ao final do curso, será fornecido um certificado de conclusão mediante a
apresentação de um projeto final.
* Inscrições e forma de pagamento
- *Inscrições:* até 27 de junho de 2025
- *Valor parcelado:* R$300,00 (em até 6x sem juros)
2025-05-14 12:10:55 -03:00
- *À vista no PIX:* R$270,00 (10% de desconto)
2025-05-14 08:55:46 -03:00
* Como se inscrever
** 1. Realize o pagamento pela forma escolhida
- *Pagamento à vista (PIX):* cursos@blauaraujo.com
2025-05-14 12:10:55 -03:00
- *Pagamento parcelado:* [[https://link.picpay.com/p/174722932868249a90a01bb][PicPay]] ou [[https://mpago.la/269FTid][Mercado Pago]]
2025-05-14 08:55:46 -03:00
** 2. Envie um e-mail com seus dados
*Destinatário:* cursos@blauaraujo.com
*Informações (obrigatórias):*
- Nome completo
2025-05-14 12:13:29 -03:00
- E-mail de contato
2025-05-14 08:55:46 -03:00
- CPF/CNPJ
- Endereço postal completo com CEP
*Anexar comprovante de pagamento.*
** 3. Aguarde a resposta
Seu e-mail será respondido em até 24h para confirmar sua inscrição e dar algumas
informações sobre o início das aulas. Você também receberá a nota fiscal eletrônica
no e-mail informado.
* Outras informações e casos especiais
2025-05-14 06:59:58 -03:00
2025-05-14 08:55:46 -03:00
Envie um e-mail para cursos@blauaraujo.com ou me procure no [[https://t.me/blau_araujo][Telegram]].