Pregunta

¿Qué lenguajes y herramientas considerar un joven de empezar en la programación debe utilizar en la era moderna?

Muchos de nosotros empezamos con propiedad de lo Basico y no hacer todo de nosotros a largo plazo daño :) pero teniendo en cuenta las experiencias que ha tenido desde entonces y su conocimiento del dominio ahora hay mejores opciones?

Hay consultas relacionadas a esta como "Mejores maneras de enseñar a un principiante para el programa?"y "Un consejo"sobre el inicio de los adultos de programación tanto de los que he enviado las respuestas, pero los niños pueden requerir una herramienta diferente.

Divulgación:es sangrienta difícil la elección de una 'correcta' como respuesta a una pregunta como esta, de modo que siempre tiene la mejor puntuación en un par de días, será la "mejor respuesta" marca de mí basados en las comunidades elección.

¿Fue útil?

Solución

Yo sugeriría LEGO Mindstorm, que proporciona una interfaz intuitiva de arrastrar y soltar interfaz para la programación y porque viene con el hardware proporciona algo tangible para que un niño alcance.También, porque es "LEGO" se podría pensar en esto como un juego, a continuación, un ejercicio de programación.

Otros consejos

Mi día de trabajo es en una escuela, y en los últimos años he visto o enseñado (o intento de enseñar) a varios niños, en varios números, programación de clases.

Los niños son todos diferentes, algunos aprenden rápido, algunos no lo son.En particular, algunos tienen mejores habilidades de alfabetización de los demás, y que sin duda hace una diferencia en la velocidad a la que van a recoger la programación.Apuesto a que la mayoría de nosotros aquí, como profesional de los programadores de computadoras y el tipo de gente que lee y publica en los foros para la diversión, aprendió a leer a muy temprana edad.Para aquellos tipos de niños, y si es su propio hijo que usted puede enseñar a uno-en-uno, usted podría hacer peor que JavaScript tiene la ventaja de que puede hacer algo real con él de inmediato, y la edición, el ciclo de pruebas es simplemente pulsar "actualizar" en el navegador.Las cosas se complican cuando empiece a ejecutar en cómo JavaScript hace todo de forma asíncrona, y es difícil de depurar, pero para un brillante niño de menos de cierre de matrícula de estos problemas se pueden superar.

LEGO Mindstorms es, definitivamente, hasta que en la parte superior de la lista.La mayoría de las escuelas ahora super-pegamento de los ladrillos juntos para crear pre-hechos de los modelos que no tienen bits de muescas fuera de ellos, pero esto no debería ser un problema en casa.En el Times Educational Supplement sitio (sitio web del foro para el reino unido semanal de la enseñanza de periódico), el "¿qué lenguaje de programación es mejor para los niños?" tema viene con bastante regularidad.Muchas de las recomendaciones allí para Scratch como una alternativa a la Mindstorms - algo más de libertad de Mindstorms, probablemente mejor que el más brillante estudiante que también podría ser dado un soldador.

He encontrado que el más lento de los alumnos todavía puede tener problemas con el Mindstorms, aunque el entorno de programación es "gráfica" - todavía hay mucho que hacer en la pantalla, y hay un poco justo para recordar (esta era una versión más antigua, la mente - no he probado el llamativo nuevo uno).En mi experiencia, la mejor de toda la ronda de introducción a la programación es probable que aún con LOGOTIPO - en realidad bastante más potente lenguaje de la mayoría de la gente le dan crédito por.El original Mindstorms libro de Seymour Papert (nada que ver con LEGO - se desarma el título de el libro de su producto), uno de los creadores del LOGO, es la canónica de referencia para la enseñanza de la programación a los niños como una "habilidad de pensamiento" y por el concepto de El construccionismo en el aprendizaje.

Hemos tenido clases de 7 u 8 años de programación LOGO.Tenga en cuenta que nosotros no somos el objetivo de hacer de ellos "los desarrolladores de software", que es una carrera que puede decidir en algún momento posterior a los 16 años.En una edad joven, estamos tratando de llegar a pensar en el "equipo de programación" como un instrumento más - cómo definir un problema a ser resuelto por un ordenador, en la misma forma en la que podría utilizar un mapa mental para ayudarles a organizar y recordar cosas para un examen.Ningún pobre niño debe estar sentado y se introduce en la presencia y el uso de un idioma en particular, deben estar a la izquierda para explorar y figura de las cosas, como les gusta.

Voy a segundo de Geoff sugerencias de Phrogram (que solía ser KPL), y Alice.

