Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nuevas Tecnologías de la Programación

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


Índice de Prácticas

Práctica 1: Programación Funcional

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.

Práctica 2: Programación con Scala

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 scalatest para comprobar los resultados de los test unitarios de cada uno de los problemas.

Práctica 3: Programación con Scala, funciones

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 scalatest para comprobar los resultados de los test unitarios de cada uno de los problemas así como JUnit.
  • 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.

Práctica 5: Códigos Huffman

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.

Índice de Seminarios

Seminario 1: Primera toma de contacto con programación funcional

En este serminario se trataron diferentes ejemplos de como trabajar usando flujos y expresiones lambda usando el enfoque de programación funcional.

Seminario 2: Primera toma de contacto con Scala

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.

Seminario 3: Clases y objetos con Scala

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).

Seminario 4: Tipos básicos y Clase Racional

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.

Seminario 5: Estructuras de Control

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.

About

UGR. Nuevas Tecnologias de la Programacion

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages