[{"data":1,"prerenderedAt":619},["ShallowReactive",2],{"navigation_docs":3,"-proyecto-revisiones":309,"-proyecto-revisiones-surround":616},[4,18,70,105,149,178,212,257,298],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"path":20,"stem":21,"children":22,"icon":25},"Interfaz Gráfica de Usuario","\u002Fgui","2.gui\u002F01.index",[23,26,30,34,38,42,46,50,54,58,62,66],{"title":24,"path":20,"stem":21,"icon":25},"¿Qué es una Interfaz Gráfica de Usuario (GUI)?","i-carbon-gui-management",{"title":27,"path":28,"stem":29,"icon":25},"Creación de Interfaces Gráficas de Usuario (GUI)","\u002Fgui\u002Fbuild-gui","2.gui\u002F02.build-gui",{"title":31,"path":32,"stem":33,"icon":25},"Componentes Básicos de Swing","\u002Fgui\u002Fcomponentes-basicos","2.gui\u002F03.componentes-basicos",{"title":35,"path":36,"stem":37},"El componente JFrame","\u002Fgui\u002Fjframe","2.gui\u002F04.jframe",{"title":39,"path":40,"stem":41},"El componente JPanel","\u002Fgui\u002Fjpanel","2.gui\u002F05.jpanel",{"title":43,"path":44,"stem":45},"El componente JButton","\u002Fgui\u002Fjbutton","2.gui\u002F06.jbutton",{"title":47,"path":48,"stem":49,"icon":25},"Elementos de texto en interfaces gráficas con Swing","\u002Fgui\u002Ftext","2.gui\u002F07.text",{"title":51,"path":52,"stem":53},"Elementos Visuales","\u002Fgui\u002Felementos-visuales","2.gui\u002F08.elementos-visuales",{"title":55,"path":56,"stem":57,"icon":25},"Eventos en Swing","\u002Fgui\u002Feventos","2.gui\u002F09.eventos",{"title":59,"path":60,"stem":61,"icon":25},"Controles en Swing","\u002Fgui\u002Fcontroles","2.gui\u002F10.controles",{"title":63,"path":64,"stem":65,"icon":25},"Atributos Comunes de los Componentes de Diseño","\u002Fgui\u002Fatributos-comunes","2.gui\u002F11.atributos-comunes",{"title":67,"path":68,"stem":69,"icon":25},"Layouts","\u002Fgui\u002Flayout","2.gui\u002F12.layout",{"title":71,"icon":25,"path":72,"stem":73,"children":74,"page":104},"Personalización","\u002Fpersonalizacion","3.personalizacion",[75,79,84,88,92,96,100],{"title":76,"path":77,"stem":78},"Jerarquía de clases en Swing","\u002Fpersonalizacion\u002Fjerarquia","3.personalizacion\u002F01.jerarquia",{"title":80,"path":81,"stem":82,"icon":83},"Personalización Inicial de Componentes Swing","\u002Fpersonalizacion\u002Fpersonalizacion-inicial","3.personalizacion\u002F02.personalizacion-inicial","i-carbon-palette",{"title":85,"path":86,"stem":87,"icon":83},"Tema y Personalización Avanzada en Swing","\u002Fpersonalizacion\u002Ftheme","3.personalizacion\u002F03.theme",{"title":89,"path":90,"stem":91,"icon":83},"Pintando en Swing","\u002Fpersonalizacion\u002Fpaint","3.personalizacion\u002F04.paint",{"title":93,"path":94,"stem":95,"icon":83},"Mi Tema 1: Comenzando con la Personalización","\u002Fpersonalizacion\u002Ftheme-start","3.personalizacion\u002F05.theme-start",{"title":97,"path":98,"stem":99,"icon":83},"UI Delegates: Personalizando la Apariencia de los Componentes","\u002Fpersonalizacion\u002Fui-delegates","3.personalizacion\u002F06.ui-delegates",{"title":101,"path":102,"stem":103,"icon":83},"Empleado delegadores de UI para personalizar la apariencia de los componentes","\u002Fpersonalizacion\u002Ftheme-02","3.personalizacion\u002F07.theme-02",false,{"title":106,"path":107,"stem":108,"children":109,"icon":148},"Programación concurrente","\u002Fconcurrencia","4.concurrencia\u002F01.index",[110,112,116,120,124,128,132,136,140,144],{"title":111,"path":107,"stem":108,"icon":83},"¿Qué es la concurrencia?",{"title":113,"path":114,"stem":115,"icon":83},"Unidades de Ejecución","\u002Fconcurrencia\u002Funidades-ejecucion","4.concurrencia\u002F02.unidades-ejecucion",{"title":117,"path":118,"stem":119,"icon":83},"Programa de flujo único y de flujo múltiple","\u002Fconcurrencia\u002Fflujos","4.concurrencia\u002F03.flujos",{"title":121,"path":122,"stem":123,"icon":83},"Hilos con Thread y Runnable","\u002Fconcurrencia\u002Fthread-runnable","4.concurrencia\u002F04.thread-runnable",{"title":125,"path":126,"stem":127},"Paralelismo V.S. Concurrencia","\u002Fconcurrencia\u002Fparalelismo","4.concurrencia\u002F05.paralelismo",{"title":129,"path":130,"stem":131,"icon":83},"Problemas clásicos de concurrencia","\u002Fconcurrencia\u002Fproblemas","4.concurrencia\u002F06.problemas",{"title":133,"path":134,"stem":135,"icon":83},"Emulando condiciones de carrera en Java","\u002Fconcurrencia\u002Fcondiciones-carrera","4.concurrencia\u002F07.condiciones-carrera",{"title":137,"path":138,"stem":139,"icon":83},"Semáforos en Java","\u002Fconcurrencia\u002Fsemaforos","4.concurrencia\u002F08.semaforos",{"title":141,"path":142,"stem":143,"icon":83},"La clase Timer en Java Swing","\u002Fconcurrencia\u002Ftimer","4.concurrencia\u002F09.timer",{"title":145,"path":146,"stem":147,"icon":83},"Algoritmos de ordenamiento de procesos","\u002Fconcurrencia\u002Falgoritmos-procesos","4.concurrencia\u002F10.algoritmos-procesos","i-carbon-parallel-groups",{"title":150,"path":151,"stem":152,"children":153,"icon":177},"Acceso a datos","\u002Fdatos","5.datos\u002F01.index",[154,157,161,165,169,173],{"title":155,"path":151,"stem":152,"icon":156},"Java y las bases de datos","i-carbon-database",{"title":158,"path":159,"stem":160},"Cliente Servidor","\u002Fdatos\u002Fcliente-servidor","5.datos\u002F02.cliente-servidor",{"title":162,"path":163,"stem":164},"CRUD","\u002Fdatos\u002Fcrud","5.datos\u002F03.crud",{"title":166,"path":167,"stem":168},"Sentencias Preparadas con JDBC","\u002Fdatos\u002Fsentencia-preparada","5.datos\u002F04.sentencia-preparada",{"title":170,"path":171,"stem":172},"DAO (Data Access Object)","\u002Fdatos\u002Fdao","5.datos\u002F05.dao",{"title":174,"path":175,"stem":176},"Usando Hibernate ORM","\u002Fdatos\u002Form","5.datos\u002F06.orm","i-gravity-ui-database-fill",{"title":179,"path":180,"stem":181,"children":182,"icon":211},"Programación móvil","\u002Fmovil","6.movil\u002F01.index",[183,186,191,195,199,203,207],{"title":184,"path":180,"stem":181,"icon":185},"¿Qué es Android y Kotlin?","i-carbon-mobile",{"title":187,"path":188,"stem":189,"icon":190},"¿Qué es Android Studio?","\u002Fmovil\u002Fandroid-studio","6.movil\u002F02.android-studio","i-carbon-application",{"title":192,"path":193,"stem":194,"icon":190},"¿Qué es Jetpack Compose?","\u002Fmovil\u002Fjetpack-compose","6.movil\u002F03.jetpack-compose",{"title":196,"path":197,"stem":198},"Filas y Columnas con Jetpack Compose","\u002Fmovil\u002Ffilas-columnas","6.movil\u002F04.filas-columnas",{"title":200,"path":201,"stem":202,"icon":190},"Componentes Básicos en Jetpack Compose","\u002Fmovil\u002Fcomponentes-basicos","6.movil\u002F05.componentes-basicos",{"title":204,"path":205,"stem":206,"icon":190},"Las Intenciones en Android con Jetpack Compose","\u002Fmovil\u002Fintentions","6.movil\u002F06.intentions",{"title":208,"path":209,"stem":210,"icon":190},"Navegación en Android con Jetpack Compose","\u002Fmovil\u002Fnavegacion","6.movil\u002F07.navegacion","phone_android",{"title":213,"icon":25,"path":214,"stem":215,"children":216,"page":104},"Ejemplos","\u002Fejemplos","7.ejemplos",[217,221,225,229,233,237,241,245,249,253],{"title":218,"path":219,"stem":220},"Ejemplo 01: Creando un validador abstracto de expresiones","\u002Fejemplos\u002Fejemplo-01","7.ejemplos\u002F01.ejemplo-01",{"title":222,"path":223,"stem":224},"Ejemplo 02: Diferencias de validar un JTextField y un JFormattedTextField","\u002Fejemplos\u002Fejemplo-02","7.ejemplos\u002F02.ejemplo-02",{"title":226,"path":227,"stem":228},"Ejemplo 03: Creando una Aplicación con GUI en Java Swing","\u002Fejemplos\u002Fejemplo-03","7.ejemplos\u002F03.ejemplo-03",{"title":230,"path":231,"stem":232},"Ejemplo 4: Estilizando componentes Swing con Delegadores","\u002Fejemplos\u002Fejemplo-04","7.ejemplos\u002F04.ejemplo-04",{"title":234,"path":235,"stem":236,"icon":83},"Ejemplo 5: Uso de Hilos con Thread y Runnable","\u002Fejemplos\u002Fejemplo-05","7.ejemplos\u002F05.ejemplo-05",{"title":238,"path":239,"stem":240,"icon":83},"Ejemplo 06: Manejando Hilos de formas Diferentes en Java","\u002Fejemplos\u002Fejemplo-06","7.ejemplos\u002F06.ejemplo-06",{"title":242,"path":243,"stem":244,"icon":83},"Ejemplo 7: Condiciones de carrera en Java","\u002Fejemplos\u002Fejemplo-07","7.ejemplos\u002F07.ejemplo-07",{"title":246,"path":247,"stem":248,"icon":83},"Ejemplo 8: Control de acceso a recursos compartidos con semáforos","\u002Fejemplos\u002Fejemplo-08","7.ejemplos\u002F08.ejemplo-08",{"title":250,"path":251,"stem":252,"icon":83},"Ejemplo 9: El restaurante y los pedidos","\u002Fejemplos\u002Fejemplo-09","7.ejemplos\u002F09.ejemplo-09",{"title":254,"path":255,"stem":256},"Ejemplo 10: Proceso FIFO (First In, First Out) con Semáforos y Swing","\u002Fejemplos\u002Fejemplo-10","7.ejemplos\u002F10.ejemplo-10",{"title":258,"icon":25,"path":259,"stem":260,"children":261,"page":104},"Actividades","\u002Factividades","8.actividades",[262,266,270,274,278,282,286,290,294],{"title":263,"path":264,"stem":265,"icon":25},"Actividad 1: Introducción al diseño de interfaces","\u002Factividades\u002Fact-01","8.actividades\u002F01.act-01",{"title":267,"path":268,"stem":269,"icon":25},"Actividad 2: Diseño de wireframes y prototipos","\u002Factividades\u002Fact-02","8.actividades\u002F02.act-02",{"title":271,"path":272,"stem":273,"icon":25},"Actividad 3: Propuesta de Proyecto y Wireframe inicial","\u002Factividades\u002Fact-03","8.actividades\u002F03.act-03",{"title":275,"path":276,"stem":277,"icon":83},"Actividad 4: Temas y Componentes Personalizados en Swing","\u002Factividades\u002Fact-04","8.actividades\u002F04.act-04",{"title":279,"path":280,"stem":281,"icon":83},"Actividad 5: Explicando la Concurrencia a un Niño de 5 Años","\u002Factividades\u002Fact-05","8.actividades\u002F05.act-05",{"title":283,"path":284,"stem":285,"icon":83},"Actividad 6: Simulación de una cocina con múltiples chefs (hilos)","\u002Factividades\u002Fact-06","8.actividades\u002F06.act-06",{"title":287,"path":288,"stem":289,"icon":83},"Actividad 7: Sistema de retiro bancario","\u002Factividades\u002Fact-07","8.actividades\u002F07.act-07",{"title":291,"path":292,"stem":293,"icon":83},"Actividad 8: Simulación de Round Robin con hilos e Interfaz Gráfica","\u002Factividades\u002Fact-08","8.actividades\u002F08.act-08",{"title":295,"path":296,"stem":297,"icon":83},"Actividad 9: CRUD con Hibernate y Swing","\u002Factividades\u002Fact-09","8.actividades\u002F09.act-09",{"title":299,"path":300,"stem":301,"children":302,"icon":308},"Proyecto Final","\u002Fproyecto","9.proyecto\u002F01.index",[303,304],{"title":299,"path":300,"stem":301},{"title":305,"path":306,"stem":307},"Revisiones del Proyecto Final","\u002Fproyecto\u002Frevisiones","9.proyecto\u002F02.revisiones","i-check-circle",{"id":310,"title":305,"body":311,"description":609,"extension":610,"links":611,"meta":612,"navigation":613,"path":306,"seo":614,"stem":307,"__hash__":615},"docs\u002F9.proyecto\u002F02.revisiones.md",{"type":312,"value":313,"toc":601},"minimark",[314,319,323,559,563,567,571,575,583,587,590,594],[315,316,318],"h2",{"id":317},"calendario-de-revisiones","Calendario de Revisiones",[320,321,322],"p",{},"A continuación se presenta el calendario de revisiones por equipo para el proyecto final del curso. Cada equipo tendrá asignado una conjunto de fechas previas a la fecha de entrega final del proyecto, en las cuales se realizarán revisiones periódicas para evaluar el progreso del proyecto, brindar retroalimentación y asegurar que se cumplan los requisitos establecidos.",[324,325,328,463],"tabs",{"className":326},[327],"w-full",[329,330,332],"tabs-item",{"label":331},"Grupo 184302",[333,334,335,354],"table",{},[336,337,338],"thead",{},[339,340,341,345,348,351],"tr",{},[342,343,344],"th",{},"Equipo",[342,346,347],{},"Fecha de Revisión 1",[342,349,350],{},"Fecha de Revisión 2",[342,352,353],{},"Fecha de Revisión 3",[355,356,357,372,383,394,405,419,430,441,452],"tbody",{},[339,358,359,363,366,369],{},[360,361,362],"td",{},"Equipo B",[360,364,365],{},"29-04-2026",[360,367,368],{},"08-05-2026",[360,370,371],{},"20-05-2026",[339,373,374,377,379,381],{},[360,375,376],{},"Equipo C",[360,378,365],{},[360,380,368],{},[360,382,371],{},[339,384,385,388,390,392],{},[360,386,387],{},"Equipo E",[360,389,365],{},[360,391,368],{},[360,393,371],{},[339,395,396,399,401,403],{},[360,397,398],{},"Equipo G",[360,400,365],{},[360,402,368],{},[360,404,371],{},[339,406,407,410,413,416],{},[360,408,409],{},"Equipo H",[360,411,412],{},"06-05-2026",[360,414,415],{},"13-05-2026",[360,417,418],{},"22-05-2026",[339,420,421,424,426,428],{},[360,422,423],{},"Equipo I",[360,425,412],{},[360,427,415],{},[360,429,418],{},[339,431,432,435,437,439],{},[360,433,434],{},"Equipo K",[360,436,412],{},[360,438,415],{},[360,440,418],{},[339,442,443,446,448,450],{},[360,444,445],{},"Equipo O",[360,447,412],{},[360,449,415],{},[360,451,418],{},[339,453,454,457,459,461],{},[360,455,456],{},"Equipo P",[360,458,412],{},[360,460,415],{},[360,462,418],{},[329,464,466],{"label":465},"Grupo 184300",[333,467,468,480],{},[336,469,470],{},[339,471,472,474,476,478],{},[342,473,344],{},[342,475,347],{},[342,477,350],{},[342,479,353],{},[355,481,482,493,504,515,526,537,548],{},[339,483,484,487,489,491],{},[360,485,486],{},"Equipo A",[360,488,365],{},[360,490,368],{},[360,492,371],{},[339,494,495,498,500,502],{},[360,496,497],{},"Equipo D",[360,499,365],{},[360,501,368],{},[360,503,371],{},[339,505,506,509,511,513],{},[360,507,508],{},"Equipo F",[360,510,365],{},[360,512,368],{},[360,514,371],{},[339,516,517,520,522,524],{},[360,518,519],{},"Equipo J",[360,521,412],{},[360,523,415],{},[360,525,418],{},[339,527,528,531,533,535],{},[360,529,530],{},"Equipo L",[360,532,412],{},[360,534,415],{},[360,536,418],{},[339,538,539,542,544,546],{},[360,540,541],{},"Equipo M",[360,543,412],{},[360,545,415],{},[360,547,418],{},[339,549,550,553,555,557],{},[360,551,552],{},"Equipo N",[360,554,412],{},[360,556,415],{},[360,558,418],{},[560,561,562],"tip",{},"Es importante que cada equipo se prepare adecuadamente para cada revisión, presentando el progreso realizado, los desafíos enfrentados, y cualquier aspecto relevante del proyecto. Las revisiones son una oportunidad para recibir retroalimentación constructiva, identificar áreas de mejora, y asegurar que el proyecto esté en línea con los requisitos establecidos. Se recomienda que cada equipo utilice las revisiones para ajustar su plan de trabajo, resolver cualquier problema o desafío que surja, y asegurar que el proyecto final cumpla con los estándares de calidad y funcionalidad esperados.",[564,565,566],"note",{},"Recuerda que la participación activa en las revisiones es fundamental para el éxito del proyecto final. Es importante que todos los miembros del equipo estén presentes y participen en las revisiones, compartiendo el progreso del proyecto, discutiendo los desafíos enfrentados, y colaborando para encontrar soluciones. Las revisiones son una oportunidad para demostrar el trabajo colaborativo y el conocimiento compartido en el desarrollo del proyecto, así como para recibir retroalimentación valiosa que puede mejorar la calidad y el éxito del proyecto final.",[568,569,570],"info",{},"Las sesiones de los días lunes cuando solo contamos con una hora de clase, podrán ser utilizadas para realizar revisiones rápidas, enfocándose en aspectos específicos del proyecto, como la identidad visual, el diseño de la aplicación, o la implementación de ciertas funcionalidades. Estas revisiones rápidas pueden ser una oportunidad para recibir retroalimentación específica y ajustar el enfoque del proyecto de manera ágil, asegurando que se mantenga el progreso constante hacia la entrega final del proyecto.",[315,572,574],{"id":573},"fecha-de-entrega-final","Fecha de Entrega Final",[320,576,577,578,582],{},"La entrega final se realizará el día ",[579,580,581],"strong",{},"27-05-2026",", en la cual cada equipo deberá presentar su proyecto final, incluyendo la documentación completa y la demostración funcional de la aplicación. Es importante que cada equipo se prepare adecuadamente para la entrega final, asegurándose de que el proyecto cumpla con todos los requisitos establecidos, esté bien documentado, y que la presentación sea clara y profesional. La entrega final es una oportunidad para demostrar el trabajo realizado a lo largo del curso, así como para recibir retroalimentación valiosa sobre el proyecto final. Se recomienda que cada equipo practique su presentación, asegurándose de que puedan presentar su proyecto de manera fluida y profesional, y que estén preparados para responder preguntas o comentarios del docente durante la presentación final del proyecto.",[315,584,586],{"id":585},"evaluación-final-del-proyecto","Evaluación Final del Proyecto",[320,588,589],{},"La evaluación final del proyecto se basará en la checklist presentada en la sección de evaluación del proyecto final, así como en la calidad y funcionalidad de la aplicación, la documentación presentada, y la presentación realizada durante la entrega final del proyecto. Es importante que cada equipo se esfuerce por cumplir con todos los criterios de evaluación establecidos, asegurándose de que el proyecto final sea de alta calidad, funcional, bien documentado, y presentado de manera clara y profesional. La evaluación final del proyecto es una oportunidad para demostrar el conocimiento y las habilidades adquiridas a lo largo del curso, así como para recibir retroalimentación valiosa sobre el proyecto final. Se recomienda que cada equipo revise cuidadosamente los criterios de evaluación, asegurándose de que su proyecto cumpla con todos los requisitos establecidos, y que la presentación final del proyecto sea clara, profesional, y destaque los aspectos más importantes de la aplicación desarrollada.",[315,591,593],{"id":592},"aclaraciones-e-inconformidades","Aclaraciones e Inconformidades",[320,595,596,597,600],{},"En caso de que algún equipo tenga alguna aclaración o inconformidad con respecto a la evaluación final del proyecto, se recomienda que se comuniquen con el docente de manera oportuna y respetuosa, presentando sus inquietudes de manera clara y fundamentada el día ",[579,598,599],{},"29-05-2026",", para que se pueda revisar y resolver cualquier situación de manera justa y transparente. Es importante que cualquier aclaración o inconformidad se maneje de manera constructiva, buscando siempre el diálogo y la comprensión mutua, con el objetivo de mejorar la calidad del proyecto final y asegurar una evaluación justa para todos los equipos. Se recomienda que cada equipo revise cuidadosamente los criterios de evaluación, asegurándose de que su proyecto cumpla con todos los requisitos establecidos, y que cualquier aclaración o inconformidad se presente de manera clara, fundamentada, y respetuosa para facilitar su revisión y resolución por parte del docente.",{"title":602,"searchDepth":603,"depth":603,"links":604},"",2,[605,606,607,608],{"id":317,"depth":603,"text":318},{"id":573,"depth":603,"text":574},{"id":585,"depth":603,"text":586},{"id":592,"depth":603,"text":593},"En esta sección se presentan el calendario de revisiones por equipo para el proyecto final del cursos.","md",null,{"editButton":104},true,{"title":305,"description":609},"HLzlAETCdwTfO0YKbdX5gbg7UFvCatnF-VH4rTb6GOk",[617,611],{"title":299,"path":300,"stem":301,"description":618,"children":-1},"En esta sección se presenta el proyecto final del curso, que consiste en desarrollar una aplicación Java que integre los conceptos y técnicas aprendidos a lo largo del curso. Se proporcionan pautas y requisitos para el proyecto, así como ejemplos de proyectos anteriores para inspirar a los estudiantes.",1777246213535]