significa - the children''s store
Ambiente adecuado para un niño de 7 años (30)
¡Huye de Java! Pruebe algo diseñado para enseñar, como scratch , LOGO o PLT Scheme .
A mi hijo de 7 años le gustaría aprender, ¿cómo programar? (Su idea no es mía, y él hace cosas en el mundo exterior. Por lo tanto, no estoy demasiado preocupado desde ese punto de vista. Él ya fue tan lejos como para sacar un libro de programación de juegos de mi oficina para leer a la hora de dormir. ) El otro día nos sentamos y escribimos un juego de adivinación de números muy simple (eliges 8 y es correcto, cualquier otra cosa está mal).
Salió bien, pero había varias preguntas basadas en la sintaxis del lenguaje. (Casualmente elegí Java porque tenía el IDE abierto en ese momento). Enseño cursos introductorios de programación introductoria así que esto me abrió los ojos un poco (la mayoría de los estudiantes que terminan la escuela secundaria son reacios a hacer preguntas) como Realmente tuve que descubrir cómo explicar la sintaxis a un niño de 7 años.
Claramente, cualquier lenguaje de tipo C tendrá los mismos problemas, al igual que la mayoría de los "idiomas". Miré a Squeak pero decidí no usarlo todavía. Miré el entorno de Alice pero tampoco me gustó esto.
Desde un punto de vista físico, se siente cómodo con un teclado / mouse y puede armar conjuntos de Lego con relativa facilidad (por lo que seguir instrucciones con un resultado divertido funciona para él). Tengo acceso a Lego NXT pero todavía es un poco joven para eso (lleva demasiado tiempo ver los resultados del trabajo, incluso con el entorno gráfico suministrado).
Idealmente, me gustaría que la experiencia lo ayudara a desarrollar confianza en matemáticas y lógica (si un niño de 7 años tiene lógica :-).
Recuerdo usar gráficos / logo de tortuga cuando era niño. Me inclino por esto, pero me pregunto si hay alguna otra idea o si alguien puede recomendar un buen entorno de logotipo.
Editar 1:
Logo funciona bien. Tendré que enseñarle el concepto de ángulos (90 grados, 180 grados). Desafortunadamente, ellos realmente no hacen divisiones en la escuela, así que los ángulos pueden ser divertidos ...
Primero dibuja un cuadrado:
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
En algún momento más tarde entraré en loops:
REPEAT 4
[
FORWARD 50
RIGHT 90
]
Y luego variables:
make "length 50
REPEAT 4
[
FORWARD :length
RIGHT 90
]
Esto funciona muy bien. Prácticamente sin sintaxis, fácil para que un niño de 7 años recuerde el vocabulario y comentarios inmediatos.
Editar 2:
Bueno, fue un éxito, ya que fue capaz de escribir un programa simple (sin bucles todavía) mientras yo estaba fuera de la habitación. De hecho, funciona muy bien: salimos y llegamos a un papel cuadriculado y un transportador, recorrimos ángulos de 90 grados, e hizo un montón de cuadrados, convirtió un cuadrado en un rectángulo y llegó a ver dónde salió mal y cómo depurarlo Recomendaría este enfoque para cualquier persona con un niño de 7 años que esté interesado en la programación. Creo que también lo recomendaría a mis estudiantes de post-secundaria (!)
¿Por qué no volver a los días de QBasic? Ese es el primer idioma que aprendí (en realidad era GW-BASIC, pero eso no viene al caso).
La sintaxis es mucho más fácil de entender (aunque sea voluble y a veces francamente frustrante). No enseña nada OO, pero eso es probablemente sobre su cabeza de todos modos, ya que hubiera sido mío.
Este sitio también puede ser de interés.
Aprendí cómo programar cuando tenía 10 años exactamente de la misma forma en que le enseñaste a tu hijo. Mi padre usó el intérprete de GW-Basic que venía con nuestra PC6300 de AT & T, y escribimos un juego en el que la computadora le hacía una pregunta, y usted tenía que responder A / B / C. La gran ventaja de la sintaxis en GW-Basic era que no tenía declaraciones de varias líneas. Es posible que desee probar algo similar. Java, con sus llaves, podría ser un poco difícil.
Código de ejemplo:
10 PRINT "What color is Big Bird?"
20 PRINT "A. Blue"
30 PRINT "B. Green"
40 PRINT "C. Yellow"
50 INPUT$ ANSWER$
60 IF ANSWER$ = "C" THEN PRINT "Good Job!" ELSE PRINT "Oops, wrong answer!"
Pasé horas y horas usando varias permutaciones de esa sintaxis y escribiendo mis propios "juegos". Y me hizo querer aprender más ... podría ayudar.
Creo que Python podría adaptarse a tus necesidades. Es bien conocido por ser más fácil de aprender que muchos otros idiomas y el intérprete interactivo permite a los programadores ver de inmediato lo que sucede cuando se ejecuta un fragmento de código. La GUI IDLE que viene con ella es fácil de usar. También tiene un módulo de tortuga a través de TKinter.
Cuéntale sobre los analizadores. Solo necesita agregar contexto y razonamiento a por qué existen las cosas. Las llaves son para que la máquina que lee el código sepa dónde comienzan y se detienen las cosas.
Encuentro que la mayoría de las personas, incluidos los niños, recogen cosas fácilmente siempre que explique el propósito de ellas. Es por eso que la escuela fue un fracaso terrible para mí, nadie explicó el punto de aprender la mitad de las cosas.
Dos pensamientos vienen a la mente:
- A mi hijo de 3 años le encanta jugar World of Goo conmigo. Todavía no puede resolver los problemas, pero puedo ver que está absorbiendo mucha información.
- Intenta con Alice . Mi hijo es demasiado pequeño para probar esto, pero una vez que sea mayor lo intentaremos si está interesado. FWIW aprendí sobre este programa después de ver The Last Lecuture por Randy Pausch (RIP)
En el desarrollo, es poco probable que un niño de siete años comprenda los fundamentos de la sintaxis incluso en su lenguaje hablado.
Cualquiera que sea el idioma o entorno que utilice, recomendaría centrarse en la idea de programar como jugar en lugar de en la capacidad de escribir programas reales. Con este fin, algo que puede ejecutarse desde una línea de comandos y ver resultados inmediatos, como Python o, para una experiencia más gráfica, Silverlight, probablemente sería lo mejor.
En realidad, hay un intérprete de Logo basado en navegador en Javascript.
Estaba escribiendo programas del libro "BASIC Fun" cuando estaba en segundo grado.
Recuerdo claramente que los conceptos de bucles infinitos e INPUT A $ eran como descubrir la gravedad. Heady cosas.
Autodidacta, mi progreso fue glacialmente lento, aunque llegué a un punto en un programa en el que deseaba que GOSUB tomara argumentos variables, lo que en retrospectiva significaba que entendía los indicadores de función.
Mis primeros objetivos incluyeron escribir programas LONG. Un programa extenso no es un mal objetivo para un niño de 7 años porque un programa con una especificación bien definida hace que el riesgo de fracaso sea demasiado alto. Cualquiera puede escribir un programa largo y sentirse bien y aprender mucho en el camino.
Había todo un género de libros para programar en BASIC para los tipos de los 80. Esa cosa es una gran fuente de ideas de programación. Sin embargo, yo no recomendaría usar BASIC incluso para un niño de 7 años: lua tiene la sensación simple de BASIC pero no es basura.
Estoy totalmente en desacuerdo con las personas que dicen que los niños de siete años tendrían dificultades para aprender una nueva sintaxis. Esto es completamente al revés. Intenta enseñar pig latin a un niño de siete años que no habla inglés. O intente viajar en un país extranjero con sus hijos. Vea quién puede conversar con fluidez con los nativos después de un mes (sugerencia: probablemente no sea usted).
Los niños recogen las convenciones lingüísticas arbitrarias mucho más rápido que nosotros, los pelos grises.
Estoy un poco desgarrado por Alice.
Por un lado, es bueno tener un marco donde se pueda programar con gratificación visual directa. Esta es realmente una buena idea.
Por otro lado, creo que es una muy mala idea tener un programa para principiantes exclusivamente con arrastrar y soltar. Me temo que esto incluso podría llevar a una especie de analfabetismo, donde no pueden producir un código escrito correctamente cuando se quita la interfaz de arrastrar y soltar.
Estuve involucrado en un curso de computación de primaria con Stagecast . Este es un lenguaje de programación gráfica diseñado para niños. Lo encontré un lenguaje introductorio ideal porque es gráfico e interactivo. No requiere lectura o matemática, funciona en Windows y Mac OS, y es ideal para juegos simples para que los niños estén motivados para aprender.
Haga que revise http://scratch.mit.edu . Mi hijo de siete años está aprendiendo esto mientras tecleamos ...
Hay un libro llamado Aprender a programar desde pragmático que está dirigido a personas que nunca han programado antes y que podría no ser extremadamente técnico.
Utiliza Ruby, que puede ser bastante fácil de aprender para las personas nuevas.
Hubiera buscado uno de los muchos motores de juegos de arcade y dejarlo jugar con eso. Elija uno donde necesite usar bucles y condiciones, y tal vez algunos procedimientos.
Leí esta publicación el día de hoy y luego, accidentalmente, fui a YUP.com y descubrí
Enseñando a los niños a hackear (programa) con Hackety Hack
Imaginé que lo publicaría como un recurso adicional para cualquiera que mire esta pregunta.
Me interesé en la programación cuando me presentaron el lenguaje de Turing en la escuela secundaria. Turing se usó como un lenguaje de enseñanza en muchas escuelas en ese momento, y me fue muy útil introducir conceptos de programación. Aquí está una descripción de Turing de WikiPedia
Turing es un lenguaje de programación similar a Pascal desarrollado en 1982 por Ric Holt y James Cordy, en ese momento de la Universidad de Toronto, Canadá. Turing es un descendiente de Euclid, Pascal y SP / k que presenta una sintaxis limpia y una semántica precisa independiente de la máquina.
El nombre del científico informático británico Alan Turing, Turing se utiliza principalmente como un lenguaje de enseñanza en la escuela secundaria y el nivel universitario. Existen otras dos versiones, Turing orientada a objetos y Turing Plus, una variante de programación de sistemas. En septiembre de 2001, "Turing orientado a objetos" pasó a llamarse "Turing" y el Turing original pasó a llamarse "Turing clásico". Turing está disponible en Holt Software Associates en Toronto.
Las versiones para Microsoft Windows, Linux y Apple Macintosh están disponibles. Turing todavía se usa ampliamente en las escuelas secundarias de Ontario como introducción a la programación.
En noviembre de 2007, Turing, que anteriormente era un lenguaje de programación comercializado, se convirtió en freeware. A partir del 28 de noviembre de 2007, estaba disponible para su descarga gratuita en el sitio web de Holt Software para uso personal, comercial y educativo. WikiPedia
Microsoft tiene un par de esfuerzos interesantes que parecen un buen ajuste:
popfly: http://msdn.microsoft.com/en-us/devlabs/cc950523.aspx --- "Popfly incluye una forma simple de crear y compartir juegos con tus amigos. Elige entre una variedad de plantillas integradas o comienza desde cero para crear un juego de desplazamiento lateral, un shoot-em-up en 2D o una serie de otros. Y lo mejor de todo, puedes comenzar sin escribir una línea de código "... Creo que realmente puede ayudar a sentirse motivado :)
- smallbasic: http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx --- se supone que debe ser simplificado pero con soporte de Intellisense + .NET framework (la breve descripción es demasiado comercial, así que no pegué) esto: P)
No busques más, en realidad hay una plataforma / sistema de aprendizaje completo diseñado para este propósito: Sugar .
El sistema operativo OLPC (One Laptop Per Child) llamado Sugar ahora está disponible para el público en general y puede ejecutarlo como una VM en todos los sistemas operativos principales, como Mac, Windows y Linux.
Descargue una copia en Sugar Labs .
Una actividad interesante incluida se llama TurtleArt, una versión mejorada de Logo del siglo XXI. También tiene una versión amigable para niños de un IDE de Python llamado Pippy. En realidad, ¡enseña a los niños Python!
Ver TurtleArt y Pippy y las otras actividades que se encuentran en Sugar.
Alan Kay estaba detrás de algunos de los conceptos novedosos de Sugar OS, que en realidad es una encarnación moderna de su visionario DynaBook. Incluso como adulto (que es ingeniero), me resulta divertido jugar con él.
Y si amas a Sugar como máquina virtual, incluso puedes comprar el hardware y al mismo tiempo ayudar a un niño pobre en otro lugar del mundo.
Engadget explica: el programa OLPC XO Buy-One, Give-One en marcha
Como una bonificación para nosotros los adultos , Sugar se deriva de Fedora. Entonces es un sistema operativo basado en Linux real y completo. Debería ser divertido hackear. ;-)
Personalmente, creo que los fundamentos de las operaciones aritméticas y la lógica booleana son más importantes para enseñarle primero al niño. Después de que hayan captado estos conceptos, creo que pasar a los constructos básicos es apropiado. Simplemente no veo cómo un niño puede entender condicionales y bucles sin lógica booleana, pero, de nuevo, hay algunos niños muy brillantes por ahí :)
Suponiendo que se cumple la declaración anterior, tendría que emitir mi voto para Python.
Podría lanzar Lego™ Mindstorms™ como una posibilidad. Utiliza un lenguaje de programación gráfica basado en LabView.
Pruebe http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx , que tiene un lenguaje mini-BASIC y simplificado para la gente más joven.
Scheme es agradable y sintácticamente similar a Logo, en lo que respecta a la simplicidad. También Scheme ofrece una forma muy intuitiva de entender la recursión y retomar este tipo de conceptos fundamentales en informática que desde el principio no son más que buenos y más buenos.
UCB Scheme también ofrece mucha funcionalidad incorporada para manipular oraciones, lo que puede tener más sentido para un niño de 7 años que construir polígonos y resolver acertijos numéricos (¡no quiere decir que el cielo sea el límite!).
Si bien parece que se está rediseñando, todavía puede obtener la versión anterior de Hackety Hack , que es un kit de programación de ruby diseñado por _why para adolescentes y programadores principiantes.
También puedes usar el emulador Commodore 64. Empieza desde BASIC.
Yo diría que use visual basic o algo similar donde no tenga que preocuparse por sintaxis, llaves, etc. Estaba programando a las 7, pero estaba en LOGO y C64 Básico. ODIO LOGO ... fue tan frustrante para mí que una de las "grandes" cosas que podía hacer era moverse alrededor de una tortuga estúpida. Sin embargo, C64 Basic (para mí) fue genial ... una vez que lo tuve (un par de años) me emocionó aprender a ensamblar C e incluso C64.
Scratch es otro. Desarrollado en MIT específicamente con el propósito de enseñar programación a niños.
El sistema Squeak Smalltalk es una implementación de Smalltalk de la que he oído hablar mucho cuando se trata de educar a los niños en la programación. El proyecto Etoys supuestamente contiene muchos recursos para mantener la experiencia de aprendizaje divertida y motivadora.
Etoys es quizás lo que estás buscando. Es un sabor en parte gráfico de smalltalk hecho solo para niños. Esto es utilizado por el proyecto olpc.