Curso de Functional Programming con Scala

admin
Lenguajes de programación
$13,498.00
Curso de Functional Programming con Scala
  • 10 estudiantes
  • 0 lessons
  • 0 quizzes
  • 40 hour duration
10 estudiantes

Aprenda acerca de la programación funcional, y como puede ser esta efectivamente combinada con la programación orientada a objetos. Gane practica escribiendo codigo funcional  limpio usando el lenguaje de programación Scala.

Introducción:

La programación funcional ha llegado a ser mucho muy popular en los últimos años porque promueve el código que es seguro, conciso y elegante. Más aún, la programación funcional hace mucho más fácil escribir código paralelo para los multiprocesadores de hoy y mañana reemplazando las variables mutables y ciclos con maneras poderosas de definir y componer funciones.

El lenguaje Scala es hoy usado en un un gran número de proyectos de código abierto y compañías el cual crece rápidamente. Scala provee la infraestructura base  de sitios como Twitter, LinkedIn, FourSquare, Tumblr y Klout.

Descripción:

Scala es un lenguaje de programación multi-paradigma diseñado para expresar patrones comunes de programación en forma concisa, elegante y con tipos seguros. Integra sutilmente características de lenguajes funcionales y orientados a objetos. La implementación actual corre en la máquina virtual de Java y es compatible con las aplicaciones Java existentes.

Scala es orientado a objetos pero también posee características propias de los lenguajes funcionales. En Scala las funciones son valores de primera clase, soportando funciones anónimas, orden superior, funciones anidadas y currificación. Scala viene integrado de fábrica con la técnica de pattern matching para modelar tipos algebraicos usados en muchos lenguajes funcionales.

Objetivo del curso:

El asistente comprenderá los conceptos fundamentales de la programación con Scala, la integración reciproca con Java y visualizará los conceptos avanzados.  Al finalizar el curso el participante tendrá una base sólida del lenguaje de programación Scala sobre la cual podrá construir más conocimiento.

Este curso es en su mayoría practico o – manos a la obra – , la mayoría de los temas comprenden programas cortos que sirven a manera de ilustración de conceptos importantes y exhorta al participante a jugar con estos, modificarlos y mejorarlos. El Curso de Functional Programming con Scala es complementado con una serie de asignaciones, la mayoría de las cuales son también proyectos de programación.

Dirigido a: Programadores, desarrolladores de sistemas, licenciados en informática, científicos de datos que quieran comprender las bases y empezar a programar en Scala, unos de los lenguajes funcionales del futuro y ademas orientado a objetos.

 

Nivel: Básico – Intermedio.

Requisitos: Conocimientos de algún lenguaje de programación como Java o C# es ampliamente recomendado pero no mandatorio, si el alumno tiene experiencia de programación con  C/C++, Python, Ruby o JavaScript es suficiente. Comprensión de lectura de textos en idioma inglés. Manejo de cualquier SO básico.

Temario:

Parte 1 – Introducción

Shell | Instalación(Wndows) | Instalación (Mac) | Ejecutando Scala | Comentarios

Parte 2 – Scripting

Valores  | Tipos de datos | Variables | Expresiones | Expresiones Condicionales | Orden de evalacuación | Expresiones compuestas | Resumen y/o ejercicio Integrador

Parte 3 – Métodos y clases

Métodos  | Clases y Objetos | ScalaDoc | Creando Clases | Métodos dentro de clases | Importar y paquetes | Pruebas | Campos | Ciclos For | Vectores | Mas condicionales |Resumen y/o ejercicio Integrador

Parte 4 – Pattern Matching

 

Argumentos de clases | Argumentos nombrados y por defecto  | Sobrecarga | Constructores | Constructores auxiliares | Ejercicios con Clases | Clases Case | Interpolación de Cadenas | Tipos Parametrizados | Funciones como objetos | Map y reduce | Comprensión| Pattern Matching con tipos | Pattern Matching con Clases Case | Brevity | Un poco de Estilo | Idiomatic Scala | Definiendo Operadores | Conversión Automatica de Cadenas | Tuplas | Companion Objetcs | Herencia | Incializacion de clases base | Sobreescritura de metodos | Enumeración | Clases abstractas | Traits | Uniformidad de Accesos y establecedores (Access & Stters)

Parte 5 – Alcanzando a Java

Aplicaciones | Un poco de Reflection | Polimorfismo | Composición | Usando Traits | Tagging Traits & case Objects | Type Parameter Constraints | Construyendo Sistemas con Traits | Secuencias | Listas y recursión | Combinando secuencias con zip | Sets| Mapas | Referencias y Mutabilidad | Pattern Matching con Tuplas | Manejo de errores con excepciones | Constructores  y excepciones | Reporte de errores con Either | Manejando Non-Values con Option | Convirtiendo excepciones con Try | Reporte de errores personalizados | Diseño por Contrato (Design by Contract) | Logging | Extensión de métodos | Extensión de sistemas con Clases Type

 

Parte 6 – ¿qué sigue después?

AtomicTest | Llamando Scala desde Java |Practica Final

El plan de estudios está vacío.

0.00 average based on 0 ratings

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%
$13,498.00



¿CÓMO LLEVAMOS A CABO LAS CLASES ANTE EL COVID-19?

Metodología de enseñanza y aprendizaje que usamos en nuestras clases.
En KMMX usamos un metodología de aprendizaje “blended*” que al español se traduce como mezclada, es decir una parte es presencial y otra a distancia, en estos momentos debido a la pandemia Covid-19 la parte presencial se realiza de manera a distancia pero de manera personalizada en vivo, tratando de simular el cara a cara que tenemos cuando los alumnos asisten a nuestras aulas de manera física. Mantenemos un enfoque de “enseñanza activa”, es decir, el alumno aprende hasta que hace las cosas motivo por el cual se asignan una serie de proyectos en cada curso, que el alumno tendrá que ir completando a su ritmo, por que entendemos que cada alumno aprende de manera diferente y a su ritmo creamos las asesorías personalizadas, que puede solicitar a través del sistema de aprendizaje online.
* El Blended Learning es la combinación de la educación presencial con clases en el aula, con la educación online.

¿Pero en que consiste?
Cada sesión es de aproximadamente una hora, el instructor explica conceptos y resuelve dudas.
Cada curso tiene una serie de ejercicios o proyectos previamente definidos.
En la siguiente sesión el instructor resuelve dudas y explica los siguientes conceptos, así hasta cubrir la totalidad del temario y alcance del curso.
Se agenda una sesión con un mentor antes, durante y después del curso para asegurar el aprendizaje y aprovechamiento del curso. El mentor no es la misma persona que el instructor.
En la plataforma estarán disponibles las sesiones y recursos para ser consultados en cualquier momento por el alumno. Aunque son clases a distancia la experiencia es personalizada.

Mucho éxito en tu camino.
Tus amigos de KMMX