¿Cómo puedo ayudar a un niño a mantenerse motivado para aprender a programar?


39

¿Cómo podría ayudar a un niño preadolescente inteligente (preadolescente) a aprender programación? Le va bien en la escuela, ha saltado 2 grados y es un nerd estereotípico introvertido. Está muy interesado en el desarrollo web y ha dominado los fundamentos de HTML , CSS y JS , de los que no sé nada (no soy un programador). Construyó un sitio web personal a partir de su conocimiento. Aprendió esto de Internet en varios sitios de tutoriales y Stack Overflow.

¿Cómo puedo alentarlo a desarrollar estas habilidades? ¿Hay alguna manera de ayudarlo con su aprendizaje dado que yo no sé programar? No creo que pueda aprender todo lo que ha aprendido, ya que dedica mucho tiempo a ello y es tan devoto.

Creo que el mayor peligro es perder su motivación y dejar de fumar. La depuración puede ser frustrante a veces, y no quiero que se detenga por eso. En otras materias, podría ayudarlo a resolverlo, pero con la programación, no puedo porque no tengo ningún conocimiento de dominio.

¿Qué debo hacer para mantener su motivación para codificar para que no se desanime cuando se enfrente a dificultades dado que yo no puedo superarlas?

(no soy padre)


41
Hmm, solo no lo permita, y estarán muy interesados ​​en el tema.
Según Alexandersson el

Un amigo mío escribió una publicación de blog ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html ) sobre cómo está enseñando a sus hijos a programar que podrían ser útiles para usted.
Jeff

3
Aprendí a programar solo a una edad muy temprana. Mi papá me compró las herramientas (hoy, puedes obtener una versión gratuita de Visual Studio) y libros. Todavía no necesita programar como un profesional, solo para divertirse haciéndolo. Me divertí haciendo juegos, comencé con una aventura basada en texto, luego un juego de disparos en 2D. También con Visual Studio, puede aumentar la complejidad de este sitio web al hacerlo dinámico.
the_lotus

Aprende a codificar con él. Actividad divertida para que hagan juntos. De esa manera puedes hacer las partes frustrantes para él al principio.
Evorlor

9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) dice la persona con 4k reputación SO y cuyas etiquetas principales son HTML, CSS y JS
Santa Claus

Respuestas:


25

En primer lugar, en términos de ayudar al niño a aprender:

  1. Muchas / la mayoría de las escuelas tienen clubes de computación. Anime al niño a preguntar a otros estudiantes, o pregúntele a los profesionales de la escuela usted mismo. Esto colocará al niño con sus compañeros en el desarrollo, que es el mayor estímulo que puede dar.

  2. Hable con un maestro de computación en la escuela si existe. Pueden aceptar ayudar al niño o darle consejos.

  3. Similar al # 1 / # 2, anuncie un tutor si puede pagarlo. Un pobre pero brillante estudiante universitario de CS realmente puede disfrutar de la enseñanza de un preadolescente inteligente, mucho más que sus compañeros de edad inteligente que generalmente son tutores. Sé que lo hice. El desafío (aparte del hecho de que tiene que pagar) es encontrar a alguien que sea bueno para enseñar: se debe solicitar experiencia previa en enseñanza o tutoría, así como la capacidad de trabajar con niños más pequeños.

  4. Los cursos en línea (Coursera, etc.) pueden ser geniales, especialmente para un nerd intervertido ( me mira en el espejo )

  5. Para desafiarlos, diríjalos a Rosetta Code y los sitios de Code Review Stackexchange .

En segundo lugar, si cree que podrían usar la motivación para los siguientes pasos:

  1. Si el niño es maduro (probablemente lo sea), muéstreles las tasas de pago promedio para varias profesiones, y que los ingenieros de software están muy por encima en comparación con la mayoría de las profesiones. Esto asegurará que pueda mirar más allá del habitual geek-bullying con el que probablemente se encontrará y que tenga razones para apegarse a la codificación.

  2. Señale que hay muchos niños como este (como puede ver en los testimonios personales de casi todas las respuestas aquí :): es probable que se sienta más animado si no se siente como un monstruo, incluso si es introvertido por naturaleza.


3
Many/most schools have computer clubsRuego no estar de acuerdo.
Santa Claus

