Con cariño de Stepik: plataforma educativa Hyperskill

Quiero hablarles sobre por qué reparamos plomería con más frecuencia de lo que escribimos disertaciones al respecto, sobre diferentes enfoques para enseñar programación y cómo estamos tratando de aplicar uno de ellos en nuestro nuevo producto Hyperskill.

Si no le gustan las presentaciones largas, pase directamente al párrafo sobre programación. Pero será menos divertido.

Con cariño de Stepik: plataforma educativa Hyperskill

Retiro lírico

Imaginemos a cierta joven Masha. Hoy Masha iba a lavar una fruta y ver una película tranquilamente, pero tuvo mala suerte: de repente descubrió que el fregadero de la cocina estaba atascado. Aún no está claro qué hacer con esto. Puede posponer este problema indefinidamente, pero ahora hay tiempo libre, por lo que Masha decide abordar el problema de inmediato. El sentido común sugiere dos opciones: a) llamar a un plomero b) solucionarlo usted mismo. La joven elige la segunda opción y comienza a estudiar las instrucciones en YouTube. Siguiendo el consejo del usuario Vasya_the_plumber, Masha mira debajo del fregadero y ve un tubo de plástico serpenteante formado por varias piezas. La niña desenrosca con cuidado una pieza en la base del fregadero y no encuentra nada. Un trozo de tubería inferior resulta estar fuertemente obstruido con una sustancia desconocida, e incluso un tenedor que se encuentra sobre la mesa no puede hacer frente a la obstrucción. Los expertos de Internet hacen pronósticos decepcionantes: habrá que cambiar la pieza. En el mapa, Masha encuentra la tienda más cercana, se lleva el desafortunado trozo de tubería y compra la misma, solo que nueva. Siguiendo el consejo del vendedor, Masha también toma un colador nuevo para prevenirlo. La misión está completa: el fregadero vuelve a funcionar como debería y su personaje principal, mientras tanto, ha aprendido lo siguiente:

  • Usted mismo puede desenroscar y apretar los tubos debajo del fregadero;
  • La tienda de fontanería más cercana está a un kilómetro y medio del apartamento de Mashina.

Lo más probable es que Masha ni siquiera se diera cuenta de cuántas cosas nuevas había aprendido y aprendido, porque estaba preocupada por su propia comodidad en el futuro y, al mismo tiempo, miraba una película y lavaba su manzana. La próxima vez que surja un problema similar, la niña lo resolverá muchas veces más rápido. De hecho, Masha no sólo devolvió el mundo a su estado habitual; ella estudió por inducción, es decir, en casos especiales, y orientado a la práctica, es decir, haciendo las cosas en lugar de estudiarlas detalladamente y con antelación.

Todo podría haber sido diferente. Supongamos que Masha está sentada en una silla por la noche y de repente se da cuenta de que no está mental ni físicamente preparada para una obstrucción en el fregadero. Rápidamente se matricula en una academia de fontanería, estudiando los tipos de fregaderos, tuberías y posibles conexiones, la clasificación de los problemas de fontanería y sus posibles soluciones. Masha no duerme por la noche y memoriza términos y nombres. Quizás incluso esté escribiendo una tesis doctoral sobre ciencia teórica de las tuberías, donde analiza las juntas de goma. Finalmente, después de recibir el certificado, Masha mira con orgullo la cocina con plena confianza en que ahora hasta el más mínimo problema con el fregadero se solucionará con un chasquido de dedo. En este escenario, la niña estudió deductivamente, pasando de lo general a lo específico, y se centró más en la teoria.

Entonces, ¿qué enfoque es mejor? En el caso de un fregadero y una obstrucción, lo primero, y por estos motivos:

  1. Si sólo es importante un fregadero que funcione, entonces basta con saber sólo lo que concierne a esta área en particular. Cuando Masha se dé cuenta de que le faltan conocimientos, definitivamente encontrará la manera de aprender más.
  2. Es posible que el conocimiento enciclopédico no se active en una situación real porque el hábito no se ha desarrollado. 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: ¿aprender o hacer?