Mi única otra sugerencia es Lego Mindstorms NXT.El NXT del lenguaje de programación es arrastrar-y-gota, es muy fácil de usar, y puede hacer algunas muy complicadas tareas una vez que se aprende.También los muchachos generalmente gusta ver como se mueven las cosas.:)

He usado Alice y NXTs con algunos niños jóvenes, y se han llevado muy bien.

Hay dos posibilidades:

Cero - desarrollado en el MIT - http://scratch.mit.edu/

y

EToys de Una Laptop por Niño " fama - http://wiki.laptop.org/go/Squeak

La divulgación completa:Yo soy uno de los chicos que se inventó el Chico del Lenguaje de Programación, que es ahora http://www.Phrogram.com, que otros han recomendado aquí.Permítanme añadir algún programador orientado a la información.

Es un código de IDE, en lugar de arrastrar-y-gota, o diseñador.Esto fue intencional por nuestra parte, hemos querido que sea fácil y divertido para hacer real la programación basada en texto, especialmente programación de juegos y gráficos.Esta es una diferencia fundamental entre nosotros y Alice y Arañazos.El que usted elija, es una cuestión de el niño, su edad y aptitudes, de sus metas.El uso de ellos en serie con el mismo principiante puede ser una gran manera de ir - si haces eso, yo recomendaría Scratch, Alice, Phrogram como el orden.Phrogram ha funcionado mejor para 12 años en adelante, pero sé que los papás con 6 años de edad que han enseñado a sus hijos con él, y sé de 10 años de edad que han enseñado a sí mismos con ella.

El lenguaje es tanto como el inglés que podría hacer, y es tan mínima como la que podría hacer.El secreto de la salsa está en la clase de objetos basado en jerarquía, en tanto que es tan simple, intuitiva y de estilo inglés, como podríamos hacerlo.El objeto de jerarquía está optimizado para juegos y gráficos.Los modelos 3D están disponibles, y los sprites 2D.Movimiento absoluto el uso de las coordenadas de pantalla es compatible, o movimiento relativo ala LOGOTIPO de tortugas - Forward(x), Izquierda(y).

El IDE viene con más de 100 ejemplos, algunos ejemplos (bucles), algunos ejemplos de aprendizaje (matrices), algunos totalmente funcional y juegos de los sims (Pong, Missile Command, Juego de la Vida).

Para dar una idea de lo altamente apalancadas hicimos el idioma y el IDE:con 27 de las instrucciones que usted puede volar una nave espacial en 3D del modelo en torno a un skybox 3D, utilizando el teclado.Lo mismo con un sprite 2D es de 12 a 15 instrucciones.

Estamos trabajando en una Hoja de una versión compatible de Phrogram que permitirá la ejecución de programas en la XBox 360.Sí, la XBox, en su gran TV.Buen motivador para conseguir un chico empezó?:)

Phrogram incluye soporte para la clase de programación, con métodos y propiedades - pero eso es sólo la encapsulación, no por herencia o polimorfismo.

Un tutorial y guía del usuario está disponible,

Mi propio ebook está disponible en Amazon y en otros lugares en línea, "Aprender a programar con Phrogram!," y consigue un principiante comenzó con la programación del clásico Pong.

Phrogram de Programación para el Principiante Absoluto, por Jerry Lee Ford, Jr., también está disponible, como un libro de bolsillo, en Amazon y en otros lugares.

Para un niño, me gustaría ir con Alice.Cualquier chico va a gustar la arrastrar-y-gota de interacción que Alicia utiliza mejor que tratando de recordar cómo deletrear y el uso de cualquier lenguaje de programación.Él/Ella va a aprender las estructuras básicas de programación (condicionales, bucles, etc.) y la experiencia de la diversión de la construcción de un animado programa que puede mostrar a otros familiares o amigos.

Un principiante CS de la clase en un colegio comunitario local utiliza realmente Alice para enseñar programación en un lenguaje independiente de la forma.Proporciona una buena base para avanzar en la programación en un lenguaje particular (o un par de idiomas) hacia abajo de la carretera.

Hace poco vi una presentación sobre GreenFoot (una basada en java entorno de aprendizaje para los niños).Parecía increíble.Si me gustaría tener hijos, yo le daría una oportunidad

Enlace a la presentación

Es un ambiente lúdico, donde se podría empezar con muy básico de los métodos.Los niños aprenden a pensar en una manera orientada al objeto (no se pueden crear instancias de un animal, pero se puede crear una instancia de un gato).Y el mejor de ellos, más de Java puede descubrir para/con ellos.