Tengo que estar de acuerdo con @SantaClaus en este caso. Especialmente en Texas, no hay tantos grupos de programación. Estaba extremadamente disgustado cuando descubrí que mi escuela secundaria local no tenía un club. Intentamos convencerlos y lo negaron debido a la financiación. Sin embargo, tienen más de 20 clubes deportivos. Esto es aparentemente cierto con la mayoría de las escuelas en Texas, excepto con las del centro de la ciudad.
Damien Bochkarev

12

Un par de cosas para agregar a la excelente respuesta del usuario3143:

Herramientas. Las herramientas no son un sustituto de la experiencia o el conocimiento, pero cada artesano / mujer aprecia las buenas herramientas, y son algo en lo que usted, como padre no programado, puede ayudar. Algunos de los mejores son gratuitos, pero si el niño quiere un IDE, una biblioteca, un programa, etc. que cuesta una cantidad razonable de dinero , considere comprarlo. Creo que Photoshop, por ejemplo, es invaluable para el desarrollo web (mi trabajo). Obtenga al niño un poco de tecnología móvil para desarrollar. No tiene que ser costoso, y no necesita conectarlo a un plan de datos, un teléfono y una tableta usados ​​de 2 años funcionarán.

Aliente al niño a contribuir con el código abierto, aprenda cómo funciona github (si no lo hace). Anime al niño a intentar obtener crédito escolar para proyectos personales (el mejor truco de todos los tiempos). Aliente al niño a escribir programas como regalos (actualmente estoy haciendo un sitio web para mi hija de 5 años). Ayuda a aprender cómo anticipar y cumplir los deseos y requisitos de otras personas, lo que será importante si desea que el niño siga una carrera en programación. Hablando de que...

Supongo (posiblemente erróneamente) que estás alentando con la esperanza de que esto se convierta en la carrera del niño. Si ese es el caso, hay una serie de cosas que un programador profesional necesita saber que un aficionado posiblemente no. Si aún no está en ese punto (el niño es bastante joven), no se preocupe por la siguiente lista de requisitos previos profesionales: control de versión del código fuente, trabajo en equipo, trato con clientes (ya sean jefes o clientes), documentación (los programas son para leer a otras personas y solo de manera incidental para que funcionen las computadoras) y el equilibrio entre la vida laboral y personal (nuestra industria no es la peor, pero es un problema)

Por último, pero no menos importante, es RSI. Su hijo estará escribiendo. Mucho. Tomé un verano en la escuela de posgrado para aprender a escribir con teclado en la distribución del teclado colemak, y estoy muy contento de haberlo hecho. Vale la pena echarle un vistazo.



1
Morderé. Los hobbiests necesitan un SCM (Git es el mejor, IMO) si alguna vez quieren estar cuerdos.
Deshacer el

2
Por eso dije 'posiblemente'. Ciertamente me he arrinconado un par de veces en proyectos personales al pensar 'No me molestaré con el control de la fuente en este pequeño programa desechable' :)
Jared Smith

11

Las otras respuestas aquí están bien, pero me preocupa que haya un hecho importante que todos pasen por alto:

un nerd estereotípico introvertido

Soy yo mismo este tipo de persona y no puedes imaginar lo difícil que es la vida cuando eres tímido y literalmente temes hablar con los demás (esto parece llamarse ansiedad social), así que si es posible, debes ocuparte de esto antes cualquier otra cosa, si no, me temo que usaría la programación como un "refugio" de la vida real (como lo hice durante algunos años) y eso le daría problemas en el futuro.


1
Este es un muy buen punto a tener en cuenta. Buscar un club de programación, o actividades extracurriculares que incorporen programación (por ejemplo, las ligas FIRST LEGO), puede ayudarlo a desarrollar tanto sus intereses obvios como sus habilidades de socialización.
Adire

2
Convenido. Probablemente obtuve más de un año de teatro en la escuela secundaria que cualquier otra clase aparte de cosas relacionadas con la computadora. Me enseñó cómo lidiar con el miedo escénico, cómo improvisar en una situación social estresante y todo tipo de "habilidades blandas" que son útiles todo el tiempo. Y los "geeks del drama" son, bueno, otra subespecie de geek, por lo que interactuar con los compañeros de clase y relacionarse con ellos no será tan difícil para el niño como lo sería con algunas de las otras formas de vida alienígena que deambulan por los pasillos de una típica escuela secundaria. Definitivamente deberías alentarlo (pero no presionarlo ) para que tome el drama.
Mason Wheeler

6

