Curso Kotlin | #1. Introducción al Curso
Tags: spanish, programming, kotlin
Published: 2022-12-12 14:19:55

Bienvenido/a a la primer clase del Curso de Kotlin! Podés consultar el curso completo desde [este link](https://github.com/maxwellnewage/kotlin-course) que te dejo acá. Podés seguirme por [LinkedIn](https://www.linkedin.com/in/maximilianoburgos/) o [Twitter](https://twitter.com/maxwellnewage) si querés estar al tanto de las próximas publicaciones.

Cuando empecé a trabajar en este contenido, lo plantee como un Curso de Android con Kotlin. Luego me di cuenta de que había mucho contenido independiente de este poderoso lenguaje, y merecía un curso propio. Y aquí estamos: una serie de artículos independientes de Android que nos permitirán dominar [Kotlin](https://kotlinlang.org/) desde cero y con el mayor nivel de detalle en teoría y práctica que este humilde desarrollador les puede brindar.

## Estructura del Curso
En primera instancia, este curso se divide en dos secciones (teoría y práctica) que, a diferencia de otros materiales académicos tradicionales, se cruzarán en el contenido entre si casi todo el tiempo. Puede que esto suene confuso, o incluso desordenado, pero dejame ejemplificarlo: cuando aprendas a declarar variables, trabajar con estructuras de control y el concepto de arrays (arreglos), la próxima clase emprenderás un proyecto para poner todos esos conocimientos a prueba.

Se aprende aplicando, por lo cual mis cursos serán implementados del mismo modo. Probablemente cuando lo termines, habrás tenido en tu portfolio un par proyectos interesantes para mostrar en una entrevista laboral. Esto es algo que te beneficia a vos, querido lector y futuro alumno, en tu busqueda incansable por el conocimiento; y a mi también porque me resulta mucho mas entretenido enseñarte desde los ejemplos, que son a fin de cuentas, proyectos que gatean en el comedor, con tu cámara en mano esperando que den sus primeros pasos.

## Temario
No tengo un temario estricto definido por cada artículo porque eso implicaría cerrar el contenido, y mi idea se basa en crear nuevos artículos (clases) a medida que voy descubriendo cosas interesantes que traer al curso. Igualmente sí existe un orden inicial, porque no te puedo enseñar a multiplicar sin saber sumar en primer lugar. Por lo cual, te comparto la lista de temas que pienso publicar en uno o varios artículos:

- Estructura de un Proyecto en Intellij
- Variables y Tipos de Datos
- Tipo String
- Tipos Char y CharSequence
- Entrada de datos
- Null Safety
- Arrays
- Condicionales (if, else, else if, when)
- Rangos
- Bucles (for, while, break, continue)
- Excepciones
- Paquetes e imports
- Functions
- High-order functions and lambdas
- Clases y propiedades
- Herencia y Polimorfismo
- Abstraccion
- Overriding y Overloading
- Interfaces
- Extension functions
- Data classes
- Sealed classes
- Enum classes
- Object expressions
- Delegation
- Delegated properties
- Asynchronous programming techniques (Threading, Callbacks, Futures, promises)
- Coroutines
- Scope Functions (let, run, with, apply, also)

En el medio de estos temas se implementarán algunos proyectos que tengo en mente, como por ejemplo “The Man”, un juego RPG de batallas por turnos que integrará gran parte de los contenidos; incrementando su complejidad a medida que vamos incluyendo conceptos nuevos.

## Conclusiones
Este curso va a tener un ritmo pausado y atento al detalle: no pretende ser intensivo, pero si complejo en sus contenidos. Quiero que lo acompañes con un café, un mate o incluso un buen té (en hebras por favor, no me vengas con saquitos). Aprender no tiene que ser un proceso duro, ágil o intenso; sino placentero y agradable. Kotlin es un buen lenguaje para emprender todo tipo de proyectos: hoy Android es quizá lo primero que se te viene a la cabeza, pero en el futuro veremos implementaciones multiplataforma, incluso en iOS.

Si te gustan mis artículos, ¡no olvides compartirlos y comentar!