IIC2233 / syllabus-2020-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🎉🎊
35 stars 68 forks source link

Prerrequisitos no existen en filtrar_por_prerrequisitos #1348

Closed CarlosOlivos closed 4 years ago

CarlosOlivos commented 4 years ago

El retorno debe ser un diccionario con diccionarios de los cursos que son prerrequisitos del "curso" que se entrega como atributo o debe entregar un diccionario con los strings de las siglas de los cursos que son prerrequisitos ? Yo lo implemente de la primera forma y cuando quiero guardar el curso "IIC1102" me arroja que la llave no existe en el diccionario de todos los cursos.

fdoflorenzano commented 4 years ago

Hola @CarlosOlivos,

Sobre el formato de retorno del diccionario, eso ya se respondió en #1325.

Sobre lo segundo, intuyo entonces que intentas cargar todos los cursos que son prerrequisitos de curso, pero nota que eso no es lo que pide el filtro. Este pide en realidad los cursos de dicc_de_cursos que también son prerrequisitos de curso.

Espero se entienda, Saludos.

CarlosOlivos commented 4 years ago

Lo que entiendo es lo siguiente (en pseudo código): curso = progra avanzada (diccionario) dicc_cursos = todos los cursos (diccionario de diccionarios de cursos) return filtro_prerrequisitos = diccionario cursos que son prerrequisito de progra avanzada encontrados en dicc_cursos

en base a esta lógica una de las siglas que son prerrequisito de progra, no existe como llave en dicc_cursos. Entonces esta no debe ser retornada ?

fdoflorenzano commented 4 years ago

Es una forma de verlo. Como está propuesto es al revés: se están filtrando los cursos de dicc_de_cursos que son prerrequisitos de curso. Esa forma implica lo último que indicas de todas formas.

Saludos.

JaviGuzman commented 4 years ago

Hola! Según lo que explican acá, no sé si me queda claro lo que se pide. Por ejemplo (puse cualquier ramo, no es que estos sean realmente prerrequisitos):

Progra Avanzada tiene como requisito Intro a la Progra y Cultura y Conocimiento Bases de Datos tiene como requisito Progra Avanzada y Estructuras de Datos y Algoritmos Inteligencia Artificial tiene como requisito Progra Avanzada y Ingeniería de Software

Si curso es Progra Avanzada, nos piden es que se retorne un dict con la info de Bases de Datos e Inteligencia Artificial, o con la info de Intro a la Progra y Cultura y Conocimiento?

Gracias de antemano! :)

fdoflorenzano commented 4 years ago

Hola @JaviGuzman,

Según tu ejemplo sería Intro a la Progra y Cultura y Conocimiento, asumiendo estos cursos están en dicc_de_cursos inicialmente. Como dice el enunciado, retorna cursos de dicc_de_cursos que también son prerrequisito de curso.

Saludos.

JaviGuzman commented 4 years ago

Gracias @fdoflorenzano! Pero por qué "asumiendo estos cursos están en dicc_de_cursos "? dicc_de_cursos es el diccionario con todos los cursos que se dictan ese semestre, o me equivoco? Se refiere a que puede pasar que un curso no lo estén dictando ese semestre?

Saludos

fdoflorenzano commented 4 years ago

Hola @JaviGuzman,

Puede pasar lo que indicas, esa era la duda original de esta issue, si intentas buscar todos los prerrequisitos de curso en dicc_de_cursos potencialmente puedes no encontrar alguno. Por eso, el enunciado dice que son cursos en dicc_de_cursos que también son prerrequisitos de curso.

Saludos.

JaviGuzman commented 4 years ago

Muchas gracias, me quedó clarísimo ahora!

jtmeyer98 commented 4 years ago

He leído las issues de este problema y todavía no entiendo. Para el caso en el que quiero filtrar por prerrequisitos, por ejemplo de programacion avanzada, sus prerrequisitos son ['IIC1103', 'IIC1102'], IIC1103 existe en el diccionario de todos los cursos de ese semestre, pero IIC1102 no existe en ese diccionario.

¿Que debo retornar? un diccionario solo con el curso IIC1103?

Alonsinho1 commented 4 years ago

@jtmeyer98 Asi es, debes retornar solo aquellos cursos que se encuentren disponible ese semestre en particular

jtmeyer98 commented 4 years ago

Grande Alonsinho OP!