Como programador y, hasta cierto punto, como 'ese niño', diría que cosas como kits de hardware integrados (baratos) como Raspberry Pi o Arduino son el camino a seguir. Estos kits suelen ser bastante baratos (el Pi cuesta alrededor de $ 30 y funciona con un cargador de teléfono).

Los programadores jóvenes no están interesados ​​en obtener una comprensión adecuada de los conceptos de programación como escribir código seguro / de alta calidad. Hasta que se convierta en un hábito, se interpone en el camino de hacer que las cosas funcionen. Lo comparo con la química porque saber los detalles intrincados de por qué Mentos y Diet Coke hacen una gran fuente es mucho menos interesante que experimentar desordenadamente en el patio con refrescos y dulces.

Los jóvenes programadores aprenden muchos malos hábitos de los cursos en línea y ejemplos de código. Por lo general, están mal diseñados y construidos para funcionar solo en condiciones óptimas. Los buenos programadores crean para todos esos pequeños 'casos extremos' extraños donde las cosas no son exactamente lo que se esperaba. En algún momento tendrán que desaprender todo el mal comportamiento y evitar el ambiente "profesional" hasta que estén listos es una buena manera de ayudar a evitar que se formen malos hábitos.

Están motivados para jugar y también pueden jugar cuando todavía son niños y mientras quieren hacerlo.

Tomar hardware / placas de circuitos y realmente hacer algo fomenta las habilidades creativas que con frecuencia (estereotípicamente) carecen de niños con ese tipo de intereses. Como un joven programador, hay mucho más satisfacción en el "Hice ESTO" y de un error en el código que tiene el potencial de romper algo. Además, cuando hayas terminado de construirlo, puedes jugar con él por un tiempo.

Lo más importante: para los no programadores es mucho más fácil alabar algo físico cuyo propósito se entiende fácilmente. Eso a su vez conduce a mayores elogios y conversaciones más constructivas que los códigos / programas en una pantalla que terminan convirtiéndose en 'cacería de errores' o que necesitan una explicación que es más larga que la demostración.


5

Una vez estuve en una posición similar. Era un preadolescente que estaba ansioso por aprender acerca de la programación y me emocionó ver a una computadora ejecutar comandos según las instrucciones. No estaba interesado en el desarrollo web, sino que inicialmente estaba interesado en todo lo contrario: piratear / explotar. No obstante, creo que mi experiencia con aprender a programar será relevante.

Creo que la clave para enseñar a un joven a programar es el estímulo. Esto es algo que desearía haber tenido más. Mis padres no son expertos en tecnología ni nadie en mi familia, y debido a eso, no recibí mucho aliento o apoyo para aprender / perfeccionar mis habilidades de programación. Has dado el paso correcto al preguntarle a otros por sus pensamientos y eso demuestra que apoyas sus intereses. El mejor consejo que puedo dar al padre / tutor / mentor de un niño que está interesado en la programación es simple: no permita que se desanime o se sienta abrumado. Un niño puede sentirse fácilmente desanimado o abrumado cuando trabaja en un gran problema. Es su trabajo asegurarse de que eso no suceda.

En cuanto a cómo puedes alentarlo, eso es un poco más complicado. Cada niño es diferente. Mis padres comenzaron a apoyarme y alentarme cuando estaba en mis últimos años de secundaria. Encontré el mayor aliento cuando entraban a mi habitación, se sentaban conmigo, me preguntaban sobre lo que estaba trabajando, me escuchaban explicarlo en detalle, me miraban dirigiéndome a ellos y parecían interesados. Hoy ya no creo que mis padres alberguen mucho interés en mis explicaciones o detalles, pero en ese momento estaba convencido de que lo hicieron y me ayudó a sentirme satisfecho y realizado con mi trabajo. Tómese el tiempo para sentarse con él, mirar lo que ha construido, discutirlo con él, hacerle preguntas y parecer entusiasmado. Lo hará sentir especial y le proporcionará un refuerzo positivo. Es posible que no pueda ofrecerle ayuda o mostrarle cómo hacer algo,