Me gustaría ir con Cero, algunos puntos al respecto.

  • Es un lenguaje de programación gráfica.No se basa en el texto (esto podría ser positivo o negativo).Hace más intuitiva y fácil para los niños (7 y arriba).
  • Es en realidad altamente objeto.Los objetos que escribir estos gráfica de secuencias de comandos tienen el código adjunto a ellos y pueden ser reutilizados y se mueven alrededor.
  • Muy Importante:rápida y con resultados impresionantes.Los niños necesitan ponerse en marcha rápidamente y obtener resultados con el fin de conseguir enganchado.

Me gustaría señalar que a pesar de que muchos de nosotros empezamos a programar en una edad joven en basic o logotipo y porque programador más tarde en la vida no significa que esas son buenas idiomas para empezar.Creo que los niños de hoy tienen mucho mejores opciones, como arañazos o Alice.Texto basado en los lenguajes (python, ruby, basic, c# o incluso c) dependen de las bibliotecas externas y herramientas (editores, compiladores), mientras que algo como Alice o cero es de todo incluido y le enseñan a los niños (no destinadas a adolescentes) los conceptos de programación.Más tarde se puede mover y ampliar su aprendizaje.

Echa un vistazo Phrogram (anteriormente KPL) y Alice

Yo diría que:dar al niño un C64 real, porque así es como empecé.Pero, a día de hoy...Yo diría que Ruby, pero Ruby es un poco caótico.BÁSICA sería mejor en el largo plazo.El procesamiento es fácil de aprender, y es básicamente Java.

La razón por la que recomendamos un C64 es porque es BÁSICO, pero usted todavía tiene que aprender ciertas relacionados con el equipo de las cosas, como el modelo de memoria, los píxeles, los personajes, los mapas de caracteres, saltos de línea, etc.etc, si quieres hacer cosas más avanzadas.También, si su niño se encuentra aburrido, usted sabe que su corazón no está realmente en la codificación.

Me gustaría tono LOGOTIPO.Era algo que se enseña en mi escuela primaria.Se da casi retroalimentación inmediata, y enseñará a los realmente conceptos de programación básicos.Movimiento que la pequeña tortuga, todo puede ser un montón de diversión.

Para un niño, me gustaría ir con Alice.

Aquí hay otro voto para Alice.Mis 4 hijos han tenido un montón de diversión de trabajar con él y aprender los conceptos básicos de la programación.Por supuesto, para ellos es todo acerca de la socialización con las hadas y ogros, pero diablos el maldito legado de sistema de trabajo en podría utilizar un poco de faries y ogros demasiado.

Yo recomiendo python, porque es tan conciso y expresivo.Parece menos probable para frustrar al empezar a trabajar, pero ofrece un montón de espacio para aprender los conceptos más avanzados así.

Game Maker podría ser otro enfoque.Usted puede iniciar simple con fácil de arrastrar y soltar de desarrollo, y, a continuación, introducir más avanzadas de programación a medida que avanza.El libro El Creador del Juego del Aprendiz:El Desarrollo del juego para Principiantes tiene un número de muestra de juegos y te lleva a través de los pasos necesarios para hacer de ellos.

Creo que python es una buena alternativa;es un lenguaje muy poderoso también usted puede fácilmente hacer un montón de cosas (no es aburrido en absoluto).

Checkout Squeak desarrollado por Alan Kay que piensan de programación debe ser enseñado en edades tempranas.

¿Cuántos años?A muchos de nosotros se quedó mirando con los BÁSICOS en algún momento, pero antes de eso, aprendí los conceptos de encadenar comandos juntos, variables, y en bucle con el LOGO.Averiguar cómo dibujar un círculo con un triángulo que sólo puede ir en línea recta y a su vez, fue mi primer logro de programación.

Editar:Esta pregunta y sus respuestas me hacen sentir viejo.

Aunque _why no ha dado para mucho amor en el último año o así, por un tiempo, yo estaba muy emocionado Hackety Hack.Creo que la clave para la mayoría de los nuevos programadores, especialmente los niños que son más de apt a perder interés en las cosas, es retroalimentación instantánea.Que fue el que realmente cosa maravillosa acerca de Hackety Hack:un par de líneas de código, y de repente usted tiene algo en frente de usted que hace algo.Hay un par de aplicaciones similares destinados a cosas como dibujar gráficos (uno de los cuales, brevemente asistido por Nathan Weizenbaum en, Garabato!).Los niños simplemente la necesidad de retroalimentación positiva que se está haciendo algo correcto sobre una base regular, de lo contrario no hay nada para mantenerlos interesados en la tarea a mano.Lo que creo que el futuro es para enseñar a los niños a programar es algún tipo de DSL construido en la cima de un lenguaje con sintaxis amigable (estos incluyen, sin duda, Ruby, Python, y el Esquema), cuyo propósito es proporcionar un entorno intuitivo para la construcción de juegos simples (por ejemplo, Tic-Tac Toe, o Ahorcado).

Creo que debería empezar en C.Cuanto más rápido se puede conseguir la caída de los punteros de la mejor.

Ver La Comprensión De Los Punteros y Debo aprender C.

Creo que la primera pregunta es:¿qué tipo de programa sería interesante crear?Una de las cosas que empecé con la programación como un niño (en la BBC basic y, a continuación, QBasic) fue la facilidad de la escritura de programas gráficos.Yo podría escribir un par de líneas de código y ver a mi programa de dibujar una línea en la pantalla de inmediato.

Lo más cercano que he visto a ese tipo de simplicidad recientemente son los la biblioteca pygame para python y Procesamiento de, un conjunto de bibliotecas de java con el IDE.

Me imagino que la piratería en las páginas web sería otra buena manera de empezar:lo que supondría HTML, Javascript (el uso de una biblioteca como jQuery), quizás PHP o algo a lo largo de esas líneas.

Las herramientas que proporcionan, lo importante es que sea fácil para empezar de inmediato.Si usted tiene que escribir veinte líneas de código correcto y averiguar cómo invocar el compilador antes de ver resultados tangibles, el progreso va a ser lento.

Hay muchas buenas sugerencias aquí ya.Estoy muy de acuerdo con Kronikarz.Obtener un retro de ordenador (o emulador) que usted está interesado en y enseñar con eso.¿Por qué un retro equipo?Básico es construido en.Hacer sonidos primitivos y gráficos es una tarea trivial.La oferta real podría ser mejor que un emulador porque va a ser un poco más fascinante para un niño que está acostumbrado a ver sólo los dispositivos modernos.

Como ya he dicho aquí, Me gustaría ir para Squeakland y el famoso Conducir un Coche ejemplo (powered by Squeak).

Smalltalk sintaxis es simple, lo que es genial para los niños.

Y más tarde, a medida que el niño evoluciona, él puede aprender más complejo y hasta muy avanzados los conceptos que están también en Squeak (por ejemplo.programación statefull webapps con automatizada de refactorización y pruebas unitarias automatizadas!).

Y al igual que @cpuguru y @Rotem dijo, Cero (también basado en Squeak) es demasiado grande.

Creo que Java puede ser una buena opción, simplemente porque usted puede hacer GUIs fácilmente, y ver "cosas interesantes" sucediendo.Por la misma razón, tal vez alguno de los .NET languages.También he oído cosas buenas acerca de lenguajes de scripting (Ruby y Python, especialmente) para llevar a los niños a aprender a programar.

Bueno, si son jóvenes y no han aprendido el ABC usted podría tratar de ellos en BF - no de esos molestos letras y números para tratar con.

Voy a conseguir' abrigo.

Skizz

Me gustaría ir con lo que yo deseo que yo había conocido en primer lugar:un simple cuadro de MS-DOS y el integrado ensamblador (debug).Es ideal para realmente aprender y comprender los conceptos básicos de hablar a un ordenador.

Si eso no asustar a un niño, entonces me gustaría ir al "siguiente nivel" e introducir C.Esto no debería ser difícil dado que el concepto básico de indicadores, registros e instrucciones que, en general, son conocidos por entonces.

Sin embargo, no estoy del todo seguro, a dónde ir.Dar el gran salto a Lisp, Haskell o similar abstracta de idiomas o debe haber algunos sencillos lenguajes orientados a objetos (tal vez incluso C++) ser lanzado en, o sería más daño que ayudar?

Mirando a Alice, yo lo veo es "diseñado para estudiantes de secundaria y universidad".No parece haber otro idioma/versión llamada La Narración De Una Historia De Alice que "está diseñada para estudiantes de escuela media"

Alice Página De Descarga

Creo Contexto De Arte Libre podría ser una buena opción, con la salida de los gráficos, se hace un montón de diversión aprendiendo acerca de gramática independiente del contexto.

Tratar de [Guido van Robot][1].Es una excelente introducción a la robótica, y es una gran manera de introducir a los niños a la programación de lado de las cosas (vs "la construcción de los robots" en el lado).

No fue Smalltalk diseñado para tal propósito?Creo que Ruby sería una buena opción, como descendiente de Smalltalk.

Sé que en los primeros años de la escuela secundaria nos habían enseñado a' en el Logo, y extrañamente, HTML.Después de eso, la progresión fue a macros en MS Office, seguido por VBA básico, seguido por Visual Basic.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top