Certificado de Programación con Kotlin

20h 0m

Aprende Kotlin, la sintaxis de este lenguaje, programación orientada a objetos, programación funcional y corutinas todo en un mismo lenguaje moderno compatible con Java.

Accede GRATIS y certifícate

En el mundo actual del desarrollo de software, Kotlin se ha consolidado como uno de los lenguajes más versátiles y modernos. "Programación con Kotlin" es un curso diseñado para aquellos que desean dominar este lenguaje y aprovechar sus características avanzadas en proyectos reales. A lo largo de este curso, exploraremos desde los fundamentos hasta conceptos especializados, permitiéndote desarrollar aplicaciones robustas y eficientes.

Introducción y entorno

Introducción a Kotlin

Kotlin es un lenguaje de programación que ha ganado popularidad gracias a su sintaxis concisa y su interoperabilidad con Java. Creado por JetBrains en 2011 y oficialmente lanzado en 2016, Kotlin ha sido adoptado ampliamente en el desarrollo de aplicaciones Android y en la creación de aplicaciones multiplataforma. En este curso, iniciaremos con un recorrido por la historia y filosofía de Kotlin, comprendiendo sus usos actuales y cómo se compara con Java.

Instalación y primer programa de Kotlin

Para comenzar a programar con Kotlin, es esencial configurar correctamente el entorno de desarrollo. Aprenderás a instalar las herramientas necesarias, entender la estructura básica de un proyecto y escribir tu primer programa "Hola mundo". Además, exploraremos cómo compilar y ejecutar tus programas, y la importancia de los paquetes e importaciones en la organización del código.

Sintaxis

Tipos de datos, variables y constantes

Kotlin ofrece una tipificación fuerte y estática, lo que mejora la seguridad y fiabilidad del código. Abordaremos cómo declarar y asignar variables, explorar los tipos de datos primitivos y entender el uso de constantes con la palabra clave val. Este conocimiento es fundamental para escribir código claro y eficiente.

Operadores y expresiones

Los operadores son elementos esenciales en cualquier lenguaje de programación. En Kotlin, analizaremos los operadores aritméticos, lógicos y relacionales, profundizando en su precedencia y asociatividad. También aprenderemos sobre conversión y casting de tipos, lo que permite manejar datos de diferentes tipos de forma segura.

Cadenas de texto y manipulación

Las cadenas de texto son omnipresentes en el desarrollo de software. Aprenderás operaciones básicas con cadenas, incluyendo concatenación y manipulación, así como técnicas de formateo que te permitirán presentar información de manera clara y precisa.

Estructuras de control

Para controlar el flujo de un programa, Kotlin ofrece estructuras condicionales y bucles. Estudiaremos las estructuras if, else y when para la toma de decisiones, y los bucles for, while y do-while para iteraciones. Además, exploraremos expresiones de control como break, continue y return, junto con el manejo de excepciones mediante try-catch.

Funciones y llamada de funciones

Las funciones son bloques de código reutilizables que realizan tareas específicas. Aprenderás a definir tus propias funciones, manejar parámetros y argumentos, y entender conceptos como sobrecarga y funciones anidadas. Esto te permitirá escribir código modular y organizado.

Programación orientada a objetos

Clases y objetos

La programación orientada a objetos (POO) es un paradigma fundamental en el desarrollo moderno. En Kotlin, descubrirás cómo definir clases y crear objetos, gestionar propiedades y métodos, y utilizar constructores para inicializar objetos. También abordaremos clases anidadas e internas para organizar mejor tus aplicaciones.

Herencia y polimorfismo

La herencia permite crear nuevas clases basadas en clases existentes, lo que facilita la reutilización y la extensión del código. Analizaremos el uso de open y override en Kotlin para implementar herencia y polimorfismo, permitiendo que tus clases y métodos sean más flexibles y adaptables.

Interfaces y clases abstractas

Las interfaces y clases abstractas son herramientas poderosas para definir contratos y comportamientos comunes. Aprenderás a definir y utilizar interfaces, entender las diferencias con las clases abstractas y cómo implementar múltiples interfaces en una sola clase, maximizando la reutilización de código.

Data classes y destructuring

Kotlin introduce las data class, que proporcionan métodos automáticamente generados como toString, equals, hashCode y copy. Estas clases son ideales para almacenar datos. Además, exploraremos el uso de destructuring para extraer datos y compararemos data class con las clases regulares.

Tipos genéricos y varianza

Los tipos genéricos permiten escribir código que funciona con cualquier tipo de dato. Estudiaremos cómo definir y utilizar tipos genéricos, comprender la varianza con in y out, y aplicar restricciones en tipos genéricos para garantizar la seguridad del tipo en tiempo de compilación.

Estructuras de datos

Listas, conjuntos y mapas

Las colecciones son fundamentales para manejar grupos de datos. Aprenderás a usar listas (List, MutableList), conjuntos (Set, MutableSet) y mapas (Map, MutableMap) en Kotlin. Además, exploraremos operaciones comunes sobre colecciones, como filtrar, mapear y agrupar, lo que te permitirá manipular datos de manera eficiente.

Programación funcional

Introducción a la programación funcional en Kotlin

La programación funcional es un paradigma que enfatiza el uso de funciones puras y evita los efectos secundarios. En Kotlin, este enfoque se integra perfectamente, ofreciendo ventajas como la facilidad para razonar sobre el código y la reducción de errores. Abordaremos conceptos clave como la evaluación perezosa (lazy) y cómo se compara este paradigma con el imperativo.