Una de las mejores formas de aprender programación es encontrar un objetivo difícil y convertirlo en un punto focal de desarrollo. En mi caso, me enfoqué en un objetivo particular cuando tenía 16 años. Estaba enfocado en desarrollar un programa para explotar un juego de Android / iPhone muy popular en ese momento. Me obsesioné con ese objetivo y trabajé para lograrlo durante meses. Finalmente pude construir una aplicación para él y luego mi objetivo se hizo más amplio. Después de alcanzar esa meta, trabajé para expandir el programa y agregarle más funciones. Durante el año y medio siguiente, hice varios programas que lograron ese objetivo y albergaron características que nunca pensé que podría lograr. Diré que mi motivación para expandirme aún más fue el dinero. Creé un negocio en línea que vendía el software de explotación de juegos que escribí. Sin embargo, su motivación puede ser cualquier cosa. No tiene que ser dinero o vender lo que crea. Simplemente puede encontrar motivación en la satisfacción de lograr un objetivo final. No importa lo que lo motiva, lo que importa es que esté motivado.


Estos son algunos de los mejores recursos que he encontrado para aprender a programar:

  1. YouTube: esto puede parecer una sugerencia pobre, pero déjame explicarte. Busque el tutorial "[Cualquiera que sea el idioma que quiera aprender]" y elija una lista de reproducción. Hay muchos tutoriales geniales para muchos idiomas en YouTube, desde principiantes hasta avanzados.
  2. Khan Academy: No encontré esto hasta hace un año, pero Khan Academy tiene un curso de programación gratuito. Hojeé el curso y parece ser un muy buen curso para un programador principiante. Cubre los conceptos básicos y es muy comprensible. Podría ser un buen recurso para él.
  3. "TeachMeComputer": TeachMeComputer es el nombre de YouTube de un hombre que fue creado excelentes tutoriales para Visual Basic .NET y PHP. Los organizó a todos y proporcionó contenido adicional en www.HowToStartProgramming.com . Con el interés del niño en el desarrollo web, esto podría ser un activo valioso para aprender PHP. Creo que VB.NET es un gran lenguaje de programación para principiantes, por lo que ese conjunto de tutoriales también podría serle muy útil.

Editar : Mis disculpas por asumir que eras el padre. No noté la última línea de tu publicación que dice que no lo eres. A pesar de eso, creo que mi respuesta aún podría ser útil.


4

Habiendo aprendido el desarrollo de software por mí mismo de la misma manera (aunque a principios de los 90 había mucho menos material útil disponible en línea y encontré / compré libros como mi principal fuente de información), puedo decir que lo más importante es El niño necesita que ya parece tener: Motivación para aprender.

Las otras respuestas aquí ofrecen buenas sugerencias, incluidos elementos como la participación con pares de ideas afines, ayudar a familiarizarse con las herramientas y, por simple que parezca, aprender a escribir de manera eficiente es clave (de lo contrario, ingresar cualquier tipo de información en la computadora tiende a ser tan arduo que difícilmente puede enfrentar la idea de resolver problemas importantes con el código).

También agregaría: Aliente a esta persona joven a seleccionar una meta / proyecto de su propia elección y a cumplirla hasta su finalización. Esto puede tomar varios intentos, y el primero puede quedar incompleto, ser demasiado ambicioso, eventualmente volverse aburrido, etc. Pero aprender a superar esto y realmente producir algo de calidad que alguien use (podría ser un proyecto de código abierto , o algo usado en la escuela o por amigos, etc.): ese es un punto importante y un paso vital.

Aprendí mucho sobre la programación alrededor de esa misma edad (10-12), pero cuando tenía trece años alguien realmente me ofreció dinero para programar algo para ellos, y tenía una fecha límite asociada. Esa fue una experiencia diferente. Si bien tenía algo de estrés asociado, también me hizo responsable. Tenía muchos proyectos incompletos e ideas inteligentes, pero no fue hasta que alguien me ayudó a entrenarme en la disciplina de entregar el software que estaba escribiendo (y que fuera lo suficientemente decente y viable, no una pila de basura demasiado problemática). De hecho, considero que "me convertí en un verdadero desarrollador".

Esos son mis dos centavos.


3

Comience con Scratch: http://scratch.mit.edu/

"Scratch es una herramienta gratuita de autoría multimedia de escritorio y en línea que puede ser utilizada por estudiantes, académicos, maestros y padres para crear fácilmente juegos y proporcionar un trampolín para el mundo más avanzado de la programación informática o incluso para una variedad de programas educativos. y propósitos constructivistas de entretenimiento de proyectos de matemáticas y ciencias, incluyendo simulaciones y visualizaciones de experimentos, grabando conferencias con presentaciones animadas, historias animadas de ciencias sociales y arte y música interactivos ". WP


55
Ew. Me vi obligado a usar Scratch en un curso de "alfabetización informática" en sexto grado, y fue terrible. ¿por qué me obligó a utilizar el ratón tanto, házmelo tyyyyype
Pomo

