Diseño de Software Asistido con IA
En este curso aprenderás conceptos de Diseño de Software junto a la asistencia de la IA, un curso que se enfoca a que la IA te dé mejores respuestas en cuanto a la estructura con la que construyes tu código.
Bienvenida al curso
Metodología utilizada en el curso
¿Qué es el diseño de software?
La importancia del Diseño de Software en la era de la IA
Diseño vs. Arquitectura de Software
Cohesión
Acoplamiento
¿Qué son los Principios de Diseño de Software?
KISS (Keep It Simple, Stupid)
YAGNI (You Aren't Gonna Need It)
DRY (Don't Repeat Yourself)
¿Qué es C# y .NET?
Instalación del SDK de .NET
C# y el Tipado Fuerte
Estado de los Objetos
Encapsulamiento
Herencia
Polimorfismo (sobreescritura de métodos)
Polimorfismo (sobrecarga de métodos)
Abstracción
Clase abstracta
Herencia y constructores
Polimorfismo con Clases Abstractas
Interfaces
Polimorfismo con Interfaces
Composición de Objetos
Composición y Bajo Acoplamiento
¿Qué son los Principios SOLID?
S - Principio de Responsabilidad Única
O - Principio de Abierto/Cerrado
L - Principio de Sustitución de Liskov
I - Principio de Segregación de Interfaces
D - Principio de Inversión de Dependencias
Inyección de Dependencias
Tipos Genéricos
Sobre los fundamentos de IA y LLMs
¿Qué es Inteligencia Artificial?
Procesamiento de Lenguaje Natural (PLN)
Modelo N-grama
Implementación de modelo N-grama
Modelo N-grama tipo Trigrama
Implementación de modelo N-grama tipo Trigrama
Determinismo
Aleatoriedad
Modelo N-grama tipo Trigrama con aleatoriedad
Generación de texto usando modelo N-grama
El problema del modelo de N-gramas