Computer Science
La ciencia de la computación estudia los principios teóricos, metodológicos y prácticos que sustentan el diseño, desarrollo y análisis de sistemas informáticos. Abarca desde fundamentos matemáticos hasta paradigmas avanzados de programación y arquitecturas distribuidas.
Esta nota actúa como índice central de conocimiento técnico y guía estructurada de estudio.
Áreas de Desarrollo
Exploran las prácticas, herramientas y enfoques aplicados en la construcción y mantenimiento de software.
- Testing
- Técnicas y niveles de prueba, desde tests unitarios hasta integración y aceptación. Se incluyen conceptos como test-driven development (TDD), mocking, fixtures y coverage.
- Software engineering
- Expresiones regulares
Metodologías y Arquitectura
Principios que orientan la organización, diseño y evolución del software hacia soluciones mantenibles y escalables.
- SOLID
Principios orientados a la responsabilidad única, extensibilidad y desacoplamiento. - CLEAN
Arquitectura enfocada en independencia de frameworks, testabilidad y separación de capas. - DDD Domain-Driven Design
Modelado de dominios complejos con bounded contexts, aggregates, entities y ubiquitous language. - POO Programación Orientada a Objetos
Paradigma centrado en clases, objetos, herencia, encapsulamiento y polimorfismo. - AOP Programación Orientada a Aspectos
Separación de preocupaciones transversales mediante aspectos y advices. - PF Programación Funcional
Basada en la inmutabilidad, composición de funciones y evaluación declarativa.
Incluye conceptos como map, reduce, lambda expressions y pure functions. - DSL
Backend y Redes
Componentes esenciales para el desarrollo del lado del servidor, APIs y conectividad entre servicios.
- CORS
Control del acceso entre dominios y políticas de seguridad en peticiones HTTP. - Lambda Functions
Ejecución de funciones sin servidor (serverless), orientadas a eventos y escalabilidad automática.
Se relacionan con entornos como AWS Lambda, Azure Functions o Google Cloud Functions.
Documentación y Recursos Formativos
Fundamentos y cursos base que establecen las competencias esenciales de un informático.
- Introducción a la programación
Conceptos de algoritmos, variables, control de flujo, funciones y estructuras básicas. - Comunicación entre Procesos
Sincronización, semáforos, colas, tuberías y memoria compartida. - Computer science - curso de inicio CS50
Programa de Harvard para aprender C, estructuras de datos, algoritmos y desarrollo web. - StructureInterpretationComputer1997
- https://github.com/FedeHC/SICP-ES/blob/master/secciones/04-contenidos.md
- https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html
- fundamentos 3 primero mas extensión
- mutaciones objetos
- abstracciones
- interfaz de estructuras de datos
- crear implementaciones
- programación funcional
- abstracciones
- pilares de programacion
- su propio lenguaje
-
ejercicios
Entrevistas Técnicas
Preparación para procesos de selección en desarrollo de software.
- DevCaressguia-entrevistas-de-programacion-guia-entrevistas-de-programacion
Guía con ejercicios prácticos, resolución de problemas y estrategias de comunicación técnica.
Incluye patrones de preguntas, estructuras de datos frecuentes y tips para whiteboard interviews.
Elementos y Guías de Conocimiento
Bloques fundamentales de la teoría computacional y la ingeniería de software.
- estructuras de datos
Tipos de colecciones, árboles, grafos, pilas, colas y técnicas de almacenamiento eficiente. - Complejidad Logarítmica y Notación Big O
Análisis de rendimiento y eficiencia algorítmica.
Comparación de tiempo y espacio en distintas estrategias. - Patrones de diseño
Soluciones reutilizables a problemas comunes de arquitectura y diseño de software.
Incluye patrones creacionales, estructurales y de comportamiento. - algoritmos y tecnicas de computacion
Algoritmos clásicos, optimización, recursividad, búsqueda, ordenación y paradigmas como divide and conquer. - arquitecturas en computacion
Diseño de sistemas distribuidos, microservicios, comunicación asincrónica y patrones de resiliencia.
Integraciones y Extensiones
Expansiones hacia áreas relacionadas y multidisciplinarias.
- Machine Learning (si existe en la base de notas)
Aplicación de algoritmos de aprendizaje y análisis de datos. - ciberseguridad Cifrado, autenticación, protocolos seguros y auditoría de sistemas.
- DevOps y CICD Automatización del despliegue, pipelines de integración continua y observabilidad.
- Cloud Computing cloud Infraestructura escalable, servicios distribuidos y gestión de recursos virtualizados.
Omnivore CS
type: list
name: "Notas con #CS en Omnivore"
order:
- property: date_saved
direction: desc
columns:
- file.name
- date_saved
filters:
and:
- file.inFolder("Omnivore")
- file.hasTag("CS", "computer_science")
views:
- type: table
name: Table
sort:
- property: file.mtime
direction: DESC
`
¿Te gusta este contenido? Suscríbete vía RSS