Funciones de primera clase y de orden superior

En Kotlin, las funciones son ciudadanos de primera clase, lo que significa que pueden ser tratadas como cualquier otro valor. Aprenderás sobre expresiones lambda, funciones anónimas y cómo utilizar funciones de orden superior para escribir código más flexible y reutilizable.

Inmutabilidad y datos inmutables

La inmutabilidad es un concepto central en la programación funcional. Analizaremos las ventajas de usar datos inmutables, cómo emplear val y data class en Kotlin para lograrlo, y la diferencia entre colecciones mutables e inmutables. Además, discutiremos cómo evitar estados compartidos para mejorar la integridad del programa.

Composición de funciones

La composición es fundamental para construir funciones complejas a partir de funciones sencillas. Aprenderás a componer funciones usando lambdas, aplicar funciones como argumentos y crear pipelines funcionales que hagan tu código más legible y mantenible.

Monads y manejo funcional de errores

Los monads son estructuras que permiten manejar cálculos secuenciales y el manejo de errores de forma funcional. Exploraremos el uso de Either y Result para manejar errores, así como Optional y Option para valores opcionales. También veremos cómo manejar errores con monads anidados, proporcionando una forma limpia y segura de gestionar excepciones.

Operaciones en colecciones

Las colecciones en Kotlin se enriquecen con operaciones funcionales como map, filter y reduce. Aprenderás a utilizar estas funciones para transformar y procesar datos de manera concisa. Además, abordaremos el uso de fold y el procesamiento perezoso con secuencias, lo que mejora el rendimiento en operaciones con grandes conjuntos de datos.

Transformaciones en monads y functors

Comprenderás cómo utilizar map y flatMap en monads como Option y Result, y cómo componer functors y monads para trabajar con estructuras de datos encapsuladas. Estos conceptos avanzados te permitirán escribir código más robusto y flexible.

Funciones parciales y currificación

La currificación y las funciones parciales son técnicas que permiten fijar algunos argumentos de una función para crear nuevas funciones más especializadas. Aprenderás a implementar estas técnicas en Kotlin y sus aplicaciones prácticas en el desarrollo de software.

Corutinas y concurrencia

Introducción a las corutinas

Las corutinas son una característica destacada de Kotlin para manejar la concurrencia de manera sencilla y eficiente. Descubrirás qué son las corutinas, sus ventajas y cómo crear y utilizar corutinas en tus aplicaciones, manejando los scopes y contextos apropiados.

Asincronía con suspend, async y await

Profundizaremos en el uso de funciones suspendidas con suspend, cómo utilizar async para lanzar tareas asíncronas y el operador await para esperar su resultado. Aprenderás a componer funciones suspendidas y gestionar flujos de trabajo asíncronos de manera efectiva.

Concurrencia funcional

La concurrencia es esencial en aplicaciones modernas. Abordaremos el manejo de concurrencia en corutinas, incluyendo estructuras de sincronización como Mutex y Channel. Además, exploraremos cómo lograr paralelismo con corutinas para mejorar el rendimiento de tus aplicaciones.

Evaluación

Para consolidar tus conocimientos, el curso incluye una evaluación multirespuesta con 30 preguntas que abarcan conceptos clave de Kotlin. Esta evaluación te permitirá identificar áreas de mejora y reforzar tu comprensión.

Proyectos prácticos

La mejor forma de aprender es poniendo en práctica lo aprendido. Trabajarás en proyectos como:

  • Sistema de inventario de tienda: Aplica conceptos de POO y estructuras de datos para gestionar inventarios de manera eficiente.
  • Simulador de conversión de monedas: Utiliza programación funcional y corutinas para crear un simulador que maneje datos en tiempo real.
  • Procesador asíncrono de grandes datos meteorológicos: Implementa técnicas avanzadas de concurrencia y manejo de grandes volúmenes de datos.

Estos proyectos te proporcionarán experiencia práctica y te prepararán para afrontar desafíos reales en el desarrollo con Kotlin.


El curso Programación con Kotlin es un curso completo y práctico que guía al alumno desde los fundamentos del lenguaje hasta sus características más avanzadas. A través de una estructura clara y proyectos aplicados, el curso permite al estudiante desarrollar habilidades esenciales en POO, programación funcional y concurrencia con corutinas, aspectos que fortalecen sus competencias para construir aplicaciones robustas y de alto rendimiento. Al finalizar, los participantes estarán preparados para abordar proyectos complejos en Kotlin y aplicar sus conocimientos en el desarrollo de software moderno, eficiente y escalable.

Empezar curso GRATIS

Tutoriales de programación en este certificado

Completa estas lecciones de programación para obtener tu certificado de superación

Ejercicios de programación de Programación con Kotlin

Completa estos ejercicios de programación para obtener tu certificado de superación

Otros cursos de programación con certificado

Supera todos los retos de Programación con Kotlin y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.

Tecnologías que aprenderás

Programación con Kotlin

Al finalizar este curso obtendrás

Certificado de superación en Programación con Kotlin

Certificado de superación en Programación con Kotlin

Tras completar todas las lecciones y ejercicios del curso Programación con Kotlin se te genera un enlace con tu certificado para que lo puedas descargar o compartir directamente en cualquier plataforma, siempre accesible.

Accede GRATIS a las certificaciones