1
Si lo único que aprendió al trabajar con Scratch es que no le gusta el mouse, entonces se perdió el punto. Es una excelente herramienta para aprender conceptos básicos de programación. Y es muy divertido experimentar con él. A mis dos hijos les encantó y aprendieron a programar de verdad. La clave no es si usa o no un mouse; la clave es que es una forma divertida de comenzar, lo que podría llevarlos a un mayor aprendizaje.
james.garriss

55
Scratch es un punto de partida bastante bueno para presentar los fundamentos de la lógica de programación, pero puede ser un poco joven para un preadolescente que ya ha comenzado. También es una buena manera de acostumbrarlos a los lenguajes de programación visual, que pueden usarse en una carrera (por ejemplo, LabVIEW).
Acire

3

La gente ya ha agregado algunas sugerencias geniales. Lo único que puedo agregar sería encontrar algo que ya le gusta hacer, que la programación le daría una ventaja competitiva. Por ejemplo, si le gustan los videojuegos y saber codificar significa que podría modificar su sistema o software (sí Sé que esto podría conducir a hacer trampa) para darle una ventaja, entonces quizás esa sea una forma de lograr que piratee el código y aprenda a doblar el comportamiento de una aplicación para satisfacer sus necesidades. Puede que sean cosas tontas que él comienza a piratear; pero con el tiempo, sus habilidades crecerían naturalmente sin convertirse en una tarea. Cuando las personas disfrutan de lo que hacen, aprenden más rápido y continúan evolucionando.


3

Nunca olvides que hay dos objetivos, que a veces pueden entrar en conflicto.

  • Diviértete programando
  • Conviértete en un gran desarrollador de software

Tenga en cuenta a esos dos, porque si toma decisiones sin ser consciente de cuál de los dos está priorizando, es posible que no obtenga el equilibrio correcto. Siempre priorizar lo mismo sobre el otro no resultará bien.

Alguien que se está enseñando a sí mismo cómo programar sin la guía de programadores más experimentados puede enseñarse a sí mismo algunos malos hábitos, que luego tendrá que desaprender.

Si obtener un tutor para el niño es una opción para usted, entonces podría ser muy útil.

Anime al niño a involucrarse en proyectos de código abierto, ya que eso puede proporcionar múltiples beneficios:

  • Aprendes a trabajar junto con otras personas en un proyecto, lo cual es crucial si algún día esperas poder programar.
  • Las personas más experimentadas que participan en el proyecto pueden proporcionar alguna orientación en el camino.
  • Si logras aportar algo bueno al proyecto, significa que hay algo para poner en un CV si algún día estarás haciendo una carrera como desarrollador.

Hay muchos proyectos de código abierto, por lo que es muy probable que haya uno que le interese al niño.

Incluso si no tienes ninguna habilidad técnica, puedes guiar al niño en ese proceso. Algo de lo que se necesita para involucrarse en un proyecto de este tipo es sobre las buenas habilidades de las personas, donde probablemente podría brindar alguna orientación.

Algunas comunidades en línea pueden parecer un poco hostiles para los recién llegados. Algunos consejos que son relevantes en la mayoría de los casos son:

  • Sé un poco humilde al principio. Los recién llegados ocasionalmente (a veces por buenas razones) son vistos como personas arrogantes con una autoestima más alta que la justificada.
  • Demuestra que estás dispuesto a aprender.
  • Demuestre que puede hacer contribuciones valiosas.

Muchos proyectos de código abierto están discutiendo desarrollos en listas de correo abiertas, por lo que tendrá que decidir si prestará atención a ellos para ver cómo se lleva el niño en la comunidad.


2

Actualmente estoy a una edad temprana y he estado programando durante varios años.

Me introdujeron por primera vez en C cuando tenía alrededor de ocho años, aunque no he tocado mucho el lenguaje. Me concentro más en el desarrollo y diseño web, aunque tengo un conocimiento fundamental de Java para la API de Bukkit y pronto me expandiré a Objective C o Swift.

En mi experiencia actual, lo mejor es aprender a través de usted mismo. A una edad más temprana, me resulta más difícil aprender de otras personas, sino más bien ensayo y error. Sé que muchas escuelas ofrecen clubes de computación y cosas por el estilo, a las que me pidieron que asistiera pero me negaron, aunque no creo que sean suficientes para mí. Siendo una edad más joven, la gente generaliza que nosotros los niños no somos capaces de lo que esperan. Sé que conozco mejor varios lenguajes de programación y scripts con muchos adultos que asumen mi nivel de conocimiento sobre el tema.

