El Club de Programación es una iniciativa orientada a estudiantes de formación profesional de ciclos relacionados con la informática y la programación, así como a aquellos de especialización o de administración de sistemas que quieran mejorar sus habilidades en programación y algorítmica. Este club se llevará a cabo semanalmente, promoviendo el aprendizaje desde fundamentos básicos hasta la preparación para competencias de programación como Programame y Advent of Code. Con un enfoque en programación competitiva, el club busca desarrollar competencias clave en algoritmos, estructuras de datos y resolución de problemas.
Las sesiones se realizarán en las aulas de emprendimiento o ATECA, dependiendo de la disponibilidad de las mismas, para asegurar el mejor entorno y los recursos adecuados en cada sesión.
- Fortalecer las habilidades de programación en estudiantes de distintos niveles, abarcando desde conceptos básicos hasta técnicas avanzadas de algoritmos y estructuras de datos.
- Fomentar el aprendizaje de manera transversal, integrando fundamentos de programación con temas avanzados de algorítmica y resolución de problemas competitivos.
- Preparar a los alumnos para participar en concursos de programación, dotándolos de herramientas para enfrentar desafíos en entornos de programación competitiva.
- Desarrollar la capacidad de resolver problemas complejos mediante la práctica regular de ejercicios y algoritmos, incentivando el trabajo en equipo y el aprendizaje colaborativo.
- Reforzar conceptos periódicamente para asegurar una comprensión profunda antes de avanzar a temas más avanzados.
- Portátiles con acceso a internet y software de programación instalado.
- Lenguaje de programación Java..
Cada sesión del club estará compuesta de tres partes, dedicando tiempo a la teoría, la práctica y la resolución de problemas:
-
Primera Parte: Fundamentos de Programación
- Objetivo: Introducir y reforzar conceptos básicos de programación, elementos de un programa, programación orientada a objetos, principios SOLID, metodologías de desarrollo TDD, etc
- Metodología:
- Teoría (20 min): Charla introductoria del concepto.
- Práctica (40 min): Ejercicios guiados para aplicar los conceptos.
- Resolución y Discusión (30 min): Compartir soluciones y mejorar enfoques.
-
Segunda Parte: Algorítmica
- Objetivo: Desarrollar habilidades en algoritmos de programación competitiva, resolviendo problemas que utilicen los fundamentos trabajados en la primera parte.
- Metodología:
- Teoría (20 min): Explicación de algoritmos o estructuras de datos.
- Práctica (40 min): Resolución de problemas utilizando los algoritmos discutidos.
- Resolución y Discusión (30 min): Análisis y optimización de soluciones.
-
Tercera Parte: Ampliación de Conceptos
- Objetivo: Expandir los conocimientos de las dos primeras partes con temas avanzados, preparándose para desafíos y competencias.
- Contenido: Ejercicios adicionales, discusión de problemas interactivos y tareas opcionales para trabajar fuera de la sesión.
Cada tres sesiones, una de ellas se dedica al completo a Recopilación, Refuerzo y Ampliación, donde se revisan los conceptos y algoritmos aprendidos, se refuerzan las habilidades y se solucionan dudas acumuladas. Estas sesiones permiten una consolidación profunda del aprendizaje antes de avanzar a temas más complejos.
El club se ejecutará durante 30 semanas, con un total de 25 sesiones, comenzando el jueves 14 de noviembre de 2024 y finalizando el 29 de mayo de 2025. Estas son las fechas específicas de cada sesión:
-
- Fundamentos de Programación: Variables, tipos de datos, condicionales básicos, Bucles (for, while, do-while).
- Algorítmica: Introducción a algoritmos de ordenación (Bubble Sort).
- Profesores:
- Mañana: 08:00 - 11:00
- David Romero
- Tarde: 16:00 - 19:00
- Javier Ortega
- Mañana: 08:00 - 11:00
-
- Fundamentos de Programación: Arrays y vectores.
- Algorítmica: Algoritmos de ordenación (Selection Sort, Insertion Sort)
- Profesores:
- Mañana: 08:00 - 11:00
- David Romero
- Tarde: 16:00 - 19:00
- Javier Ortega
- Mañana: 08:00 - 11:00
-
Sesión 3 - 28/11/2024 (Recopilación y Refuerzo):
- Repaso de tipos de datos, condicionales, bucles, arrays y vectores y algoritmos de ordenación básicos.
- Profesores:
- Mañana: 08:00 - 11:00
- David Romero
- Tarde: 16:00 - 19:00
- Javier Ortega
- Mañana: 08:00 - 11:00
-
Sesión 4 - 05/12/2024:
- Fundamentos de Programación: Char y string, operaciones básicas. Ficheros básico.
- Algorítmica: Algoritmos de búsqueda (lineal y binaria).
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 5 - 12/12/2024:
- Fundamentos de Programación: Funciones y modularización.
- Algorítmica: Búsqueda en arrays y manejo de estructuras básicas.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 6 - 19/12/2024 (Recopilación y Refuerzo):
- Repaso de Ficheros, char, string, funciones y modularización y búsqueda lineal y binaria.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 7 - 09/01/2025:
- Fundamentos de Programación: Arrays multidimensionales y matrices.
- Algorítmica: Introducción a la recursividad.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 8 - 16/01/2025:
- Fundamentos de Programación: Programación orientada a objetos (POO) básica.
- Algorítmica: Recursividad aplicada (backtracking básico).
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 9 - 23/01/2025 (Recopilación y Refuerzo):
- Repaso Arrays multidimensionales y matrices, conceptos de POO y recursividad.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 10 - 30/01/2025:
- Fundamentos de Programación: Estructuras de datos básicas (Set, Pair).
- Algorítmica: Divide y vencerás.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 11 - 06/02/2025:
- Fundamentos de Programación: Estructuras de datos avanzadas (Map).
- Algorítmica: Algoritmos de grafos (DFS básico).
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 12 - 13/02/2025 (Recopilación y Refuerzo):
- Refuerzo de estructuras de datos, grafos y divide y venceras.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 13 - 20/02/2025:
- Evaluación de habilidades adquiridas y preparación para concursos como Programame y Advent of Code. Basados en carpeta con ejercicios de otros años y concursos.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 14 - 27/02/2025:
- Evaluación de habilidades adquiridas y preparación para concursos como Programame y Advent of Code. Basados en carpeta con ejercicios de otros años y concursos.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 15 - 06/03/2025 (Recopilación y Refuerzo):
- Evaluación de habilidades adquiridas y preparación para concursos como Programame y Advent of Code. Basados en carpeta con ejercicios de otros años y concursos.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 16 - 13/03/2025:
- Fundamentos de Programación: Ampliación de matrices y vectores.
- Algorítmica: BFS en grafos.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 17 - 20/03/2025:
- Fundamentos de Programación: Avanzado en POO y herencia, Encapsulación y polimorfismo.
- Algorítmica: Dijkstra para grafos ponderados.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 18 - 27/03/2025 (Recopilación y Refuerzo):
- Revisión de ampliación matrices y vectores, POO avanzado y grafos.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 19 - 03/04/2025:
- Fundamentos de Programación: UFDS, lambda y sus aplicaciones.
- Algorítmica: MST en grafos (Kruskal y Prim).
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 20 - 10/04/2025:
- Fundamentos de Programación: Introducción a la programación dinámica.
- Algorítmica: Algoritmos voraces.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 21 - 24/04/2025 (Recopilación y Refuerzo):
- Revisión de funciones, programación dinámica y algoritmos de MST y algoritmos voraces..
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 22 - 08/05/2025:
- Fundamentos de Programación: Análisis de problemas interactivos.
- Algorítmica: Algoritmos de segment trees.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 23 - 15/05/2025:
- Fundamentos de Programación: Programación orientada a problemas matemáticos.
- Algorítmica: Segment trees con Lazy propagation.
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
-
Sesión 24 - 22/05/2025 (Recopilación y Refuerzo):
- Repaso de problemas matemáticos e interactivos y segments trees
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
- Sesión 25 - 29/05/2025 (Cierre y Repaso General)
- Profesores:
- Mañana: 08:00 - 11:00
- Pendiente
- Tarde: 16:00 - 19:00
- Pendiente
- Mañana: 08:00 - 11:00
- Profesores: