Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:cc5115 [2020/02/10 13:06]
folmedo [Material]
teaching:cc5115 [2020/02/18 14:12] (current)
folmedo [Motivación, objetivos y contenido]
Line 2: Line 2:
  
  
-==== Motivación y Objetivos ​ ====+==== Motivación, objetivos ​contenido ​ ====
  
-El propósito ​de este curso es introducir la //​programación funcional//º a través del lenguaje Haskell. La programación funcional es reconocida por dar lugar a un estilo mucho más declarativo –y elegante– de programación,​ y tres características que la hacen particularmente atractiva son su conveniencia para //​verificar//​ programas, razonando algebraicamente de la misma manera que lo hacemos en matemática,​ para //​paralelizar//​ la ejecución de programas, ganando órdenes de magnitud en eficiencia, y por último, para //​abstraer//​ patrones de programación recurrentes,​ generando código más compacto, robusto y reusable.+El objetivo ​de este curso es introducir la //​programación funcional// a través del lenguaje Haskell. La programación funcional es reconocida por dar lugar a un estilo mucho más declarativo –y elegante– de programación,​ y tres características que la hacen particularmente atractiva son su conveniencia para //​verificar//​ programas, razonando algebraicamente de la misma manera que lo hacemos en matemática,​ para //​paralelizar//​ la ejecución de programas, ganando órdenes de magnitud en eficiencia, y por último, para //​abstraer//​ patrones de programación recurrentes,​ generando código más compacto, robusto y reusable.
    
-Lenguajes populares como Java, JavaScript o Scala han sabido explotar estas características adoptando un enfoque multi-paradigma. Para los objetivos de este utilizaremos sin embargo Haskell, un lenguaje puramente funcional. Haskell se considera en la frontera del diseño de lenguajes de programación y hoy en día tiene una penetración no menor en la industria, siendo usado por compañías como Microsoft, Facebook, IBM,  Galois, AT&​T, ​ JaneStreet y la NASA.+Lenguajes populares como Java, JavaScript o Scala han sabido explotar estas características adoptando un enfoque multi-paradigma. Para los objetivos de este curso utilizaremos sin embargo Haskell, un lenguaje puramente funcional. Haskell se considera en la frontera del diseño de lenguajes de programación y hoy en día tiene una penetración no menor en la industria, siendo usado por compañías como Microsoft, Facebook, IBM,  Galois, AT&​T, ​ JaneStreet y la NASA.
  
 A lo largo del curso cubriremos tanto la práctica como la teoría de la programación funcional. Al finalizar el mismo, los estudiantes serán capaces de: A lo largo del curso cubriremos tanto la práctica como la teoría de la programación funcional. Al finalizar el mismo, los estudiantes serán capaces de:
Line 35: Line 35:
 ==== Material ​ ==== ==== Material ​ ====
  
-  * //Learn you a Haskell for great good: A beginner'​s guide//. Lipovača M., No Starch Press, 1º  Edición, 2011. ([[http://​learnyouahaskell.com|disponible online:]])   +  * //Learn you a Haskell for great good: A beginner'​s guide//. Lipovača M., No Starch Press, 1º  Edición, 2011. ([[http://​learnyouahaskell.com|disponible online]]) ​  
-  * //​Programming in Haskell//. Hutton. G. Cambridge University Press. 2º Edición, 2016. ([[http://​www.cs.nott.ac.uk/​~pszgmh/​pih.html|disponible online:]]) +  * //​Programming in Haskell//. Hutton. G. Cambridge University Press. 2º Edición, 2016. ([[http://​www.cs.nott.ac.uk/​~pszgmh/​pih.html|disponible online]]) ​
   * //Thinking functionally with Haskell//. Richard Bird. Cambridge University Press. 1º Edición, 2015.   * //Thinking functionally with Haskell//. Richard Bird. Cambridge University Press. 1º Edición, 2015.
 ==== Contacto ==== ==== Contacto ====
 Federico Olmedo, Oficia 311N, [[folmedo@dcc.uchile.cl|email]] Federico Olmedo, Oficia 311N, [[folmedo@dcc.uchile.cl|email]]