An open API service indexing awesome lists of open source software.

https://github.com/r8vnhill/dibs

Curso sobre diseño e implementación de bibliotecas de software. Incluye sistemas de construcción, testing, OOP, genéricos, programación funcional y más, con Kotlin y Docusaurus.
https://github.com/r8vnhill/dibs

bdd build-systems clean-code course docusaurus functional-programming functors generic-programming gradle kotlin monads oop open-source property-based-testing software-design software-engineering software-libraries static-analysis teaching testing

Last synced: about 1 month ago
JSON representation

Curso sobre diseño e implementación de bibliotecas de software. Incluye sistemas de construcción, testing, OOP, genéricos, programación funcional y más, con Kotlin y Docusaurus.

Awesome Lists containing this project

README

        

# Diseño e Implementación de Bibliotecas de Software (DIBS)

Este repositorio contiene el sitio web del curso **Diseño e Implementación de Bibliotecas de Software** (DIBS), desarrollado con [Docusaurus](https://docusaurus.io/). El curso está orientado a estudiantes de ciencias de la computación con conocimientos previos en programación orientada a objetos y cubre principios, herramientas y técnicas para diseñar e implementar bibliotecas de software robustas y reutilizables.

## 📚 Temario

Este curso tiene una duración sugerida de **15 semanas**, con una carga de trabajo de **10 horas semanales** (3 horas de cátedra + 7 horas de trabajo autónomo).

### Contenidos del curso

#### Unidad 1: Introducción (1.5 semanas)
- Introducción a bibliotecas de software
- Principios de código limpio y mantenible
- Sintaxis de lenguaje de programación
- Void-safety
- Repaso de programación orientada a objetos

#### Unidad 2: Build Systems (3 semanas)
- Introducción a build systems
- Manejo de dependencias
- Automatización de tareas
- Compilación y empaquetado de aplicaciones
- Compilación y empaquetado de bibliotecas
- Publicación de bibliotecas

#### Unidad 3: Testing (3 semanas)
- Behavior-driven development (BDD)
- Data-driven testing (DDT)
- Aserciones avanzadas
- Property-based testing (PBT)
- Generadores arbitrarios
- Desarrollo de propiedades
- Reducción de casos de prueba

#### Unidad 4: Programación Genérica (1 semana)
- Polimorfismo paramétrico
- Varianza en sitio de declaración
- Varianza en sitio de uso
- Borrado de tipos
- Reificación de tipos

#### Unidad 5: Programación Orientada a Objetos (2 semanas)
- Problema de la base débil
- Métodos de extensión
- Tipos anónimos
- Sobrecarga de operadores
- Variables y funciones estáticas
- Herencia múltiple
- Soluciones al problema del diamante

#### Unidad 6: Programación Funcional (3.5 semanas)
- Funciones puras y efectos secundarios
- Funciones de alto orden
- Funciones lambda
- Tipos de datos algebraicos
- Functores
- Mónadas

#### Unidad 7: Colecciones (1 semana)
- Iterator pattern
- Colecciones inmutables
- Colecciones mutables
- Operaciones sobre colecciones

---

## 🚀 Tecnologías utilizadas

- [Docusaurus 2](https://docusaurus.io/)
- [Markdown](https://www.markdownguide.org/)
- [Mermaid](https://mermaid.js.org/) para diagramas

## 📦 Instalación local

```bash
npm install
npm run start
```

## 🌐 Sitio web

Puedes acceder al sitio del curso en: [https://dibs.pages.dev](https://dibs.pages.dev)