Estamos acostumbrados a pensar que para desarrollarnos y convertirnos en expertos en un campo desconocido, primero debemos ir a la universidad o al menos inscribirnos en cursos. Regularmente escuchamos lo que nos dicen y realizamos tareas. Cuando tenemos en nuestras manos el codiciado diploma o certificado, nos perdemos instantáneamente, porque todavía no entendemos para qué necesitamos tanta información y cómo aplicarla específicamente. Esto no supone ningún problema si tus próximos planes son escribir artículos científicos y viajar con ellos a congresos. De lo contrario, vale la pena esforzarse por adquirir habilidades, es decir, hacer y volver a hacer cosas concretas, intentarlo y cometer errores para recordar durante mucho tiempo lo que es mejor no hacer.

Una de las áreas donde una “mano dura” o un “ojo de diamante” van de la mano con una perspectiva amplia es la programación. Si habla con desarrolladores experimentados, escuchará historias valientes en las que una persona estudió matemáticas/física/enseñanza desde una edad temprana y luego se cansó y pasó al backend. ¡También habrá programadores sin educación superior! En primer lugar, lo que se valora en un desarrollador no es un certificado o diploma, sino la cantidad y calidad de los programas escritos, guiones y sitios web.

“¡Pero espera!”, objetas, “Suena hermoso, ¡tómalo y hazlo!” ¡No puedo escribir un programa fácilmente si no lo he programado antes! Para mí es importante entender dónde escribir, cómo hablar básicamente en un lenguaje de programación con un compilador. No es como buscar el número de teléfono de un fontanero en Google”.

También en esto hay una amarga verdad. Un aspecto desconocido lleva a otro, que a su vez lleva a un tercero, y pronto este proceso se convierte en un espectáculo de mago, que sigue sacando pañuelos atados y no puede sacarlos de la chistera. El proceso, para ser honesto, es desagradable, en el quinto "pañuelo" ya parece que la profundidad de la ignorancia se acerca a la Fosa de las Marianas. Una alternativa a esto son las mismas conferencias sobre 5 tipos de variables, 10 tipos de bucles y 3 bibliotecas potencialmente útiles. Desafortunadamente.

Hyperskill: construimos, construimos y finalmente construimos

Pensamos en este problema durante mucho tiempo. La fecha del último post en nuestro blog dice mucho de cuánto tiempo llevamos pensando. Después de todos los debates e intentos de integrar el nuevo enfoque en Stepik, terminamos con... un sitio diferente. Es posible que ya haya oído hablar de él como parte de JetBrains Academy. Lo llamamos Hyperskill, incorporamos aprendizaje basado en proyectos, le vinculamos una base de conocimientos de Java y conseguimos el apoyo del equipo de EduTools. Y ahora más detalles.

Con cariño de Stepik: plataforma educativa Hyperskill

Objetivo específico. Ofrecemos un “menú” de proyectos, es decir programas que puedes escribir con nuestra ayuda. Entre ellos se encuentran el tres en raya, asistente personal, blockchain, motor de búsqueda, etc. Los proyectos constan de 5-6 etapas; El resultado de cada etapa es un programa terminado. “Entonces, ¿por qué necesitamos las otras etapas si ya todo salió bien en la primera?” Gracias por la pregunta. Con cada paso el programa se vuelve más funcional o más rápido. Al principio el código ocupa 10 líneas, pero al final puede que ni siquiera quepa en 500.

Немного теории. Es imposible sentarse y escribir incluso Hello World sin saber una palabra de programación. Por tanto, en cada etapa del proyecto, ves qué conceptos básicos teóricos tienes que dominar y, lo más importante, dónde conseguirlos. Los conceptos básicos también se encuentran en Hyperskill en la sección "Mapa de conocimiento". Si para la primera etapa del proyecto no se requiere que los estudiantes lean datos de un archivo, es posible que no puedan continuar. Lo aprenderán ellos mismos más adelante, para el desarrollo general, o lo necesitarán en la siguiente etapa.

Con cariño de Stepik: plataforma educativa Hyperskill

