Please enable JavaScript.
Coggle requires JavaScript to display documents.
Conceptualización sobre Programación - Coggle Diagram
Conceptualización sobre Programación
Fase 1 - Programacion
01 La programacion
Definicion
Diseno de algoritmos
Traduccion a codigo ejecutable
Resolucion sistematica de problemas
Modelado de procesos del mundo real
Proposito
Automatizar procesos
Crear software y servicios
Control de hardware y dispositivos
Analisis de datos e IA
Comunicacion entre sistemas
Historia (hitos)
1843 Ada Lovelace - primer algoritmo
1940s Ensamblador - tarjetas perforadas
1957 FORTRAN - calculo cientifico
1959 COBOL - negocios
1972 C - sistemas operativos
1991 Python - alto nivel legible
1995 Java - JVM portable
1995 JavaScript - web
Conceptos clave
Algoritmo
Complejidad temporal y espacial
Abstraccion y modularidad
Paradigmas: imperativo, orientado a objetos, funcional, logico
Compiladores e interpretes
Buenas practicas
Legibilidad y comentarios utiles
DRY no te repitas
KISS mantenlo simple
Test unitarios
Control de versiones Git
02 Lenguajes de programacion
Niveles de abstraccion
Bajo nivel
Maquina y ensamblador
Pros: control y rendimiento
Contras: complejidad y poca portabilidad
Alto nivel
Pros: productividad y legibilidad
Contras: menos control del hardware
Ejecucion
Compilado (C, C++)
Interpretado (Python)
JIT/VM (Java, C#)
Tipado
Estatico vs dinamico
Fuerte vs debil
Paradigmas
Imperativo y estructurado
Orientado a objetos
Funcional
Eventos y reactivo
Ejemplos y caracteristicas
Python
Sintaxis simple
Ecosistema datos e IA (NumPy, Pandas, TensorFlow)
Backends y scripting
Java
Orientado a objetos
JVM portable
Backend empresarial y Android
C++
Alto rendimiento
Control de memoria
Sistemas en tiempo real y motores de juego
JavaScript
Web frontend y backend (Node.js)
Eventos y asincronia
C#
.NET multiplataforma
Aplicaciones de escritorio, web, juegos (Unity)
03 Programacion estructurada
Bloques basicos
Secuencia - pasos ordenados
Seleccion - if else switch
Repeticion - for while do while
Principios
Top down y modularidad
Evitar goto
Funciones con unica responsabilidad
Ventajas
Legibilidad y mantenimiento
Menor error
Pruebas unitarias mas simples
Reutilizacion
Ejemplo logico (pseudocodigo)
INICIO
LEER n
SI n es par ENTONCES imprimir "par"
SINO imprimir "impar"
FIN
04 Variables y datos
Variable
Identificador, tipo, valor
Alcance: global o local
Vida: estatica o dinamica
Mutabilidad segun lenguaje
Tipos de datos
Primitivos
Enteros int - 0 -5 42
Flotantes float double - 3.14 -0.001
Booleanos bool - true false
Caracter char - 'A'
Compuestos
Cadenas string - "Hola"
Arreglos y listas
Tuplas y conjuntos (segun lenguaje)
Diccionarios o mapas clave-valor
Estructuras de datos
Pila
Cola
Lista enlazada
Arbol y grafo (nocion)
Constantes
Valor fijo en ejecucion
Ejemplo: const PI = 3.14159
Ejemplo: final int MAX = 100
Declaracion y asignacion
C: int edad = 20;
Java: final double GRAVEDAD = 9.8;
Python: nombre = "Ana" # tipado dinamico
05 Ejemplos de aplicaciones
Sistemas operativos y drivers
Web frontend y backend
Apps moviles
Videojuegos y graficos
IoT y embebidos
Ciencia de datos y ML
Automatizacion RPA y scripts
APIs e integraciones
06 Consejos para el mapa mental
Elegir 4 ramas principales y asignar color por rama
Usar iconos o emojis en ramas principales
Palabras cortas por nodo - una idea por burbuja
Distribuir radial y luego ajustar horizontal por rama
Exportar a PNG para insertar en el PDF