Cuando comencé a programar, veía muchos tutoriales en línea, aunque solo me ayudarían los tutoriales visuales. La lectura y los recursos interactivos no me ayudarían en absoluto, aunque los videos también me limitaron.

Copiaría código de videos y exploraría cómo funcionaba. Investigaría ciertas funciones y experimentaría con el lenguaje hasta tener un conocimiento intermedio del mismo.

Siento como si fuera un niño, estoy limitado a lo que puedo lograr. Teóricamente, podría ser clasificado como un 'Nerd' o tal por tener una gama tan amplia de conocimientos sobre informática y programación, aunque no es de mucha ayuda para mí. No puedo concentrar mi tiempo completo en la informática y la programación para barreras como la escuela, la familia y los amigos. Si fuera un adulto, creo que podría ampliar mis conocimientos más rápido y aprender más, aunque es diferente por persona.

De todos modos, si no quieres leer mi texto desordenado, solo recomiendo que el niño aprenda solo. Probablemente esté en la misma posición que yo sintiéndose limitado, aunque si lo dejas en paz, estoy seguro de que encontrará recursos que lo ayudarán en lugar de recibir recursos que no lo ayudarán.

Pido disculpas por cualquier error gramatical porque todavía soy un niño y no soy capaz de escribir en detalle o de la manera estructurada que un adulto con más experiencia y conocimiento podría.

Sin embargo, espero que mi información ayude, a pesar de que es una información bastante ampliada.

Editar: no recomendaría el uso de herramientas como scratch o autocompletado o herramientas de código generadas automáticamente, ya que estas anularían el propósito de la programación. Scratch consiste en sentido común en lugar de programación; no es así como se debe ver la programación.


2
+1 a tu edición. Esta es mi mayor queja contra el uso de algunos IDE al aprender. Si el IDE escribe la mayor parte de su código para usted, ¿qué está aprendiendo? Soy cauteloso al recomendar Visual Basic .NET debido a este problema. Visual Studios para VB.NET a menudo escribe automáticamente gran parte del código clave y sugiere qué escribir para el resto. Esto está bien si el usuario aprende lo que realmente hace el código autogenerado / completado, pero si el usuario no busca este conocimiento por su cuenta, entonces no aprenderá correctamente. Entonces +1 a su consejo contra este tipo de cosas.
Spencer D

1
Gracias por estar de acuerdo conmigo. Como tengo conocimiento en una variedad de idiomas, usaré IDEs que se completen automáticamente. Esto es solo para la gestión del tiempo, y aunque recomendaría esto para desarrolladores más experimentados, las personas aún necesitan aprender a programar. Es como saber hablar un idioma sin saber cómo escribirlo de alguna manera.
Perfil

Buena analogía para ello. Si puedo, diría que es como saber algunas palabras en un idioma extranjero y luego usar el traductor de Google para traducir el resto de lo que quieres decir. Sí, se entiende y funciona, pero no lo escribió usted mismo y, por lo tanto, no aprendió lo que significa cada palabra individual. Sin embargo, como dijiste, una vez que comprendes los idiomas y el código, usar el código de autocompletado y autogenerado suele ser un gran ahorro de tiempo.
Spencer D el

Je, si. Completamente de acuerdo con eso.
Perfil del

2

Me gustaría agregar un punto a las respuestas dadas aquí. Si puede hacerlo mientras mantiene su interés, intente alentar el estudio de cómo funcionan los idiomas (teoría de la computación, paradigmas del lenguaje, etc.), tal vez leyendo libros de texto y no solo la sintaxis y la documentación del lenguaje. La prueba y el error son excelentes para aprender lo que funciona, pero entender el por quédetrás de lo que funciona o no funciona en la programación es vital para convertirse en un desarrollador de software en lugar de alguien que solo esté interesado en realizar la tarea sin tener en cuenta qué tan bien está escrito el código. Solo mis dos centavos como ingeniero de software que ha visto la diferencia entre la mentalidad de "funciona, por lo que debe ser perfecta" y la idea de escribir código limpio que funcione bien, sea escalable, adaptable, etc. Estudiar la teoría realmente puede ayudar esta.


1

