Las tareas de programación simples pero complicadas

En este artículo, explicamos algunos fundamentos teóricos del proceso de aprendizaje que facilitarán una comprensión más profunda de lo que está sucediendo en Códica y por qué nuestras tareas prácticas son de esa manera.
Aprender a programar sin la práctica constante de la codificación resulta ineficaz e inútil. A pesar de la abundancia de tutoriales en YouTube, artículos en blogs y libros, las personas prefieren inscribirse en escuelas y adquirir cursos prácticos. Sin embargo, dado que las tareas en estos cursos se diseñan de maneras tan diversas, se convierten en un factor determinante para el progreso.

Existen dos extremos en la creación de tareas prácticas:
  • Asignar las tareas que se resuelven mediante una repetición del código de la teoría del curso.
  • Asignar las tareas que requieren una inmersión autónoma y profunda en el tema.
En algunas escuelas, las tareas tienden hacia un extremo, mientras que en otras se inclinan hacia el opuesto. ¿Cuál enfoque resulta más efectivo? ¿Dónde se halla el equilibrio?

En la programación, hay una característica distintiva que la distingue de otras áreas de actividad. Tomemos como ejemplo a un chef. Los buenos chefs saben mucho sobre los productos, los métodos de preparación y más; sin embargo, la mayoría de los chefs utilizan recetas existentes para cocinar algo. Solo unos pocos son capaces de crear nuevos platos de manera independiente, ya que la demanda de esto es limitada.
En la programación, todo es diferente. Incluso en el nivel más básico, los programadores son como chefs que deben crear sus propios platos, adaptándose a los gustos de los clientes. Casi cualquier proyecto en programación está acompañado por docenas de decisiones complicadas y no triviales.
No se puede preparar de antemano para esto, ya que casi cada situación a la que se enfrenta un programador es única Sí, utilizamos bibliotecas y marcos de trabajo existentes, pero eso no libera al programador de implementar la lógica y la creatividad.
En la vida real, un programador dedica la mayor parte del tiempo a realizar cuatro actividades principales
Piensa
Mucho...
Sobre arquitectura, rendimiento, lógica empresarial, escalabilidad, simplicidad y mantenibilidad.
Lee documentación
Un programador moderno no puede escribir código sin acceso a Internet. Bibliotecas, frameworks: todo contiene tanto código que es imposible recordarlo tanto código.
Depura
Busca errores. Intenta entender por qué algo no funciona o funciona de manera incorrecta. O peor aún, por qué funciona en algunos casos y en otros no.
Escribe un poco de código
Unas líneas al día en un proyecto grande y complejo ya es un logro.
Todo esto está directamente relacionado con el proceso de aprendizaje.


Realizar las tareas simples que implican solo la lectura teórica sin aplicar esfuerzos crea una falsa sensación de comprensión, y después de este tipo de aprendizaje, la persona no logra realmente nada.
Las tareas complicadas, al estar mucho más cerca de la vida real, obligan a comprender el tema, leer literatura adicional, probar diferentes algoritmos de solución, cometer errores, lo que puede llevar a que el estudiante pierda la motivación.
Por lo tanto, las tareas demasiado difíciles son casi tan malas como las demasiado simples.

Recuerdamos a nuestros maestros de la escuela. ¿Quién nos brindó más conocimientos y cómo la exigencia del maestro afectó la calidad de nuestra preparación?
En Códica llevamos nuestros estudiantes a ser capaces de trabajar de forma independiente y aumentamos el nivel de dificultad gradualmente.

  • El aprendizaje inicial se presenta de manera sencilla, siguiendo el enfoque de "repita después de mí". En este nivel, nos centramos en la estructura y la sintaxis, razón por la cual hemos diseñado un proyecto independiente llamado Code basics, destinado a aquellos que se introducen por completo en la programación. Cada lección, concisa y con una sola idea, busca facilitar la comprensión y asimilación del contenido.
  • A medida que avanzamos, el nivel de dificultad y autonomía en las tareas aumenta. Las actividades se vuelven más complejas, demandando tiempo para el análisis y la creatividad. Es en este punto donde culmina el estudio de la estructura del lenguaje y se da paso al desarrollo del pensamiento.
  • Posteriormente, en los proyectos, comenzamos a incorporar elementos del mundo real de la programación: trabajar de forma independiente con el entorno, trabajar con GitHub, sistemas de compilación, dependencias, línea de comandos, diseño de arquitectura.

Nuestra principal meta, más allá de impartir conocimientos específicos, es capacitar al estudiante para enfrentar de manera autónoma las dificultades: buscar en Google, leer la documentación, depurar (un arte en sí mismo), revisar el código fuente y analizar los tests. Es precisamente por esto que los mentores de Códica no brindan respuestas directas a las preguntas, ya que eso no constituye una verdadera ayuda. Puede parecer que los mentores hablan "enigmas", pero en realidad solo quieren que los estudiantes aprendan a llegar a la solución por sí mismos
Conclusiones
  • Un verdadero programador no solo comprende las estructuras del lenguaje, sino que también tiene la capacidad de abordar problemas con un pensamiento innovador.
  • Las tareas demasiado difíciles son casi tan malas como las demasiado simples.
  • En Códica, la complejidad de las tereas prácticas aumenta gradualmente.
  • Los estudiantes necesitan aprender a buscar respuestas de forma independiente y hacer preguntas correctamente.
  • En Códica, las tareas prácticas están diseñadas para enseñar a los estudiantes a pensar y encontrar soluciones de manera independiente.
Leer otros artículos de Blog
Lee otros artículos relevantes del mundo de la tecnología y el espíritu empresarial.