1. Aprendizaje basado en la práctica

Aprendizaje de Java basado en la práctica.

Hay personas que aman CodeGym con todo su corazón y hay personas que lo odian con todo su corazón. Pero incluso el crítico más despiadado de CodeGym estará de acuerdo en que tiene una cantidad impresionantemente grande de tareas. Y la razón por la que hay tantos de ellos es porque todo el entrenamiento de CodeGym tiene como base la práctica .

La programación es una habilidad. Nadie dice: "Yo sé programar". Todo programador dice: "Yo puedo programar". Es una habilidad práctica, como nadar o jugar al ajedrez. Y solo puedes cultivar la habilidad a través de la práctica constante.

Es por eso que todo el curso de CodeGym es una secuencia de tareas cada vez más difíciles. Empiezas con tareas muy sencillas y primitivas y terminas con las más difíciles e interesantes. La dificultad crece un poco con cada nivel. Este es precisamente el camino que te llevará a tu objetivo de convertirte en programador.


2. Tipos de tareas

Un montón de diferentes tipos de tareas te esperan en CodeGym. Vamos a enumerar los principales:

Tareas donde escribes código siguiendo un ejemplo

Este es el ejercicio más simple. El propósito de estas tareas es practicar su habilidad para escribir código. Para resolver la tarea, deberá escribir el código tal como existe en el código de muestra. Esto es muy útil, pero se vuelve aburrido muy rápidamente. Casi no quedan tareas de este tipo: las hemos reemplazado con tareas que son más interesantes para los estudiantes de CodeGym.

Las tarjetas para tales tareas están marcadas con la letra T:

tipos de tareas

Tareas donde escribes un programa

Estas son las tareas más importantes del curso. Su nivel de dificultad varía mucho: desde las tareas más sencillas hasta aquellas en las que tendrás que pensar mucho.

El objetivo de estas tareas es escribir un programa que cumpla con las condiciones y requisitos especificados. La mayoría de las tareas entran en esta categoría. Para comodidad de los alumnos de CodeGym, marcamos estas tareas según su nivel de dificultad: FÁCIL , MEDIO , DIFÍCIL y ÉPICO .

Las tareas EPIC a menudo se basan en material de aprendizaje futuro en lecciones que aún no ha desbloqueado. Son populares entre los estudiantes de CodeGym que sienten que el curso es demasiado fácil para ellos. Otros pueden simplemente saltarse estas tareas y volver a ellas más tarde, cuando ya se hayan familiarizado con la teoría relevante.

Tareas donde escribes un programa

Proyectos

La desventaja de las tareas ordinarias es que son pequeñas. Hecho y olvidado, como dicen. Por lo tanto, rara vez es posible hacerlos muy interesantes. Pero un programa grande es difícil de probar: simplemente hay demasiadas formas de implementarlo.

Eso es CodeGym introdujo tareas de proyecto : tareas grandes divididas en 10-30 subtareas ordinarias. Realiza todas las subtareas secuencialmente y termina con un programa grande.

Al final de cada nivel en las misiones Multithreading y Collections, hay una gran tarea de proyecto, que se divide en veinte subtareas. También hay otras 6 tareas de juego, que también son proyectos. En total, hay 27 tareas de proyecto en todo el curso.

Cuestionarios

Durante mucho tiempo, CodeGym no tuvo pruebas ni cuestionarios. El creador de CodeGym sostiene la opinión de que las pruebas aprobadas crean la "ilusión de conocimiento" en las personas. La gente realmente no sabe programar, pero está completamente convencida de lo contrario, ya que pasó las pruebas. Tales personas dejan de aprender, ya que "ya lo saben todo".

Posteriormente, se agregaron cuestionarios para permitir a los estudiantes de CodeGym identificar fácilmente las brechas en su aprendizaje. Es útil para los programadores conocer los matices de las cosas con las que trabajan a diario en su profesión.

Cuestionarios Java

Vídeos

Finalmente, el último tipo de tarea es mirar un video. Se han incluido muchos videos útiles e interesantes relacionados con la industria de TI en las lecciones de CodeGym.


3. Estados de tareas

Cada tarea en CodeGym tiene un estado especial. El estado puede cambiar a medida que resuelve tareas.