El niño ya sabe cómo aprender y ha demostrado que quiere hacerlo. Muchas de las otras respuestas se centran en mostrar los materiales para niños, lo que no es útil, ya que el niño puede hacer preguntas sobre los materiales en cualquier lugar de la web. Exponer material y expectativas sobre el niño puede incluso desanimar y matar cualquier interés en el tema.

Creo que solo hay dos cosas a tener en cuenta: pérdida de interés debido a la falta de un desafío, o ser abrumado por un desafío.

Para combatir el estar abrumado, muestre interés en lo que hizo para que pueda sentirse orgulloso de su progreso (o al menos darse cuenta de que hubo progreso, si las cosas van lentamente). Y si le falta un desafío, mencione algunas cosas más que podría hacer (por ejemplo, trabajar en un mod para un juego que le gusta, comprar un Raspberry PI, etc.), pero no lo obligue a trabajar, deje que sea él quien decide si quiere hacerlos.


1

Necesita proyectos personales en los que estar interesado. El código abierto es excelente. Hacer un juego es genial, pero definitivamente el orden más alto para completar.

Terminar las cosas que tienen un uso claro, ya sea para él o para otra persona, es la solución más flexible y confiable. Recomiendo juegos, porque amo los juegos. Pero de nuevo, me encantan los juegos, y los juegos requieren la más amplia gama de habilidades para completarse.

Pero si es un nerd, también amará los juegos. Los juegos también son rentables. Jajaja


1

Creo que la mayoría de las sugerencias aquí llevan a la dirección equivocada.

Dado el hecho de que parece ser capaz de obtener el conocimiento o las habilidades relevantes para un proyecto por sí mismo, recomendaría los dos siguientes:

Sugiérale que dé una clase de enseñanza después de la escuela o algunas charlas sobre programación a sus compañeros. La mejor manera de aprender es enseñar de todos modos. Esto también puede mejorar sus habilidades sociales.

Dale algunos proyectos "reales". Pídale que programe un sitio web para la clase de la escuela o algún applet web para un proyecto de matemáticas o física. O una pequeña cosa de base de datos, o una wiki. De esta manera verá una relevancia real en sus habilidades. Él comprenderá que él es el experto y que otras personas lo necesitan. Y aprenderá temprano para promocionarse.


1

¡Felicitaciones a esta joven mente por tener una habilidad increíblemente comercializable a la temprana edad de 14 años! Qué genial es este chico. (Soy un programador, así que perdóname mientras se va).

  1. En primer lugar, ¡aliente esto, es una gran habilidad tener!

    Un programador de nivel de entrada puede comenzar en $ 30,000-50,000 al año, dependiendo del área. Los programadores avanzados (generalmente titulados como Ingenieros) pueden facilitar seis cifras.

  2. Todos los recursos que necesita para aprender, divertirse y seguir mejorando son gratuitos en línea. Publicaré algunos enlaces a continuación.
  3. A pesar de que la programación es divertida, los teclados y escritorios tienen un efecto negativo en el cuerpo. El joven padawan comenzó a una edad muy temprana, debe considerar algunas actividades físicas para asegurarse de que no tenga túnel de carpelo a los 16 años.

    Sugiero enérgicamente yoga, y en su forma más simple, solo haga una búsqueda en YouTube y haga 15 minutos de estiramientos todos los días que no estén en la escuela o en alguna otra actividad.

    Puede pensar que estoy bromeando (especialmente cuando tengo 14 años) pero la industria es muy ... pesada ... principalmente porque un programador se sienta en una posición y tipos. Construye buenos hábitos ahora.

Enlace de amor:

Hay MUCHOS recursos más por ahí, pero una vez que los vea, podrá encontrar más en los enlaces, etc.



0

Si él es bueno en HTML CSS y JS sin preguntar, ya tiene una habilidad especial para ello. Si quiere agudizar sus habilidades, ¿por qué no señalarlo a CodeEval ? Al completar estos desafíos, se familiarizará con el idioma que elija, y si elige el idioma múltiple mejor (los lenguajes de codificación son como los humanos después de todo, cuanto más sepa, más fácil será aprender el siguiente) )

Si es del tipo de lectura extensiva, puede obtener algunas lecturas requeridas de una clase CS101 en su universidad más cercana. Si ya puede programar, estos no estarán sobre su cabeza e incluso pueden interesarle.


Lo siento, -1. Como desarrollador profesional, no hay nada peor que alguien que piensa que el golf es algo positivo; y como alguien que enseñó programación, el golf va mucho más allá de lo que un principiante debería estar expuesto.
user3143

