/
[BDN-040] Scala

[BDN-040] Scala

Este curso ofrece una formación integral, desde los fundamentos hasta técnicas avanzadas. Incluye clases, objetos, estructuras de control, y funciones; además, abarca temas como herencia, patrones, colecciones, manejo de XML, diseño modular, DSLs, y patrones de diseño en Scala. Ideal para desarrollar aplicaciones robustas y eficientes.

Duración:                     25 horas

Perfil:                            Avanzado/Experto

Dirigido a

Este curso está diseñado para desarrolladores de software, programadores interesados en aprender Scala, y profesionales que buscan mejorar sus habilidades en programación funcional y orientada a objetos.

Requisitos previos 

Los alumnos necesitarán tener conocimientos de programación orientada a objetos y Java.

Objetivos

  • Dominar los fundamentos del lenguaje Scala: clases, objetos, funciones y cierres.
  • Aplicar técnicas avanzadas como herencia, programación modular, patrones de diseño y DSLs.
  • Trabajar con colecciones, listas, XML y herramientas de construcción.
  • Integrar Scala con Java y desarrollar aplicaciones modernas.
  • Comprender conceptos avanzados como recursión de cola, continuaciones y parámetros implícitos.


Contenido

  1. Introducción a Scala

    1. Configuración del entorno y primeros pasos en Scala
    2. Conceptos básicos del lenguaje
  2. Clases, Objetos y Tipos

    1. Declaración de clases y objetos
    2. Uso y creación de tipos en Scala
  3. Estructuras de Control

    1. Condicionales, bucles y manejo de flujos de ejecución
  4. Funciones y Cierres

    1. Creación y uso de funciones
    2. Concepto y aplicación de cierres
  5. Composición y Herencia

    1. Diseño de jerarquías de clases
    2. Principios de herencia y polimorfismo
  6. Jerarquía de Scala y Métodos Universales

    1. Profundización en la jerarquía del lenguaje
    2. Uso de métodos comunes en Scala
  7. Traits (Tratos)

    1. Implementación y uso de traits para el diseño modular
  8. Paquetes e Importaciones

    1. Organización del código en paquetes
    2. Uso eficiente de importaciones
  9. Pruebas y Asertos

    1. Creación de pruebas unitarias
    2. Validación del código con asertos
  10. Clases de Caso y Patrones

    1. Uso de clases de caso y patrones de coincidencia
  11. Funciones Parciales y Actores

    1. Creación de funciones parciales
    2. Introducción al modelo de actores para concurrencia
  12. Colecciones y Listas

    1. Trabajo avanzado con listas y colecciones en Scala
  13. Integración con Java y Aplicaciones Web

    1. Interacción con código Java
    2. Construcción de aplicaciones web
  14. Desarrollo de Proyectos en Scala

    1. Aplicación práctica del lenguaje en un proyecto
  15. Estado de los Objetos y Parametrización de Tipos

    1. Gestión del estado mutable e inmutable
    2. Uso de tipos genéricos
  16. Miembros Abstractos y Conversión Implícita

    1. Declaración de miembros abstractos
    2. Uso de conversiones y parámetros implícitos
  17. Trabajo con XML

    1. Manipulación de datos XML en Scala
  18. Programación Modular y Autotipos

    1. Diseño modular y uso avanzado de tipos
  19. Extractores y Estilo Idiomático de Scala

    1. Uso de extractores para patrones
    2. Mejores prácticas de codificación en Scala
  20. Creación de DSLs

    1. Diseño y desarrollo de lenguajes específicos de dominio
  21. Patrones de Diseño en Scala

    1. Implementación de patrones clásicos adaptados a Scala
  22. Recursión de Cola y Continuaciones

    1. Optimización con recursión de cola
    2. Uso de continuaciones delimitadas y distribuidas


Documentación Recomendada

Data Engineering with Scala and Spark
Eric Tome, David Radford & Rupam Bhattacharjee
January 2024 | 300 pages

https://www.packtpub.com/en-us/product/data-engineering-with-scala-and-spark-9781804614327

Related pages