Cada tarea de CodeGym está asociada a una lección. Inicialmente, no tendrá acceso a ninguna tarea, lo que significa que no podrá resolverlas.

bloqueado

Cuando abra la siguiente lección, todas las tareas de la lección estarán disponibles para su resolución, es decir, su estado cambiará a "Disponible".

Disponible

Si ha enviado una tarea para su verificación al menos una vez, su estado cambia de "Disponible" a "En curso".

En curso

Finalmente, cuando haya cumplido con éxito todos los requisitos y el validador acepte su envío, el estado de la tarea cambiará a "Completado".

Terminado

Los usuarios con una suscripción Premium Pro tienen 3 días más para intentar escribir otras soluciones para la tarea. Después de que expire esta ventana de tiempo adicional, la tarea pasa al estado "Cerrado" y este estado ya no cambiará.Cerrado


4. WebIDE

Para facilitarle la resolución de tareas, hemos escrito un widget especial: WebIDE . Se ve aproximadamente así:

WebIDE

A la izquierda, verá las condiciones de la tarea y los requisitos que debe satisfacer su solución. En el centro, tenemos el editor, que es donde debes escribir tu código . Su programa mostró algo de texto, que puede ver en el panel de la parte inferior.

Y en la parte superior verás estos botones:

  • Verificar : Envíe su solución para la prueba.
  • Ayuda : haga una pregunta sobre su solución en la comunidad de CodeGym.
  • Discutir : discuta la tarea con otros usuarios.
  • Restablecer : Restablezca su solución, es decir, comience de nuevo.
  • Ejecutar : Inicie el programa sin enviarlo para su verificación (su contador de verificación no aumentará).
  • Análisis de código : obtenga sugerencias sobre el estilo de código de su solución

5. Requisitos

En los primeros años de CodeGym, cuando verificabas cada tarea, obtenías un resultado simple: sí o no. El programa pasó todas las pruebas o no. Súper simple, pero no muy útil.

A medida que las personas aprenden, es muy importante que entiendan lo que están haciendo mal y cómo empezar a hacerlo bien. En consecuencia, tiene mucho sentido que si el servidor no acepta su solución, entonces preguntará, bueno, ¿qué tiene de malo?

Para obtener una respuesta a esta pregunta, necesita que alguien se sumerja en su solución, la analice y le diga qué tiene de malo. Esto llevaría mucho tiempo y sería costoso. La belleza de la verificación instantánea de tareas es que puedes sentarte a estudiar a las 2 AM y todo funcionará como en cualquier otro momento.

Es por eso que reescribimos todas las tareas en CodeGym. Ahora cada tarea no solo tiene condiciones de tarea, sino también una lista de 5 a 10 requisitos que desarrollan las condiciones. Lo más importante es que cada requisito se verifica por separado.

Eso significa que cuando envíe una tarea para verificación hoy, obtendrá una respuesta ampliada: junto a cada requisito de tarea, verá un ícono especial que indica si su programa cumple con este requisito o no. Ejemplo:

Requisitos

Este enfoque simplifica enormemente la vida a medida que trabaja en tareas que requieren que escriba varias clases o métodos. Siempre podrá ver qué métodos o clases escribió correctamente y cuáles no.


6. Recomendaciones

¿Es posible hacer las tareas aún mejor de alguna manera? ¿No sería fantástico si, después de cada comprobación, le dijeran exactamente qué es lo que está mal en su programa y le dieran pistas sobre cómo solucionarlo? ¡Sí, eso sería genial! ¿Bien adivina que? Eso es lo que hacemos en CodeGym 🙂

Detectamos docenas de errores comunes al verificar cada requisito de tarea. Si su programa comete un error que el validador conoce, entonces hace una recomendación, una pista sobre cómo puede arreglar su solución para que satisfaga todos los requisitos.

Piénsalo. Ahora hay aproximadamente 1200 tareas en CodeGym, con un total de aproximadamente 10 000 requisitos. Y hay varias recomendaciones asociadas a cada requisito. Algunos requisitos tienen docenas de ellos. El validador de CodeGym está listo para hacer más de 50 000 recomendaciones para soluciones de usuario.

Además, todo esto sucede a medida que se valida su solución, lo que en la mayoría de los casos toma menos de un segundo. Ninguna persona podría hacer eso. Este es un verdadero mentor virtual.

Recomendaciones