Diario del programador Jairo CS.
Jueves 25 de Junio.
Tarea a realizar: Ordenamientos de listas (alfabético y numérico).
Toma de decisiones: en un principio se optó por únicamente realizar el ordenamiento alfabético que es el único requisito de entrega del proyecto, pero para contar con un proyecto más robusto de decidió implementar también el ordenamiento numérico.
Nuevos aprendizajes: la importancia de la robustez en un algoritmo de ordenamiento alfabético es muy grande, pues hay que pensar en todos los escenarios posibles y se logró confeccionar un algoritmo que cumple con todos los requerimientos. Esto se logró gracias a un algoritmo que compare dos palabras, y otro algoritmo que compare palabras de una lista utilizando como base el primer algoritmo.
Objetivos no logrados: no se encontró un método para detener los bucles una vez que la lista ya se encuentre ordenada, por ello el ordenamiento no tiene margen de error pero podría suceder que la lista ya esté ordenada y el bucle continúe efectuándose.
Calificación de la actividad: ★★★★
Miércoles 1 de Julio.
Tarea a realizar: diseño básico de la interfaz gráfica.
Toma de decisiones: se decidió investigar sobre aspectos básicos de una interfaz gráfica con la librería Tkinter, para de esa forma tener lista la ventana principal y planificar cómo diseñar los algoritmos de clasificación de Tokens y mostrarlos en pantalla. Así mismo, se decidió utilizar el método "Place" para colocar en pantallas los distintos "widgets", pues se consideró muy simple e ineficiente el método "Pack", y no fue agradable la experiencia con el método "Grid" debido a su relatividad.
Nuevos aprendizajes: se manejaron "widgets" básicos de una interfaz gráfica, tales como ventanas, etiquetas, cajas de texto y botones (así como la utilidad de los comandos en los botones para ejecutar determinadas funciones).
Objetivos no logrados: no se logró dominar el método "Grid" así como las cajas de texto en modo solo lectura, pero estos fueron sustituidos por el método "Place" y las etiquetas de texto respectivamente.
Calificación de la actividad: ★★★
Jueves 2 de Julio.
Tarea a realizar: algoritmo de clasificación de Tokens.
Toma de decisiones: se decidió emplear el primer algoritmo recursivo del proyecto que toma el contenido de las cajas de texto, lo clasifica en las distintas categorías de tokens y crea etiquetas de texto para almacenar esos tokens. Así mismo se decidió emplear algoritmos iterativos para reconocer artículos, preposiciones, pronombres y verbos.
Nuevos aprendizajes: además de la utilidad de la built-in global para que las etiquetas agreguen y no modifique el contenido de las etiquetas, se tuvo una gran facilidad para distinguir los algoritmos donde es más utilizar algoritmos iterativos con el bucle "while", algoritmos iterativos con el bucle "for" y algoritmos recursivos.
Objetivos no logrados: ninguno.
Calificación de la actividad: ★★★★★
Viernes 3 de Julio.
Tarea a realizar: algoritmo de limpieza de Tokens.
Toma de decisiones: en un principio se decidió eliminar únicamente los elementos distintos a letras, números y el punto. Sin embargo se notó que podemos encontrarnos en muchos casos con puntos que impiden la correcta clasificación de palabras, entonces se empleó una estrategia para eliminar los puntos en determinados casos.
Nuevos aprendizajes: la estrategia para eliminar el punto de un token fue tomar como referencia si antecede un número, y en caso de que no, se procede a eliminarlo. Esta estrategia se consideró eficiente.
Objetivos no logrados: si bien se logró el objetivo de limpiar los tokens de caracteres no alfanuméricos, se tardó más tiempo de lo esperado en conseguirlo.
Calificación de la actividad: ★★★
Domingo 5 de Julio.
Actividad a realizar: configurar botón para abrir archivo de texto.
Toma de decisiones: obtener ayuda de videos de Youtube.
Nuevos aprendizajes: se aprendió a abrir estos archivos y además colocarlos en la caja de texto mediante el comando "insert".
Objetivos no logrados: ninguno.
Calificación de la actividad: ★★★★★
Martes 7 de Julio.
Actividad a realizar: creación de archivo HTML.
Toma de decisiones: se decidió investigar sobre cómo crear archivos HTML en Python.
Nuevos aprendizajes: se conocieron algunos aspectos básicos de un archivo HTML.
Objetivos no logrados: aún se desconoce muchos aspectos de un archivo HTML, así como la forma en que se aplicará este formato en nuestra interfaz gráfica.
Calificación de la actividad: ★
Miércoles 8 de Julio.
Actividad a realizar: creación de plantilla de archivo HTML.
Toma de decisiones: se definió la estrategia para crear archivo HTML dentro de Python, que consiste en crear una plantilla en la cual se guardará la estructura estándar de nuestros archivos y luego se agregarán los datos obtenidos de la clasificación de Tokens.
Nuevos aprendizajes: se logró diseñar una plantilla HTML sumamente básicas con elementos como títulos, párrafos, tablas y colores de fondo, obteniendo un resultado satisfactorio.
Objetivos no logrados: el diseño es sumamente básico, debido al desconocimiento de muchas funcionalidades del lenguaje HTML.
Calificación de la actividad: ★★★★
Jueves 9 de Julio.
Actividad a realizar: configuración de botón para crear archivo HTML.
Toma de decisiones: se decidió aplicar variables en nuestra plantilla para sustituirlas por nuestras datos de Python.
Nuevos aprendizajes: se logró manejar una función que lee nuestra plantilla, sustituye los variables de nuestro código HTML por las listas tokenizadas y finalmente la creación de un nuevo archivo con formato de fecha para que se creen archivos distintos siempre que el usuario desee.
Objetivos no logrados: ninguno.
Calificación de la actividad: ★★★★★
Sábado 11 de Julio.
Actividad a realizar: reunión final de grupo y realizar pruebas de funcionalidad, lecciones aprendidas y tabla de distribución de trabajo.
Toma de decisiones: además de realizar las pruebas de funcionalidad y lecciones aprendidas, decidí colaborar con la tabla de distribución de trabajo para agilizar el final de nuestro proyecto.
Nuevos aprendizajes: ninguno.
Objetivos no logrados: ninguno.
Calificación de la actividad: ★★★★★
Comentarios
Publicar un comentario