Prácticas y seminarios de la asignatura Nuevas Tecnologías de la Programación cursada en el Grado en Informática de la Universidad de Granada
En esta práctica implementaremos desde un punto de vista de la programación funcional un sistema de gestión de alumnos para asignación de grupos de prácticas en varias asignaturas.
Consideraciones:
- Se ha desarrollado usando el lenguaje de programación Java.
- El IDE utilizado es IntelliJ IDEA 15 bajo demanda del profesor. Las claves para dicho IDE las ha proporcionado el propio profesor.
- El enfoque de programación funcional está arraigado principalmente en Java y Scala.
- Se ha incluido JUnit para realizar pruebas de evaluación de la aplicación. JUnit fue descargado a través de Maven.
En esta práctica se pide desarrollar una serie de implementaciones recursivas usando el lenguaje de programación Scala. Las implementaciones son las siguientes:
- Triángulo de Pascal
- Balanceo de cadenas con paréntesis
- Contador de posibles cambios de moneda
Consideraciones:
- Se ha desarrollado usando el lenguaje de programación Scala
- El IDE utilizado es Intellij IDEA 15. Aunque también se podría haber desarrollado con cualquier editor de texto.
- Sigue el enfoque de progamación funcional.
- Se ha incluido la librería
scalatestpara comprobar los resultados de los test unitarios de cada uno de los problemas.
En esta práctica se pide desarrollar una serie de implementaciones de métodos de un objeto Conjunto basadas en la noción matemática de funciones características, el objetivo de esta práctica es implementar funciones de alto orden.
Consideraciones
- Se ha desarrollado usando el lenguaje de programación Scala
- El IDE utilizado es Intellij IDEA 16.1 Community Edition. Aunque también se podría haber desarrollado con cualquier editor de texto.
- Se ha incluido la librería
scalatestpara comprobar los resultados de los test unitarios de cada uno de los problemas así comoJUnit.- Como requisito se pedia que la mayoria de funciones se implementasen en una línea.
- Predomina el uso de predicados.
#### Práctica 4: Programación con Scala, objetos En esta práctica trabajaremos con clases de Scala y clases derivadas de estas. Tendremos colecciones de objetos (exactamente de tweets) sobre los cuales tendremos que aplicar una serie de métodos para filtrar, unir, intersecar y ordenar según una línea de tendencia de etiquetado los twits de estas colecciones.
Consideraciones
- Se ha desarrollado usando el lenguaje de programación Scala
- El IDE utilizado es Intellij IDEA 16.1 Community Edition. Aunque también se podría haber desarrollado con cualquier editor de texto.
Se ha realizado una implementación usando Scala como lenguaje de programción de los algoritmos de compresión que se usan en la codificación Huffman.
Consiste en representar cada símbolo usando un prefijo que represente los caracteres más comunes usando las cadenas de bits más cortas y al contrario. Para ello se tiene una correspondencia de carácter, frecuencia y código de representación.
Consideraciones
- El IDE utilizado es Intellij IDEA 16.1 Community Edition. Aunque también se podría haber desarrollado con cualquier editor de texto.
En este serminario se trataron diferentes ejemplos de como trabajar usando flujos y expresiones lambda usando el enfoque de programación funcional.
En este serminario se trataron diferentes ejemplos de como trabajar usando el lenguaje de programación Scala, el cual tiene arraigado el paradigma de programación funcional y esta fuertemente orientado a este paradigma.
En este seminario se dejan varios ejemplos del uso de las clases en Scala, entre ellos podemos destacar el uso de herencia, polimorfismo, clases abstractas y un nuevo concepto como clases anónimas (idea similar a las factorias).
Ejemplos de los distintos tipos de datos básicos para Scala y una clase Racional en la cual se han implementado los métodos básicos de operaciones y sobrecarga de operadores.
Se dejan distintos ejemplos básicos sobre las estructuras de control en Scala y como podemos realizar una traducción de estructuras de control de Java a código de Scala usando los paradigmas de programación funcional.
De forma complementaria se ofrece la resolución del clásico problema de las ocho reinas.
#### Seminario 6: Funciones y cierres
Se dejan distintos ejemplos básicos sobre el uso de las funciones en Scala, entre los ejemplos podemos encontrar como definir funciones haciendo uso de los placeholders - asi como ejemplos para definir funciones de primer orden a las cuales se les puede pasar como parámetro otra función, lo que se denomina callbacks.
## Licencia
Los detalles se encuentran en el archivo LICENSE. En resumen, todo el contenido tiene como licencia MIT License por lo tanto es totalmente gratuito su uso para proyectos privados o de uso comercial.