@ user3143 Punto, enlace de golf eliminado. CodeEval (al menos los desafíos para principiantes) son una excelente manera de aprender trucos y trabajar con algoritmos básicos.
Sidney

0

Todas las sugerencias anteriores son útiles, pero si se encuentra en una de las áreas enumeradas a continuación, puede ir al Coderdojo allí. Si no es así, y puede encontrar algunos niños y padres con mentalidad similar, podría considerar comenzar uno en su propia área. Ver detalles en https://zen.coderdojo.com/dojo

Dirijo uno en mi área de Sallins, Naas (en Co Kildare, Irlanda) y de 4 niños hace dos años, ahora tenemos más de 50 niños cada semana, de 6 a 17, todos trabajando en diferentes idiomas y herramientas, desde cero y MineCraft, a Python y PyGame, a Java, Blender, Unity, Eclipse, etc.

Espero que te las arregles para conectarte con un grupo, ya que realmente se suma a la experiencia, para poder compartir la emoción de nuestras constantes experiencias de aprendizaje y mostrar cada nuevo proyecto :-) JK


0

Comencé a programar en la escuela secundaria con el libro Game Programming for Teens . Enseña el lenguaje de programación BlitzMax . Creo que este es un buen lenguaje de programación para principiantes porque tiene una sintaxis similar al inglés y un conjunto simple de comandos para dibujar en la pantalla. Muchos otros lenguajes como Java tienen una API enorme que es un activo para los programadores profesionales, pero puede ser abrumador para un principiante. Una vez que aprende un lenguaje de programación, es mucho más fácil aprender otro, por lo que puede pasar a otro lenguaje como Java o C # cuando esté listo.


0

No puedo decir que leí todas las respuestas, pero las primeras me entristecieron mucho. VIRTUALMENTE NINGUNO de los grandes informáticos modernos (piense en Gates, Jobs, etc.) se corta el diente a un nivel de abstracción tan alto (es decir, tecnologías basadas en la web). Todos se ensuciaron con el hardware. Los gurús de cualquier equipo son casi siempre los que tienen el conocimiento más profundo de bajo nivel.

Si quiere que aprenda informática REAL y lo entusiasme, consígale los juguetes necesarios (un multímetro de buena calidad y un CRO (una buena unidad Tektronix de 50 MHz de segunda mano funcionará muy bien), una ingeniosa placa de desarrollo (Raspberry PI, Intel Edison, etc.), y haga una lluvia de ideas sobre algunos proyectos geniales para él. Algo como conectar un sensor de movimiento y enviarle una foto de su dormitorio por correo electrónico cuando se detecta movimiento. Completamente inútil, pero muy divertido y genial para mostrar tus compañeros

Una vez que obtenga el error y tenga las herramientas, sus habilidades se desarrollarán naturalmente. Lo más importante es establecerle desafíos que sean acordes con su nivel de habilidad. Inicialmente necesitará algo de mano, pero una vez que desarrolle las habilidades básicas de E / S de hardware, arquitectura de programas y cómo obtener la información necesaria para resolver el siguiente problema, no lo detendrá.


Sparkfun es un buen lugar para comenzar con este tipo de cosas. Muchos proyectos de robótica pre-enrollados. Estaba pensando en recomendar la robótica / cosas integradas yo mismo.
Tyler

0

desde mi PROPIA experiencia puedo decir que solo necesitas que aprenda por sí mismo como lo hice, comencé a ver lo que otras personas han hecho, a leer wikis, a ver tutoriales y a tratar de comprender su mecánica, y luego comencé a intentar hacerlo yo mismo y aquí estoy. También aprendí algunas cosas de codeacademy.com, fue mi fundación para html, css, javascript, php y ruby. Lo más importante de todo es que necesita darle una computadora, Internet, mucho tiempo, comprensión y, por supuesto, necesita inspiración (como su propio proyecto o algo importante para él) y NUNCA decirle cómo hacerlo si dice que SABE cómo hacerlo, ya que necesita descubrirlo todo para aprenderlo, también puede obtener un subdominio gratuito y alojamiento en http://api.hostinger.co.uk/redir/3586817(<- estoy usando eso) y no necesita ninguna herramienta especial para la codificación, ya que es más fácil de aprender cuando lo haces en el editor de archivos simples. Pero, en realidad, no hagas nada que no pida

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.