<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1316-4821</journal-id>
<journal-title><![CDATA[Universidad, Ciencia y Tecnología]]></journal-title>
<abbrev-journal-title><![CDATA[uct]]></abbrev-journal-title>
<issn>1316-4821</issn>
<publisher>
<publisher-name><![CDATA[AutanaBooks S.A.S. Revista de la Universidad Experimental Politécnica Antonio José de Sucre, Vice Rectorado Puerto Ordaz, Venezuela, gestionada en Ecuador por AutanaBooks]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1316-48212016000200002</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Desarrollo e implementación de un marco de trabajo para el entrenamiento en programación competitiva]]></article-title>
<article-title xml:lang="en"><![CDATA[Development and implementation of a framework for training in competitive programming]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Lázaro Carrillo]]></surname>
<given-names><![CDATA[Gerson Yesid]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Delgado León]]></surname>
<given-names><![CDATA[Angie Melissa]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Vera Rivera]]></surname>
<given-names><![CDATA[Fredy Humberto]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Francisco de Paula Santander  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2016</year>
</pub-date>
<volume>20</volume>
<numero>79</numero>
<fpage>69</fpage>
<lpage>74</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_arttext&amp;pid=S1316-48212016000200002&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_abstract&amp;pid=S1316-48212016000200002&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_pdf&amp;pid=S1316-48212016000200002&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El rol de las maratones de programación en la formación académica de los estudiantes de ingeniería es claramente reflejado en un mejor desenvolvimiento durante la vida laboral. Para fortalecer el proceso de preparación de los equipos de estudiantes en las distintas competencias de programación, con énfasis en la Maratón Regional Latinoamericana y la Maratón Mundial de Programación, proponemos un marco de trabajo basado en Tecnologías de Información y Comunicación (TIC), donde se plantean y describen las actividades a desarrollar, las herramientas a utilizar, la metodología y los cronogramas. Así mismo, desarrollamos una serie de recursos que forman parte del marco del trabajo: un sitio web, un repositorio con explicaciones teórico-prácticas, ejercicios propuestos y resueltos, así como manuales de ayuda en C++ y JAVA. El marco de trabajo propuesto ha mejorado significativamente los resultados de la participación de los equipos de la Universidad Francisco de Paula Santander - Cúcuta (Colombia) en las competencias a nivel local, regional e internacional.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The role of programming marathons in engineering student’s academic training is clearly reflected in a better development during working life. In order to strengthen the preparation process for the different programming contests for which students of Francisco de Paula Santander University take part, we developed a framework to describe and planify the activities, the tools, the methodology and the schedule that guides the process. In addition, we generated a set of resources for contribute to the framework: a repository with theoretical-practical explanations, proposed and solved exercises, as well as, help manuals in C++ and JAVA with a list of different algorithms to be used during competitions. With the application of the framework proposed, we improved the results of the teams that represent the university in different local, regional and international level programming contests.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Maratones de Programación]]></kwd>
<kwd lng="es"><![CDATA[Programación Competitiva]]></kwd>
<kwd lng="es"><![CDATA[Marco de trabajo]]></kwd>
<kwd lng="en"><![CDATA[Programming Contest]]></kwd>
<kwd lng="en"><![CDATA[Competitive Programming]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p style="text-align: center; line-height: normal"><font face="Verdana"> <span class="A4"><b>Desarrollo e implementación de un marco de trabajo para el  entrenamiento en programación competitiva</b></span></font></p>     <p style="text-align: center; line-height: normal"><font face="Verdana"><b> <span style="font-size: 10.0pt; color: black">Gerson Yesid Lázaro Carrillo,  Angie Melissa Delgado León, Fredy Humberto Vera Rivera</span></b></font></p>     <p style="text-align: justify; line-height: normal"><font face="Verdana"> <span style="font-size: 10.0pt; color: black">Universidad Francisco de Paula  Santander, Colombia</span></font></p>     <p style="text-align: justify; line-height: normal"><font face="Verdana"><b> <span style="font-size: 10.0pt; color: black">Resumen: </span></b> <span style="font-size: 10.0pt; color: black">El rol de las maratones de  programación en la formación académica de los estudiantes de ingeniería es  claramente reflejado en un mejor desenvolvimiento durante la vida laboral. Para  fortalecer el proceso de preparación de los equipos de estudiantes en las  distintas competencias de programación, con énfasis en la Maratón Regional  Latinoamericana y la Maratón Mundial de Programación, proponemos un marco de  trabajo basado en Tecnologías de Información y Comunicación (TIC), donde se  plantean y describen las actividades a desarrollar, las herramientas a utilizar,  la metodología y los cronogramas. Así mismo, desarrollamos una serie de recursos  que forman parte del marco del trabajo: un sitio web, un repositorio con  explicaciones teórico-prácticas, ejercicios propuestos y resueltos, así como  manuales de ayuda en C++ y JAVA. El marco de trabajo propuesto ha mejorado  significativamente los resultados de la participación de los equipos de la  Universidad Francisco de Paula Santander – Cúcuta (Colombia) en las competencias  a nivel local, regional e internacional.</span></font></p>     <p style="text-align: justify; line-height: normal"><font face="Verdana"><b> <span style="font-size: 10.0pt; color: black">Palabras Clave: </span></b> <span style="font-size: 10.0pt; color: black">Maratones de Programación,  Programación Competitiva, Marco de trabajo.</span></font></p>     <p style="text-align: center; line-height: normal"> <font face="Verdana" size="2"><b><span lang="EN-US" style="color: black"> Development and implementation of a framework for training in competitive  programming</span></b></font></p>     <p style="text-align: justify; line-height: normal"><font face="Verdana"><b> <span lang="EN-US" style="font-size: 10.0pt; color: black">Abstract: </span></b> <span lang="EN-US" style="font-size: 10.0pt; color: black">The role of  programming marathons in engineering student’s academic training is clearly  reflected in a better development during working life. In order to strengthen  the preparation process for the different programming contests for which  students of Francisco de Paula Santander University take part, we developed a  framework to describe and planify the activities, the tools, the methodology and  the schedule that guides the process. In addition, we generated a set of  resources for contribute to the framework: a repository with  theoretical-practical explanations, proposed and solved exercises, as well as,  help manuals in C++ and JAVA with a list of different algorithms to be used  during competitions. With the application of the framework proposed, we improved  the results of the teams that represent the university in different local,  regional and international level programming contests.</span></font></p>     <p style="text-align: justify"><font face="Verdana"><b> <span lang="EN-US" style="font-size: 10.0pt; color: black">Key words: </span> </b><span lang="EN-US" style="font-size: 10.0pt; color: black">Programming  Contest, Competitive Programming.</span></font></p>     <p style="text-align: justify; line-height: normal"> <font face="Verdana" size="2"><span class="A8">Recibido (21/03/16), aceptado  (21/06/16).</span></font></p>     <p align="justify"><font face="Verdana" size="2"><b><span style="color: black"> I. INTRODUCCION</span></b></font></p>     ]]></body>
<body><![CDATA[<p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">Con el fin de brindar una educación integral y formar  a los estudiantes en las habilidades que requieren en su vida laboral, muchas  universidades incentivan la participación en actividades extracurriculares que  complementen su formación académica. En carreras afines a las ciencias de la  computación y el desarrollo de software, es común la participación en diferentes  tipos de competencias o maratones de programación, espacios donde los  estudiantes se enfrentan a un set de problemas con unas reglas preestablecidas,  desarrollando soluciones algorítmicas que resuelvan dichos problemas, pudiendo  interpretarse como un campo de juego entretenido para la exploración de la  inteligencia de los programadores [1]. Las maratones de programación fortalecen  en los estudiantes su capacidad de razonamiento lógico, creación y análisis de  algoritmos y uso de estructuras de datos, fomentando la creatividad, el trabajo  en equipo, la innovación y la creación de nuevos programas de software poniendo  a prueba la habilidad de los estudiantes para actuar bajo presión, investigar  por su propia cuenta temas no cubiertos en clase, y resolver problemas sin la  guía de un instructor [2].</span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">Como afirma Halim [3] las universidades como  instituciones de educación superior e investigación tienen un papel primordial  en la consolidación de desarrolladores de software hábiles e informáticos para  las generaciones futuras. Por este motivo, desde el primer semestre del 2015, la  Universidad Francisco de Paula Santander (UFPS) cuenta con el grupo de estudio  en programación competitiva, adscrito al semillero de investigación en Linux y  Desarrollo de Software libre (SILUX), el cual se encarga de realizar un proceso  de preparación a los estudiantes que participan en competencias de programación.  Este proyecto se planteó con el fin de realizar una metodología de trabajo para  este grupo de estudio, la cual puede ser replicada por cualquier Universidad,  que permita mejorar los resultados en las competencias oficiales donde  participen estudiantes del programa. Competencias de este tipo impulsan el  aprendizaje, ya que está en la naturaleza del ser humano intentar ser el mejor,  sobre todo si su calificación se pone en juego. Del mismo modo, estas  actividades generan entusiasmo hacia la computación y aportan reconocimiento  positivo para las instituciones que las acogen [4]. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">El grupo de estudio de programación competitiva busca  reforzar los conocimientos de sus integrantes con las temáticas típicas de una  maratón de programación: algoritmos de grafos, Backtracking, procesamiento de  Strings, geometría computacional, programación dinámica y conceptos básicos de  teoría de números, entre otros. La construcción de un marco de trabajo para el  grupo de estudio es necesaria para formalizar el proceso de entrenamiento a  través de la aplicación y ajuste de técnicas y metodologías que se adapten al  nivel en el que se encuentran los estudiantes. Se busca además crear un sitio  web donde se comparte la información del marco de trabajo, se crea también un  banco documental y de material que sirva de base para el trabajo de los  diferentes equipos que participan en maratones de programación, también se  desarrolla una plataforma de entrenamiento que permite fortalecer las  actividades y llevar un seguimiento del trabajo realizado. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">Muchas Universidades a lo largo del mundo han creado  sus propias metodologías, programas, estrategias y técnicas para preparar a sus  equipos en maratones de programación. Algunos de los ejemplos más notorios están  en la Universidad de Stanford con su grupo de estudio SLPC (“Stanford Local  Programan Contest”) donde se realizan regularmente maratones de preparación para  sus estudiantes que pueden ser accedidas también por cualquier agente externo y  la Universidad Nacional de Singapur, donde dirigidos por Steven Halim han  desarrollado una metodología que gira en torno al libro Competitive Programming  3 y la herramienta Uva Hunting para preparar adecuadamente a sus equipos  colocando como objetivo primordial de la programación competitiva lo siguiente:  &quot;Dado un conjunto de problemas conocidos de ciencias de la computación,  resolverlos lo más pronto posible&quot; [5]. En Colombia, el grupo de investigación  GUIAME de la Universidad Nacional sede Medellín ha creado la herramienta  “Programming Practice Center” (PPC) donde los estudiantes de la Universidad  realizan sus entrenamientos, y la Universidad EAFIT también en Medellín ha  desarrollado un completo programa de trabajo para el estudio de programación  competitiva. Teniendo en mente todos estos trabajos realizados, se analiza la  forma de diseñar e integrar un marco de trabajo efectivo que se adapte a las  necesidades específicas del grupo de estudio en Programación Competitiva de la  Universidad Francisco de Paula Santander, que pueda ser referente en la región y  a cualquier equipo de maratones de programación. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">En esta introducción se ha mostrado la importancia de  la realización de este proyecto, y un pequeño resumen del marco teórico sobre el  cual hemos trabajado. A continuación, se detalla el desarrollo de la  investigación, indicando en métodos y materiales la forma en que este proceso se  ha llevado a cabo, como se ha construido en marco de trabajo y como se ha  aplicado en el ambiente en cuestión. Posteriormente se realiza un análisis de  los resultados obtenidos a raíz de la implementación del proyecto. Luego se  propone una discusión centrada en los resultados obtenidos y cómo interpretar  los resultados en casos de replicar este proceso en un ambiente diferente.  Finalmente, se detallan las conclusiones a las cuales hemos podido llegar a raíz  de esta investigación. </span></font></p>     <p align="justify"><font face="Verdana" size="2"><b><span style="color: black"> II. DESARROLLO </span></b></font></p>     <p align="justify"><font face="Verdana" size="2"><b><span style="color: black"> 1. Métodos y Materiales </span></b></font></p>     <p align="justify"><font face="Verdana" size="2"><span style="color: black">El  grupo de estudio en Programación Competitiva de la UFPS tiene como principal  objetivo incentivar en los estudiantes un gusto particular por la programación y  la competencia en un espacio en el que puedan mejorar sus habilidades  algorítmicas, prepararse para las competencias y conocer, compartir y discutir  con otras personas interesadas en el tema de manera tal que puedan tener una  formación sólida y puedan llegar a representar a la Universidad en competencias  oficiales como el International Collegiate Programming Contest ICPC. Con esto en  mente se ha definido un marco de trabajo que consta de 5 componentes: Sesiones  de entrenamiento, material de apoyo, guías imprimibles, repositorio de  soluciones, metodología de trabajo y plataforma de entrenamiento.</span></font></p>     <p style="text-align:justify"><font face="Verdana"><b> <span style="color: black"><font size="2">Sesiones de entrenamiento: </font> </span></b><span style="color: black"><font size="2">Las sesiones de  entrenamiento son los espacios en los cuales los estudiantes se familiarizan con  las temáticas tratadas, mejoran sus habilidades y resuelven problemas en un  entorno competitivo. Se llevan a cabo dos tipos de sesiones: </font></span> </font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">En primer lugar, las tutorías, realizadas una vez  cada semana con una duración de 2 horas y media, en las cuales se expone un tema  nuevo o se refuerza un tema visto previamente con exposiciones magistrales de un  docente o estudiante con dominio del tema (1 hora), se resuelven dudas y se  genera discusión basada en los ejercicios propuestos en sesiones anteriores (10  a 20 minutos), se proponen ejercicios y se resuelven colaborativamente entre los  diferentes integrantes (tiempo restante). </span></font></p>     ]]></body>
<body><![CDATA[<p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">En segundo lugar, están las competencias, realizadas  generalmente dos veces al mes con una duración de 5 horas, donde los estudiantes  en grupos de 3 personas se enfrentan a estudiantes de otras Universidades en  toda Latinoamérica con un conjunto de entre 8 y 12 ejercicios predefinidos  escritos en idioma inglés, teniendo a su disposición un solo computador por  equipo, buscando resolver el mayor número de problemas en el menor tiempo  posible. Estas competencias son organizadas por la Red de Programación  Competitiva (RPC) y la Colombian Collegiate Programming League (CCPL), y la  Universidad es una sede activa en todas sus competencias. </span></font></p>     <p style="text-align:justify"><font face="Verdana"><b> <span style="color: black"><font size="2">Material de apoyo: </font></span></b> <span style="color: black"><font size="2">Para el desarrollo de las sesiones se  genera gran cantidad de material documental, que es compartido a través de un  repositorio de acceso libre para que el entrenamiento no sea exclusivo de las  sesiones, sino que pueda continuarse en cualquier momento por los estudiantes.  Este material contiene el Syllabus, slides, tips y videos. </font></span></font> </p>     <p style="text-align:justify"><font face="Verdana"><b> <span style="color: black"><font size="2">Guías imprimibles: </font></span></b> <span style="color: black"><font size="2">En competencias oficiales de  programación no se permite el uso de dispositivos electrónicos ni consultas en  internet, pero si es posible llevar impreso todo el material documental que los  estudiantes deseen. Por esta razón, se han construido dos guías imprimibles (una  para el lenguaje Java y otra para C++) con aquellos algoritmos que los  estudiantes consideran que pueden ser útiles durante la competencia. Se  encuentra en un repositorio público, para que cualquier estudiante pueda añadir  sus aportes, o bien solicitar que alguien realice un aporte determinado. Estas  guías están en constante actualización, y son compiladas con la nueva  información antes de cada competencia oficial. </font></span></font></p>     <p style="text-align:justify"><font face="Verdana"><b> <span style="color: black"><font size="2">Repositorio de soluciones: </font> </span></b><span style="color: black"><font size="2">Una vez finalizadas las  competencias, los estudiantes pueden compartir sus soluciones en un repositorio  público para ser visualizadas y repasadas por los demás integrantes (y el  público en general). Esto permite conocer otras formas de solucionar los  problemas, o entender nuevas formas de solucionar un problema determinado. Este  repositorio cuenta con una plantilla con los metadatos que debe tener cada  solución para ser fácilmente accedido e indexado. Al momento de escribir este  artículo, han sido compartidas 145 soluciones. </font></span></font></p>     <p align="justify"><font face="Verdana" size="2"><b>Metodología de trabajo: </b> La metodología de trabajo en realidad es el punto de unión de los componentes  anteriores. Desde esta se modela el syllabus a enseñar y se articula la forma en  que cada uno de los componentes trabaja para fortalecer el entrenamiento. En  primer lugar, la metodología establece las delimitaciones en las temáticas  estudiadas. Fue necesario realizar una selección de temáticas a trabajar durante  las sesiones (Ver <a href="#tab1">Tabla I</a>); para esto se estudiaron y eligieron de acuerdo al  nivel de los participantes algunos de los contenidos trabajados en la  metodología utilizada por Steven Halim en el curso Competitive Programming de la  Universidad Nacional de Singapur (NUS) [5]. Se eligió una cantidad de temas  acorde a la duración de un semestre académico, teniendo en cuenta la intensidad  horaria de las sesiones.</font></p>     <p align="center"><a name="tab1"> <img border="0" src="/img/fbpe/uct/v20n79/art02tab1.gif" width="575" height="209"></a></p>     
<p align="justify"><font face="Verdana" size="2">Con base en estos temas se  realizan las tutorías, definiendo desde el inicio de cada semestre un syllabus  con los temas, las fechas y enlaces a todos los materiales de apoyo (previamente  definidos en los componentes). Los materiales de apoyo son utilizados en cada  tutoría: durante la exposición magistral, se utilizan las slides y videos  definidos para esa sesión; durante la resolución de ejercicios, los estudiantes  pueden acceder al repositorio de soluciones para buscar ejercicios similares, o  bien a las guías imprimibles. Cada uno de estos materiales, además de estar  disponible online para ser accedidos en cualquier momento, cumple una función  central en el desarrollo de cada tutoría. Cada sesión finaliza con un conjunto  de ejercicios propuestos sobre el tema, con diferentes niveles de dificultad,  donde los estudiantes se miden de manera individual. Estos ejercicios se  proponen en diferentes plataformas de entrenamiento online: Codeforces,  Universidad de Valladolid Online Judge (Uva), URI Online Judge, etc. las cuales  en cuestión de segundos indican al estudiante si su solución es correcta o  incorrecta. Estos datos son recolectados semanalmente y con ellos se construye  un ranking de estudiantes destacados. Si bien este ranking no aporta  calificaciones académicas (el grupo de estudio no se encuentra relacionado con  ninguna materia del pensum), si es tenido en cuenta para elegir a aquellos  estudiantes que representan a la Universidad en los diferentes eventos de  Programación Competitiva, además de ser un factor adicional para motivar a los  estudiantes: La satisfacción de ocupar los primeros puestos los mantiene en una  constante preparación. </font></p>     <p style="text-align:justify"><font face="Verdana" size="2">Con estas  actividades se busca que los estudiantes entiendan y adopten las actitudes  necesarias para participar en las competencias. Estas competencias requieren  diferentes conocimientos, habilidades de programación, resistencia (al principio  es complicado mantener la concentración por las 5 horas que dura una  competencia), buen trabajo en equipo, y competitividad [7] [8]. </font></p>     <p style="text-align:justify"><font face="Verdana"><b><font size="2">Plataforma  de entrenamiento: </font></b><font size="2">Con el marco de trabajo funcionando  correctamente, el siguiente paso predefinido ha sido integrar todos los  componentes en una sola plataforma donde se lleve a cabo todo el entrenamiento.  Esta plataforma contendrá todos los materiales de apoyo dotándolos de  interactividad, los ejercicios propuestos en un ambiente de calificación  automático, y sobre todo permitirá realizar un monitoreo constante y completo  sobre cada uno de los aspectos del entrenamiento. Si afirmamos que la  metodología constituye el enlace práctico entre todos los componentes, la  plataforma constituye el enlace de software entre ellos. </font></font></p>     <p align="justify"><font face="Verdana" size="2"><b>2. Resultados </b></font> </p>     ]]></body>
<body><![CDATA[<p style="text-align:justify"><font face="Verdana" size="2">Durante la  aplicación de la metodología de trabajo propuesta en el grupo de estudio se  realizaron 10 tutorías y se participó en 8 competencias de entrenamiento  oficiales con RPC y CCPL, contando con la participación de 21 estudiantes  habituales (asistieron a más del 70% de las sesiones), y 14 estudiantes  ocasionales (asistieron solo a sesiones con temáticas específicas). </font></p>     <p style="text-align:justify"><font face="Verdana" size="2">Los 4 primeros  componentes del marco de trabajo han sido completamente creados y documentados  (Sesiones de entrenamiento, material de apoyo, guías imprimibles, repositorio de  soluciones y metodología de trabajo), y se han colocado en práctica durante todo  el semestre I del 2016. Su aplicación ha sido exitosa: si se suman los  ejercicios correctamente realizados en las tutorías por los participantes del  grupo, tenemos un total de 1225 ejercicios durante el semestre. </font></p>     <p style="text-align:justify"><font face="Verdana" size="2">Con todo el trabajo  desarrollado en el grupo de estudio se logró la construcción de un repositorio  en GitHub (<a style="color: blue; text-decoration: underline; text-underline: single" href="http://programacioncompetitivaufps.github.io/index.html">http://programacioncompetitivaufps.github.io/index.html</a>)  en donde se encuentran los slides correspondientes a 6 de las temáticas  trabajadas, el documento con los ejercicios propuestos y las soluciones de todos  los ejercicios desarrollados ya sea en competencias o en las sesiones de  entrenamiento. Con el fin de complementar todo el trabajo desarrollado y  facilitar la comprensión de los temas se crearon 3 versiones de la guía  imprimible de algoritmos de la UFPS que cuenta con la implementación de 37  algoritmos de grafos, manejo de cadenas, geometría computacional, matemáticas,  programación dinámica y optimización de entradas y salidas; y que se encuentra  disponible en lenguaje java y C++. </font></p>     <p style="text-align:justify"><font face="Verdana" size="2">Las competencias son  una parte fundamental del grupo de estudio, mejorar el desempeño de los  participantes es el principal objetivo de todo el trabajo realizado, es por esto  que se realizó un seguimiento de los grupos que participaron en las competencias  de entrenamiento organizadas por RPC y CCPL. En todas las competencias  realizadas por RPC en el semestre I del 2016 por lo menos un equipo del grupo de  estudio se ubicó entre los 10 primeros a nivel nacional. Del mismo modo, en las  competencias realizadas por CCPL, por lo menos un equipo se ubicó en los  primeros 15 puestos. </font></p>     <p align="justify"><font face="Verdana" size="2"><b>3. Discusión </b></font></p>     <p style="text-align:justify"><font face="Verdana" size="2">El grupo de estudio  en Programación Competitiva existe desde hace 4 semestres, aunque la  construcción del marco de trabajo inició en el semestre II del 2015, y <span style="color:black">solo durante el primer semestre del 2016 se implementó  correctamente. Esto permite analizar los resultados en perspectiva con respecto  a lo realizado en semestres anteriores, cuando no existía el marco de trabajo. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">En primer lugar, encontramos que la permanencia de  estudiantes en el grupo ha aumentado. 21 estudiantes hicieron parte activa  durante todo el proceso (frente a 9 estudiantes en el semestre inmediatamente  anterior). Esto es relevante, dado que en ambos semestres se contó con un total  de asistentes similar (35 estudiantes el semestre actual vs. 36 el semestre  anterior), lo cual demuestra que la permanencia de los estudiantes es mucho  mayor con un marco de trabajo establecido que da orden y dinámica al grupo. La  permanencia de los estudiantes es un pilar vital de este proyecto, pues de ellos  depende el marco, y solo aquellos que demuestren mayor constancia son los que  logran buenos resultados. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">El número de ejercicios realizados también se  incrementó considerablemente. En total fueron 1225 ejercicios solucionados  contando únicamente los ejercicios propuestos. Esto permite una mayor  apropiación de los temas, y mayor práctica a la hora de participar en una  competencia. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">Además, en cuanto al marco de trabajo, se ha creado  un completo set de componentes que buscan ser replicables por otras  instituciones que inician su proceso en competencias de programación. Estos  componentes han sido base fundamental del grupo de estudio en cuestión, y se  siguen nutriendo con nuevos aportes regularmente. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">La participación en la Maratón Nacional de  Programación Universitaria ha mejorado con este tipo de preparación. Los  resultados obtenidos comparados con años anteriores han mejorado notablemente,  verificando el nivel de éxito que ha tenido la aplicación de este marco de  trabajo. </span></font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2"><b><span style="color: black"> III. CONCLUSIONES </span></b></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">Los resultados de la implementación de este marco de  trabajo han sido positivos. Un número significativo de estudiantes se ha  vinculado al grupo de estudio, participando activamente de las diferentes  actividades planteadas, mejorando sus habilidades algorítmicas, y complementando  lo aprendido en el grupo de estudio con lo aprendido en sus clases  tradicionales. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">En total se impartieron 25 horas de tutorías y 40  horas de competencias, generando una cantidad importante de material de apoyo  que se comparte de manera libre para todos los estudiantes que deseen acceder a  él posteriormente. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">El marco de trabajo se construyó y adaptó según las  mismas opiniones de los estudiantes hasta tomar la forma que finalmente fue  compartida en este documento. Y ese marco tuvo su validación al verificar el  avance de los estudiantes en las competencias llevadas a cabo a lo largo del  semestre. Los resultados de RPC y CCPL demuestran que finalmente, la metodología  utilizada ha sido efectiva. Por esta razón, dicha metodología se ha documentado  por completo, de manera que pueda ser utilizada y aplicada en el futuro, aun  cuando el personal encargado del grupo de estudio haya cambiado, siguiendo el  ejemplo de la Universidad EAFIT [6]. </span></font></p>     <p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">En todo momento, los estudiantes estuvieron en el  centro del marco de trabajo, pues este proyecto se sale del enfoque metodológico  de aula tradicional, y hace parte del aprendizaje colaborativo. Por este motivo  sus opiniones se tuvieron en cuenta en todo el proceso. Del mismo modo, los  mismos estudiantes compartieron algunas de sus soluciones para hacer parte del  repositorio digital que se encuentra disponible de manera abierta en GitHub. Su  progreso en cada una de las competencias fue medido, y en futuras iteraciones de  este proyecto, una vez que la plataforma de entrenamiento propio sea puesta en  funcionamiento, serán ellos los encargados de validar y efectuar  retroalimentación. En las 50 horas de competencia realizadas durante el  semestre, no hay profesores, ni explicaciones magistrales. Cada estudiante hace  uso de sus habilidades de trabajo en equipo con dos compañeros para resolver el  mayor número de ejercicios posibles en el menor tiempo. Todas estas  características han permitido que los estudiantes continúen en el grupo y  mantengan la retroalimentación activa. </span></font></p>     <p align="justify"><font face="Verdana" size="2"><b><span style="color: black"> IV. REFERENCIAS</span></b></font></p>     <!-- ref --><p style="text-align:justify"><font face="Verdana" size="2"> <span lang="EN-US" style="color: black">1. Arefin, A. S. Art of Programming  Contest, 2nd edition, Dhaka, Gyankosh Prokashoni, 2006, pp. 14-18. </span> </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562831&pid=S1316-4821201600020000200001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p style="text-align:justify"><font face="Verdana" size="2"> <span lang="EN-US" style="color: black">2. Bloomfield, A. and Sotomayor, B. A  Programming Contest Strategy Guide, In Proceedings of the 47th ACM Technical  Symposium on Computing Science Education (SIGCSE '16), 2016, pp. 609 - 614. </span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562832&pid=S1316-4821201600020000200002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p style="text-align:justify"><font face="Verdana" size="2"> <span lang="EN-US" style="color: black">3. Halim, S. and Halim, F. Competitive  Programming in National University of Singapore, ediciones Sello Editorial SL  (Presented at Collaborative Learning Initiative Symposium, Harbin, China, 2010. </span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562833&pid=S1316-4821201600020000200003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="Verdana" size="2"> <span lang="EN-US" style="color: black">4. Jackson, S., Ellis, H., and Crouse,  R. An analysis of team performance in high school programming contests, In  Proceedings of the 15th Annual Conference on Information technology education (SIGITE  '14), 2014, pp. 27-32.</span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562834&pid=S1316-4821201600020000200004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p style="text-align:justify"><font face="Verdana" size="2"> <span lang="EN-US" style="color: black">5. Halim, S. and Halim, F. Competitive  Programming 3, 3rd. edition, Singapore, Lulu, 2013. </span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562835&pid=S1316-4821201600020000200005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p style="text-align:justify"><font face="Verdana" size="2"> <span style="color: black">6. Echavarria Uribe, A. and Cardona Mc’Cormick J. F.  Desarrollo e implementación de un programa de trabajo para el Semillero de  Programación, 2013, 4p. </span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562836&pid=S1316-4821201600020000200006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p style="text-align:justify"><font face="Verdana"> <span lang="EN-US" style="color: black"><font size="2">7. Chavey, D., Monrey, T.  L., Van Brackle, D. and Werth, J. Preparing a team for the ACM scholastic  programming contest (panel session). In Proceedings of the 19th annual  conference on Computer Science (CSC '91). </font></span> <span style="color: black"><font size="2">1991, p. 701. </font></span></font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562837&pid=S1316-4821201600020000200007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p style="text-align:justify"><font face="Verdana" size="2"> <span lang="EN-US" style="color: black">8. Acharya, S. Challenges and Benefits  of Programming Competitions as Outreach to High School Students, ASEE Annual  Conference, 2013, pp. 1-14.</span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2562838&pid=S1316-4821201600020000200008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body>
<back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arefin]]></surname>
<given-names><![CDATA[A. S]]></given-names>
</name>
</person-group>
<source><![CDATA[Art of Programming Contest]]></source>
<year>2006</year>
<edition>2nd</edition>
<page-range>14-18</page-range><publisher-loc><![CDATA[Dhaka ]]></publisher-loc>
<publisher-name><![CDATA[Gyankosh Prokashoni]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bloomfield]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Sotomayor]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[A Programming Contest Strategy Guide]]></source>
<year></year>
<conf-name><![CDATA[47th ACM Technical Symposium on Computing Science Education (SIGCSE '16)]]></conf-name>
<conf-date>2016</conf-date>
<conf-loc> </conf-loc>
<page-range>609 - 614</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Halim]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Halim]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Competitive Programming in National University of Singapore]]></source>
<year></year>
<conf-name><![CDATA[ Collaborative Learning Initiative Symposium]]></conf-name>
<conf-date>2010</conf-date>
<conf-loc>Harbin </conf-loc>
<publisher-name><![CDATA[ediciones Sello Editorial SL]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jackson]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Ellis]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[Crouse]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[An analysis of team performance in high school programming contests]]></source>
<year></year>
<conf-name><![CDATA[15th Annual Conference on Information technology education (SIGITE '14)]]></conf-name>
<conf-date>2014</conf-date>
<conf-loc> </conf-loc>
<page-range>27-32</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Halim]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Halim]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Competitive Programming 3]]></source>
<year>2013</year>
<edition>3rd</edition>
<publisher-name><![CDATA[Lulu]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Echavarria Uribe]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Cardona Mc’Cormick]]></surname>
<given-names><![CDATA[J. F]]></given-names>
</name>
</person-group>
<source><![CDATA[Desarrollo e implementación de un programa de trabajo para el Semillero de Programación]]></source>
<year>2013</year>
<page-range>4</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chavey]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Monrey]]></surname>
<given-names><![CDATA[T. L]]></given-names>
</name>
<name>
<surname><![CDATA[Van Brackle]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Werth]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Preparing a team for the ACM scholastic programming contest (panel session)]]></source>
<year></year>
<conf-name><![CDATA[19th annual conference on Computer Science (CSC '91)]]></conf-name>
<conf-date>1991</conf-date>
<conf-loc> </conf-loc>
<page-range>701</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Acharya]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Challenges and Benefits of Programming Competitions as Outreach to High School Students]]></source>
<year>2013</year>
<page-range>1-14</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
