2018-2

Información general

Profesores

  • Camilo Rocha (camilo.rocha *at* javerianacali.edu.co)
  • Carlos Pinzón (carlos.pinzon *at* javerianacali.edu.co)

Horario

  • Martes (Palmas - 2.4) 14:00 - 15:30
  • Miércoles (Palmas - 3.2) 16:00 - 17:30
  • Jueves (Palmas - 2.4) 14:00 - 15:30

Atención a estudiantes

  • Martes 11:00 - 12:00 (Oficina 2-38, Facultad de Ingeniería)
  • Jueves 10:00 - 11:00 (Laboratorio DECC - Guayacanes 4o piso)
  • Jueves 11:00 - 12:00 (Oficina 2-38, Facultad de Ingeniería)
  • Viernes 10:00 - 11:00 (Laboratorio DECC - Guayacanes 4o piso)

Programa del curso

Material

Vínculos

Tareas

Sesiones

Proyecto

El objetivo principal del proyecto es emplear algorítmos, técnicas y estructuras de datos estudiados en el curso para analizar la interacción de usuarios en redes sociales. Se utilizarán datos obtenidos de la página Reddit correspondientes a foros de discusión disponibles públicamente.

El proyecto puede ser desarrollado en grupos de máximo dos personas, y consta de tres entregas y una sustentación. Las fechas de las entregas y de la sustentación se establecen a continuación:

  • Entrega 0: octubre 24 de 2018
  • Entrega 1: octubre 31 de 2018 noviembre 18 de 2018
  • Entrega 2: noviembre 8 de 2018
  • Sustentación: noviembre 9 de 2018 noviembre 19 de 2018

Entrega 0: casos de prueba

El objetivo de esta entrega es desarrollar un algoritmo que, dada la representación de uno o más foros de discusión, produce una representación computacional de la estructura de los foros a modo de árbol. Además, los nodos del árbol deben consolidar cierta información del foro de discusión.

  • Cada archivo de entrada consta de una secuencia de líneas de texto con la siguiente estructura:

{indent_arrow}{body}[{author}|{ups}|{downs}|{comment_id}|{date}]

en donde

  • indent_arrow puede ser >, -->, ---->, ..., según la profundidad del comentario, es decir, > corresponde al post principal, --> a comentarios del post, ---> a comentarios de comentarios, etc
  • body es el texto del comentario y no contiene saltos de línea
  • author es el username del autor del comentario
  • ups y downs son la cantidad de votos a favor y en contra del comentario, respectivamente
  • comment_id es un identificador del comentario
  • date es la fecha en que se publicó el comentario
  • Para cada caso (entrada con la estructura anterior) se deben generar:
    • el recorrido en preorden del árbol asociado a la discusión, empleando tantas líneas como árboles aparezcan en la entrada y separando cada par de identificadores consecutivos por un espacio en blanco
    • para cada post la cantidad de votos positivos y negativos correspondientes al sub-árbol del cual es raíz, siguiendo el orden correspondiente al establecido en el numeral anterior. La cantidad de votos es separada por un espacio para cada nodo y se imprime una linea por nodo
    • la lista de usuarios (en orden descendente por la cantidad de comentarios y desempatada por orden lexicográfico, cuando sea necesario), uno por línea, con la cantidad de comentarios hechos, separando estas dos expresiones con un espacio en blanco.

Entrega 1: bajar enunciado (linux, windows)

Otros recursos