Contenidos iniciales (07-06-2024)
Documentaciones
- Importancia
- Aprender a leer documentaciones
- Ejercicios
- 驴Cu谩l es la mejor manera de ... en ...?
Entornos de desarrollo
- Definici贸n
- Importancia
- Opciones
- Livianos
- Atom
- VSCode
- Vim
- Pesados/especializados
- Jetbrains
- Anaconda
- Cloud Based
- Colab
- Hay uno para C...
- Livianos
Consolas/terminales y comandos
- Definici贸n de Shell
- Definici贸n de terminal
- T茅rminos actuales
- Consola
- shells: bash, zsh, posh, fish, "cmd"
- Comandos
- Definici贸n de comando/programa
- basicos: pwd, cd, ls, mkdir, rm, touch, cat, echo
- avanzados: find, grep, fdisk, dig, ...
SSH
- Definici贸n
- Casos de uso
- Conexi贸n remota gen茅rica
- Anakena
- Github
- Concepto de llaves y seguridad
Git
- Historia *
- Definici贸n de Git
- Casos de uso
- GitHub / BitBucket / GitLab
- Ejercicios
- Funciones: add, commit, push, pull
- Repositorios
- Log
- Merge
- Conflictos
- Fork
- Rebase
- Branches
- Github Actions *
- Reset
- Pull request
- Buenas pr谩cticas
Respaldo / Recuperaci贸n / Mantenimiento
IA
- ChatGPT
- Copilot
- Pol铆ticas de uso
Frontend / Backend
- Concepto
M谩quinas virtuales
- WSL *
- Definici贸n
- Importancia / Casos de uso
- Ejemplos
Docker
- Historia *
- Definici贸n de Docker
- Importancia / Casos de uso
- Ejercicio
- Crear un contenedor
- Utilizar un contenedor
- Deployear una app simple
Lenguajes de programaci贸n (historia/conceptos/usos)
- Lenguajes comunes (definicion simple, codigo de ejemplo *, uso, popularidad, presencia en el mercado, etc)
- Python / Jupyter
- C/C++
- C#
- Java / JVM
- Sacala
- Kotlin
- Swift
- Go
- Ruby
- Rust
- JS/TS
- HTML (not a programming language tho)
- CSS (not a programming language tho)
- Lua
- ... lo ideal ser铆a tener un momento actualidad para hablar de los lenguajes emergentes.
- Lenguajes comunes (definicion simple, codigo de ejemplo *, uso, popularidad, presencia en el mercado, etc)
Sistemas operativos
- Concepto de OS
- Historia de los OS *
- Ventajas y desventajas
Linux
- Definici贸n de Linux
- Distribuciones de Linux
- Familias
- Distros
- Usuarios *
- Permiso *
Windows / macOS
- Definici贸n de Windows
macOS
- Definici贸n de macOS
Computadores (partes) < simula arqui?
- Partes de un computador
- Procesador (CPU)
- Intel vs AMD *
- Memoria (RAM)
- Almacenamiento (SSD/HDD)
- Gr谩fica (GPU)
- Nvidia vs AMD
- Placa madre (MB)
- Perifericos
- Procesador (CPU)
- Partes de un computador
Computadores (armado y desarmado)
- Armado
- Desarmado
Computadores (instalaci贸n OS)
- Instalaci贸n de Windows
- Instalaci贸n de Linux
- Instalaci贸n de macOS
Computadores (particiones)
- Concepto de partici贸n
- Uso
Ambientes virtuales
- Definici贸n
- Casos de uso
- Python > Muchos paquetes
- Importancia (buenas pr谩cticas)
Programas (conceptualmente)
- Programas en Linux
- binarios
- Programas en Windows
- Programas en Linux
Variables de sistema (e.g. PATH)
- Concepto
- Uso
- Ejemplos
- PATH
- SHELL?
APIS
- Concepto de API
- Ejemplos de uso
- Ejemplos
Buenas pr谩cticas de computaci贸n
- Nombres de archivos/carpetas
- Estructura de directorios
Debugging (puede ser subunidad de cada unidad principal)