Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
teaching:cc5111 [2015/12/10 14:26] etanterteaching:cc5111 [2015/12/10 15:43] etanter
Line 30: Line 30:
 **El curso entrega las herramientas necesarias para ser efectivo en el desarrollo de software en Scala, tanto para desarrollar aplicaciones como para desarrollar bibliotecas robustas.** Esto implica el estudio de varios conceptos y mecanismos avanzados de programación, poniéndolos en su contexto científico y práctico. Así mismo, el curso expone ciertos mecanismos de Scala en relación con sus realizaciones en otros lenguajes. **El curso entrega las herramientas necesarias para ser efectivo en el desarrollo de software en Scala, tanto para desarrollar aplicaciones como para desarrollar bibliotecas robustas.** Esto implica el estudio de varios conceptos y mecanismos avanzados de programación, poniéndolos en su contexto científico y práctico. Así mismo, el curso expone ciertos mecanismos de Scala en relación con sus realizaciones en otros lenguajes.
  
-** Se alternarán clases expositivas orientadas a los conceptos de programación en Scala, y clases tutoriales enfocadas al uso de herramientas más usadas en la industria (Play para programación Web, Akka para programación reactiva, Scala.js para clientes Web, Slick para bases de datos).**+** Se alternarán clases expositivas orientadas a los conceptos de programación en Scala, y clases tutoriales enfocadas al uso de las herramientas más usadas en la industria** (Play para programación Web, Akka para programación reactiva, Scala.js para clientes Web, Slick para bases de datos, specs2 para testing).
  
  
  
 **Tópicos:** **Tópicos:**
-  * programación funcional: //funciones de primera clase, pattern matching, clases de casos, pereza//+  * programación funcional: //funciones de primera clase, pattern matching, clases de casos, TCO, pereza, monadas//
   * programación por objetos: //objetos, clases y traits//   * programación por objetos: //objetos, clases y traits//
-  * colecciones: //colecciones mutables e inmutables, iteradores//+  * colecciones: //colecciones mutables e inmutables, iteradores, streams//
   * tipos básicos: //generics, inferencia, conversiones implícitas//   * tipos básicos: //generics, inferencia, conversiones implícitas//
   * tipos avanzados: //miembros de tipo abstracto, tipos estructurales, tipos self, polimorfismo de familia, etc.//   * tipos avanzados: //miembros de tipo abstracto, tipos estructurales, tipos self, polimorfismo de familia, etc.//
Line 53: Line 53:
  
 {{teaching:cc5111:scala.pdf|Programa del Curso (CC5111)}} {{teaching:cc5111:scala.pdf|Programa del Curso (CC5111)}}
 +
 +**Nota para alumnos de doctorado**
 +
 +Se puede inscribir el curso con código CC74A, en cual caso la evaluación incluirá el estudio de unos aspectos formales de Scala (mediante artículos de investigación)