Skip to content

About

All projects done in 42 Piscine up to C06 (C07, C08 and C09 done at home)

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Este repositorio contiene todos los proyectos realizados durante mi Piscina en 42 Madrid y el trabajo posterior para completar el currículo.

🏊 42_Piscine — El Desafío del Aprendizaje Autodidacta

La Piscine es un proceso de selección e inmersión de 4 semanas en el que se aprende C desde cero, gestión de Shell y resolución de problemas bajo presión. Este repositorio incluye desde los scripts básicos de Unix hasta algoritmos complejos de búsqueda y gestión de memoria.


📊 Estructura del Repositorio

El contenido se divide en módulos diarios (C y Shell), proyectos grupales de fin de semana (Rushes) y el proyecto final (BSQ).

🐚 Módulos de Shell (00 - 01)

Fundamentos de la línea de comandos de Unix, permisos, usuarios, scripts básicos y comandos avanzados de búsqueda y filtrado (grep, find, sed).

💻 Módulos de C (00 - 09)

La progresión en el lenguaje C, siguiendo estrictamente la Norminette:

  • C 00 - C 01: Conceptos básicos, tipos de datos y punteros.
  • C 02 - C 03: Manipulación de strings y recreación de funciones de la libc.
  • C 04 - C 05: Conversión de bases, recursividad y funciones matemáticas.
  • C 06: Gestión de argumentos del programa (argc, argv).
  • C 07 - C 09 (Completados en casa): Asignación dinámica de memoria (malloc), estructuras, macros y creación de librerías mediante Makefiles.

🚀 Proyectos Especiales

👥 Los Rushes (Proyectos en Grupo)

Proyectos intensos realizados durante los fines de semana en equipos aleatorios:

  • Rush 00: Generación de patrones de rectángulos basados en coordenadas.
  • Rush 01: Resolución del rompecabezas de los "Rascacielos" (Skyscrapers) mediante lógica y backtracking.
  • Rush 02: Conversor de números a palabras utilizando diccionarios externos y parsing de archivos.

⬛ BSQ (Biggest Square)

El proyecto final individual/en pareja. El objetivo es encontrar el cuadrado más grande posible en un mapa lleno de obstáculos.

  • Reto: Optimización de algoritmos para procesar mapas de gran tamaño en milisegundos.
  • Gestión: Lectura de archivos, manejo de errores de formato y gestión eficiente de la memoria.

🛠️ Reglas del Juego

Todos los proyectos de C han sido realizados bajo las siguientes restricciones:

  1. Norminette: Un estándar de código estricto (máximo 25 líneas por función, no más de 5 funciones por archivo, etc.).
  2. Funciones Prohibidas: Solo se permiten funciones autorizadas específicamente para cada ejercicio (normalmente write, malloc y free). Cualquier otra función de la librería estándar está prohibida.
  3. Compilación: Flags estrictos: -Wall -Wextra -Werror.

📈 Reflexión Personal

La Piscine no fue solo aprender C; fue aprender a aprender de los demás y a no rendirse ante el "Segfault". Los módulos del C00 al C06 fueron el fuego de la selección, mientras que el C07, C08 y C09 representan mi compromiso por terminar lo empezado y consolidar los conceptos de memoria dinámica y arquitectura de proyectos antes de entrar oficialmente en el Cursus.

$> ./bsq map.txt
....oooo....
....oooo....
....oooo....
....oooo....
............

About

All projects done in 42 Piscine up to C06 (C07, C08 and C09 done at home)

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages