Con amor de Stepik: plataforma educativa Hyperskill

Quiero hablar con usted sobre por qué reparamos la plomería con más frecuencia que escribir disertaciones al respecto, sobre diferentes enfoques para la programación de la enseñanza y cómo tratamos de aplicar uno de ellos en nuestro nuevo producto Hyperskill.

Si no le gustan las presentaciones largas, vaya directamente a la sección de programación. Pero será menos divertido.



Digresión lírica


Imaginemos a cierta señorita Masha. Hoy, Masha iba a lavarse con frutas y mirar tranquilamente la película, pero aquí está la mala suerte: de repente encontró un fregadero en la cocina obstruido. Qué hacer con esto aún no está claro. Puede posponer este problema indefinidamente, pero ahora hay tiempo libre, por lo que Masha decide tratar el problema de inmediato. El sentido común sugiere dos opciones: a) llamar al plomero b) hacer frente por su cuenta. La joven elige la segunda opción y comienza a estudiar las instrucciones en YouTube. Siguiendo el consejo de Vasya_the_plumber, Masha mira debajo del fregadero y ve una tubería de plástico serpenteante de varias partes. La niña desenrosca cuidadosamente una parte en la base del fregadero y no encuentra nada. Un trozo de la tubería a continuación está fuertemente obstruido con una sustancia desconocida, e incluso el tenedor que se encuentra en la mesa no puede hacer frente a la obstrucción. Los expertos de Internet ofrecen pronósticos decepcionantes: habrá que cambiar la parte. En el mapa, Masha encuentra la tienda más cercana, se lleva un desafortunado tubo y compra la misma, solo una nueva. Siguiendo el consejo del vendedor, Masha también toma un nuevo filtro para prevención. La búsqueda se ha completado: el fregadero funciona como debería y su personaje principal, mientras tanto, descubrió lo siguiente:

  • Las tuberías debajo del fregadero pueden desenrollarse y torcerse independientemente;
  • La tienda de fontanería más cercana está a un kilómetro y medio del apartamento.

Lo más probable es que Masha ni siquiera se dio cuenta de cuánto aprendió y qué aprendió, porque estaba preocupada por su propia comodidad en el futuro y, al mismo tiempo, por una proyección de películas y una manzana lavada. La próxima vez, cuando surja un problema similar, la niña lo resolverá muchas veces más rápido. De hecho, Masha no solo devolvió el mundo a su estado habitual; ella estudió inductivamente , es decir, en ocasiones especiales, y orientada a la práctica , es decir, hacer cosas y no estudiarlas en detalle y de antemano.

Todo podría haber resultado diferente. Supongamos que Masha se sienta en un sillón por la noche y de repente se da cuenta de que no está mental y físicamente lista para bloquearse en el fregadero. Entra apresuradamente a la academia de plomería, estudia los tipos de sumideros, tuberías y posibles conexiones, la clasificación de los problemas con la plomería y las posibles soluciones. Masha no duerme de noche, recordando términos y nombres. Quizás incluso escribe un doctorado en ciencia teórica de tuberías, donde habla sobre almohadillas de goma. Finalmente, después de recibir el certificado, Masha orgullosamente inspecciona la cocina con total confianza de que ahora incluso un pequeño problema con el fregadero se resolverá con el clic de un dedo. En este escenario, la niña estudió deductivamente , pasando de lo general a lo particular, y se centró más en la teoría .

Entonces, ¿qué enfoque es mejor? En el caso de un sumidero y un bloqueo, el primero, y aquí por qué razones:

  1. Si solo un fregadero que funciona es importante, entonces es suficiente saber solo lo que concierne a esta área en particular. Cuando Masha se dé cuenta de que no hay suficiente conocimiento, seguramente encontrará una manera de aprender más.
  2. El conocimiento enciclopédico puede no activarse en una situación real, porque un hábito no se ha resuelto. Para aprender la secuencia de acciones, tiene sentido no leer sobre ellas, sino realizarlas.