Mapa de conocimiento. Le muestra qué temas ya ha estudiado y cómo se relacionan entre sí. Abre cualquier top lindo. Puede hojearlo, pero le recomendamos que complete pequeñas tareas para asegurarse de que la información encaje en su cabeza. Primero, la plataforma te hará pruebas, luego de lo cual te dará un par de tareas de programación. Si el código se compila y pasa las pruebas, compárelo con la solución de referencia; a veces esto ayuda a encontrar una forma más óptima de implementarlo. O asegúrese de que su solución ya sea excelente.

Nada mas Estamos esperando tanto a usuarios "verdes" como a desarrolladores experimentados. Si ya has escrito programas, no importa, no te obligaremos a sumar 2+2 ni a girar una línea nuevamente. Para llegar inmediatamente al nivel deseado, al registrarse, indique con qué ya está familiarizado y elija un proyecto más difícil. No temas sobreestimarte: si pasa algo, siempre puedes volver a un tema olvidado en el mapa de conocimiento.

Con cariño de Stepik: plataforma educativa Hyperskill

Instrumentos Es fantástico escribir pequeños fragmentos de código en una ventana especial del sitio, pero la programación real comienza trabajando en el entorno de desarrollo (Integrated Desarrollo Eambiente). Los programadores experimentados saben no sólo cómo escribir código, sino también cómo diseñar una interfaz gráfica, ensamblar diferentes archivos en un proyecto, utilizar herramientas de desarrollo adicionales y el IDE se encarga de algunos de estos procesos. ¿Por qué no aprender estas habilidades mientras aprendes programación? Aquí es donde JetBrains viene al rescate y viene una versión especial de IntelliJ IDEA Community Educational con un complemento EduTools preinstalado. En un IDE de este tipo, puede realizar cursos de capacitación, verificar problemas resueltos y consultar sugerencias de proyectos si olvidó algo. No te preocupes si es la primera vez que escuchas la palabra “plugin” o “IDE”: te contamos qué es y cómo instalarlo en tu ordenador o portátil con el mínimo sufrimiento. Comprenda la teoría y luego vaya al IDE y complete la siguiente etapa del proyecto allí mismo.

Plazos. ¡No hay ninguno de ellos! ¿Quiénes somos nosotros para tocarte la cabeza y decirte a qué ritmo escribir un programa? Cuando disfrutas escribiendo código y quieres terminarlo, lo terminas, hoy o mañana. Desarrolla el desarrollo para tu propio placer.

Errores. Todos los admiten, usted también lo hace en una de las etapas del proyecto, y luego esta etapa no pasará las pruebas automáticas. Bueno, tendrás que descubrir por ti mismo qué salió mal. Podríamos decirle dónde está el error, pero ¿eso le enseñaría cómo escribir código con cuidado? Lea los consejos de IDEA o un tema teórico sobre errores, y cuando el programa finalmente funcione, lo más probable es que la oleada de dopamina no se haga esperar.

Un resultado claro. Ya has completado el primer borrador, ¿qué sigue? ¡Disfruta los frutos de tu trabajo! Juega al tres en raya con tus amigos y presume de tu éxito al mismo tiempo. Sube el proyecto a GitHub para mostrárselo a un futuro empleador, escribe una descripción tú mismo e indica allí los conocimientos que aplicaste. 4-5 proyectos complejos y ahora está lista una cartera modesta para un desarrollador principiante.

Oportunidad de crecimiento. Digamos que miras Hyperskill y no ves ningún tema importante o proyecto útil allí. ¡Háganos saber al respecto! Si su experiencia es más amplia y rica que el mapa de conocimiento, escríbanos en el formulario Donar. Nuestro equipo compartirá nuestros propios consejos y trucos contigo, por lo que estaremos encantados de ayudarte a transformar tus conocimientos en contenido útil y comprensible para usuarios de diferentes edades y niveles. Tal vez incluso paguemos, pero eso no es seguro.

Bienvenido: hola.hyperskill.org Entra, mira, prueba, sugiere, elogia y critica. También estamos aprendiendo para enseñarte.

Fuente: habr.com

Añadir un comentario