# Introduction
This [[Mapas de conteúdo]] allows me to organize my ideas around programming. Most of the notes related to this topic have the #Tema/Programação tag. First of all, it is necessary to understand [[Código de computador|what is a code]] and to develop algorithms using [[Pseudocódigo]]. It is important to understand that [[Código deve ser correto e eficiente]], with the first preceding the second.
# Concepts
Here are some important concepts for programming.
## Basic Concepts
- [[02 - Notas de literatura/Operadores lógicos]]
- [[Trie in computing]]
- [[Debugging|Debug]] e [[Debugger]]
- [[Processo de compilação de códigos]]
- [[Unicode]] e [[Código Padrão Americano para o Intercâmbio de Informação|ASCII]]
- [[Sistemas de numeração]]
- [[Análise assintótica]]
- [[Recursão]]
- [[Ponteiros]]
- [[Escopo na programação]]
- [[Ordem de Bytes]]
- Data Structure
- [[Filas em computação]]
- [[Pilhas (Computação)]]
- [[Trees na computação]]
- [[Tabela Hash (Computação)]]
- [[Trie in computing]]
- [[Alocação de memória]]
- [[Heap na alocação de memória]]
- [[Pilhas na alocação de memória]]
## Algorithms
Here is a list of interesting and/or important algorithms to know about.
- Search algorithms
- [[Algoritmo de busca em profundidade]]
- [[Algoritmo de busca em largura]]
- [[Algoritmo de busca linear]]
- [[Algoritmo de busca binária]]
- Sorting algorithms
- [[Algoritmo de ordenação por bolha]]
- [[Algoritmo de ordenação por seleção]]
# Languages
- [[C language]] - It is one of the main low-level languages and widely used for efficiency and low resource usage.
- [[02 - Notas de literatura/Linguagem de programação Python]] - A note about my favorite programming language.
- [[Rust language]] - A systems programming language that prioritizes performance, memory safety, and concurrency.
- [[Linguagem de Consulta Estruturada|SQL]] - A language for interacting with relational databases.
- [[JavaScript]] - A programming language commonly used for web programming.
# Tools
- [[Visual Studio Code]] - It is a lightweight, cross-platform/multilingual code editor that provides advanced features for software development.
- [[Thonny]] - It is an integrated development environment designed specifically for beginners in [[02 - Notas de literatura/Linguagem de programação Python]] programming.
- [[Arduino IDE]] - Integrated development interface for programming [[Arduino]] and other devices.
# Books
-