Dejemos en paz a la pobre Masha y pasemos al proceso de aprendizaje como tal.

Programación: ¿estudiar o hacer?


Estamos acostumbrados a pensar que para desarrollar y convertirse en un experto en un campo desconocido, primero debe ir a la universidad o al menos inscribirse en los cursos. Escuchamos regularmente lo que se dice y llevamos a cabo tareas. Cuando el preciado diploma o certificado está a la mano, nos perdemos instantáneamente, porque todavía no entendemos por qué necesitamos tanta información y cómo aplicarla específicamente. Esto no es un problema si los planes son escribir artículos científicos y viajar con ellos a conferencias. De lo contrario, vale la pena esforzarse por las habilidades, es decir, hacer y hacer cosas específicas nuevamente, intentar y cometer errores, durante mucho tiempo para recordar la mejor manera de no hacer.

Una de las áreas donde la "mano completa" o el "ojo-diamante" se acercan a la amplitud de la mente es la programación. Si habla con desarrolladores experimentados, escuchará buenas historias en las que una persona desde muy joven se dedicó a las matemáticas / física / enseñanza, y luego se cansó y cambió al backend. ¡Habrá programadores sin educación superior! En primer lugar, el desarrollador no aprecia un certificado, ni un diploma, sino la cantidad y calidad de programas escritos, scripts y sitios.

"¡Pero espera!", Objetas, "¡Suena hermoso, tómalo y hazlo! ¡No puedo escribir un programa fácilmente para mí si no lo he programado antes (a)! Es importante para mí entender dónde escribir, cómo hablar el lenguaje de programación con el compilador en principio "No es un teléfono de plomería en Google para encontrar".

La amarga verdad está en esto. Un aspecto desconocido atrae a otro, que, a su vez, es el tercero, y pronto este proceso se convierte en un espectáculo de magos, que continúa tirando de los pañuelos atados y no los saca del cilindro. Honestamente, el proceso es desagradable, en el quinto pañuelo ya parece que la profundidad de la ignorancia está cerca de la Fosa de las Marianas. Una alternativa a esto son las mismas conferencias sobre 10 tipos de variables, 3 tipos de bucles y 150 bibliotecas potencialmente útiles. Es triste

Hyperskill: construimos, construimos y finalmente construimos


Pensamos en este problema durante mucho tiempo. Sobre cuánto tiempo pensamos, habla elocuentemente la fecha de la última publicación en nuestro blog. Después de todo el debate y los intentos de integrar el nuevo enfoque en Stepik, obtuvimos ... otro sitio. Es posible que ya hayas oído hablar de él como parte de la Academia JetBrains. Lo llamamos Hyperskill, construido en el aprendizaje basado en proyectos allí, lo vinculamos a una base de conocimiento de Java y obtuvimos el apoyo del equipo de EduTools. Y ahora con más detalle.

imagen

Propósito específico Ofrecemos un "menú" de proyectos, es decir programas que puedes escribir con nuestra ayuda. Entre ellos están el tic-tac-toe, asistente personal, blockchain, motor de búsqueda, etc. Los proyectos consisten en 5-6 etapas; El resultado de cada etapa es un programa terminado. "¿Por qué entonces el resto de las etapas, si la primera ya ha resuelto todo?" Gracias por la pregunta Con cada paso, el programa se vuelve más funcional o más rápido. Al principio, el código toma 10 líneas; al final, puede que no quepa en 500.

Un poco de teoría Es imposible sentarse y, sin saber una palabra sobre programación, escribir incluso Hello World. Por lo tanto, en cada etapa del proyecto, verá qué conceptos básicos teóricos debe dominar y, lo más importante, dónde obtenerlos. Los conceptos básicos también se encuentran en Hyperskill en la sección "Mapa del conocimiento". Si para la primera etapa del proyecto, los estudiantes no están obligados a leer los datos del archivo, incluso si no saben cómo continuar. Luego lo aprenderán ellos mismos, para el desarrollo general, o serán necesarios en la siguiente etapa.

imagen

