Programa de formación detallado
- Comandos y primer programa en Kotlin
- Números enteros, cadenas y entrada de datos: readln()
- Operadores condicionales y lógica
- Bucles para controlar el flujo de ejecución
- Instalación del IDE y configuración del proyecto Kotlin
- Números reales y sus particularidades
- Arrays en Kotlin + rangos y progresiones
- Funciones y su estructura
- Trabajo avanzado con cadenas
- Pair/Triple y funciones locales
- Null-safety y manejo seguro de null
- Manejo de excepciones: try/catch/finally
- when: ramificaciones, validación, comandos
- Funciones para entrada/validación: diseñando una mini-API de utilidades
- Miniproyecto #1: Juego «Adivina el número»
- vararg y spread: funciones convenientes
- Proyecto / paquetes / importaciones
- Introducción a Git: por qué necesitamos control de versiones
- GitHub: commit / branch / merge / PR, conflictos
- Colecciones List/Set/Map, mutable/immutable, generics: inicio del proyecto transversal
- Recorrido de colecciones: Iterable, withIndex, entries, eliminaciones seguras
- Lambdas y callable references en tareas con colecciones
- Operaciones con colecciones I: map/filter/find/any/all/count/mapNotNull
- Operaciones con colecciones II: ordenaciones, compareBy, top-N con take(n), == vs ===
- Agrupaciones y frecuencias: groupBy, groupingBy().eachCount()
- Agregaciones y rendimiento de pipelines: fold/reduce, Sequence
- Práctica: informes y pipelines de transformaciones
- Cadenas en profundidad + Regex + takeIf/takeUnless
- Scope-functions y miniproyecto #2: Text Analyzer
- Interoperabilidad con Java: platform types, SAM, Java API
- Clases y objetos: propiedades, métodos
- Constructores e init: primary/secondary, require/check
- Propiedades: encapsulación, lateinit/lazy
- data class y value class
- enum y sealed class, is/as/as?, exhaustive when
- Herencia y polimorfismo
- Generics avanzado: varianza (out/in), proyecciones, inline/reified
- Interfaces, SAM + object/companion object
- Extensions y operadores
- Arquitectura y refactorización: proyecto transversal
- Excepciones: Result, runCatching, diseño de errores
- Null-safety: diseño sin null, limitaciones del smart-cast
- Archivos: lectura/escritura, use, rutas
- Archivos: binarios, buffers, copia por chunks, ZIP
- Codificaciones y BOM
- I/O confiable: IOException, escritura atómica, backup
- Miniproyecto #3: File Organizer
- JSON + kotlinx.serialization
- Serialización: enum/sealed, anotaciones
- JsonElement, validación, JSON vs XML
- Práctica XML: DOM/XPath
- Fechas y hora: kotlinx.datetime, zonas horarias, parseo/formateo
- Corrutinas: suspend, runBlocking, launch/async, Dispatchers
- Structured concurrency: scope/job, cancelación, excepciones, withContext
- Channel y Flow
- Sincronización: Mutex, Atomic*, actor/confinement
- I/O asíncrono y cancelación
- Eventos/Observer y conexión con Flow
- HTTP + Ktor Client + JSON
- BD: JDBC + Exposed + transacciones
- Logging y observabilidad
- Reflexión + KSP + Kotlin 2.x + memoria JVM
330+
Lecciones
1000+
Tareas
61
Pruebas
Además:
- Verificación instantánea de tareas
- Validador de código con IA
- Plugin para IDE
- WebIDE
- Gamificación
- Clases motivacionales