Mapa del conocimiento. Muestra qué temas ya ha estudiado y cómo se relacionan entre sí. Abre cualquier tema bonito. Puede revisarlo con los ojos, pero le recomendamos que realice pequeñas tareas para asegurarse de que la información esté en su cabeza. Al principio, la plataforma te lanzará pruebas, después de ellas, un par de tareas de programación. Si el código compila y pasa las pruebas, compárelo con la solución de muestra (solución de referencia), a veces ayuda a encontrar una forma más óptima de implementación. O asegúrese de que su decisión sea tan hermosa.

Nada mas. Estamos esperando usuarios "verdes" y desarrolladores experimentados. Si ya ha escrito programas, no importa, no lo obligaremos a doblar 2 + 2 nuevamente ni a pasar la línea. Para llegar al nivel correcto de inmediato, durante el registro, indique con qué ya está familiarizado y elija un proyecto más complicado. No tengas miedo de sobreestimarte: en todo caso, siempre puedes volver a un tema olvidado en el mapa de conocimiento.



Herramientas Es excelente escribir pequeños fragmentos de código en una ventana especial del sitio, pero la programación real comienza con el trabajo en un entorno de desarrollo (desarrollo integrado de desarrollo ). Los programadores experimentados no solo saben cómo escribir código, sino también cómo construir una interfaz gráfica, ensamblar diferentes archivos en un proyecto, usar herramientas de desarrollo adicionales, y el IDE se encarga de algunos de estos procesos. ¿Por qué no aprender estas habilidades mientras dominas la programación? Aquí es donde JetBrains viene al rescate con una versión especial de IntelliJ IDEA Community Educational con el complemento EduTools preinstalado. En dicho IDE, puede tomar cursos de capacitación, verificar problemas resueltos y echar un vistazo a los consejos del proyecto si olvida algo. No se preocupe si escucha por primera vez la palabra "plug-in" o "IDE": le diremos qué es y cómo instalarlo en una computadora o computadora portátil con un sufrimiento mínimo. Comprenda la teoría y luego vaya al IDE y complete la siguiente etapa del proyecto allí mismo.

Plazos ¡No están ahí! Quiénes somos para golpear la cabeza e indicar a qué ritmo escribe el programa. Cuando desee escribir código y desee terminarlo hasta el final, agréguelo hoy o mañana. Participe en el desarrollo de su propio placer.

Errores Todos ellos permiten, supones que estás en una de las etapas del proyecto, y luego esta etapa no pasará las pruebas automáticas. Bueno, tienes que descubrir por ti mismo qué salió mal. Podríamos decir dónde se encuentra el error, pero ¿te enseña a escribir código con cuidado? Lea los consejos de IDEA o un tema teórico sobre Bugs, y cuando el programa finalmente funcione, el aumento de dopamina probablemente no tomará mucho tiempo.

Resultado visual Entonces, has terminado el primer proyecto, ¿qué sigue? ¡Usa los frutos del trabajo! Juega tres en raya con tus amigos y, al mismo tiempo, presume de éxito. Cargue el proyecto en GitHub para mostrarle al futuro empleador, escriba una descripción usted mismo, indique el conocimiento que utilizó allí. 4-5 proyectos complejos, y ahora, una cartera modesta para el desarrollador novato está lista.

Oportunidad de crecimiento. Suponga que mira a Hyperskill y no ve ningún tema importante o proyecto útil allí. Háganos saber al respecto! Si su experiencia es más amplia y rica que un mapa de conocimiento, escríbanos en el formulario Contribuir . Nuestro equipo compartirá sus propios consejos y trucos con usted, por lo que estaremos encantados de ayudarlo a transformar su conocimiento en contenido útil que sea comprensible para usuarios de todas las edades y niveles. Tal vez incluso pagaremos, pero eso no es seguro.

Bienvenido: https://hi.hyperskill.org/ Entra, mira, prueba, sugiere, elogia y regaña. También aprendemos a enseñarte.

Source: https://habr.com/ru/post/447434/


All Articles