Fui voluntario para sentarme y hablar sobre la vida y el trabajo de un Desarrollador con un estudiante de 15 años de experiencia laboral la próxima semana.
Las capturas son que
- Solo tengo media hora, y
- Seré solo una de las personas que hablará con ella: otras personas en diferentes roles en el negocio también estarán revisando los elementos de sus trabajos con ella durante todo el día.
¿Qué debería cubrir, y qué demonios puedo esperar enseñarle en solo media hora?
Supongo que probablemente no tenga experiencia con el desarrollo o la programación.
teaching
profession
Dexter
fuente
fuente
Respuestas:
Interactúo mucho con los estudiantes de secundaria, por lo que respondo esta pregunta con bastante frecuencia. Tenga en cuenta que los niños de 15 años son mucho más fáciles de explicar la programación que los de 50 años, por lo que no necesita tonterías ni utilizar analogías descabelladas.
Normalmente comienzo con ejemplos de qué programas son:
Después de eso, generalmente explico que codificamos programas en un lenguaje formal que la computadora puede reconocer, a menudo escribiéndolos en algo tan simple como el Bloc de notas. Los idiomas parecen un cruce entre las matemáticas y el inglés, que describen conceptos y dan fórmulas e instrucciones para que la computadora las siga.
Luego, generalmente me preguntan si estoy en la computadora todo el tiempo, si es por eso que siempre estoy en Facebook y por qué mis ojos aún no se han puesto mal. Los chicos preguntan si sé cómo "hackear personas", y las chicas preguntan si es buen dinero o cuántas chicas hay en las clases de informática.
Después de eso, si todavía están interesados, generalmente comienzan a hacer preguntas específicas que son mucho más fáciles de responder (o al menos a Wiki): cosas como cómo harías un juego, cómo funciona Windows Messenger, etc.
Si tiene una computadora cerca, puede mostrar y decir algo de código, algo que tendría efectos tangibles, como un controlador de clic de botón desde el cuadro de diálogo de configuración en Firefox, el bucle principal o el código de física en un motor de juego, algunos Fuente de JavaScript de un sitio web, etc.
fuente
Se lo expliqué a mi hijo de cinco años con lo siguiente:
Yo: "¿Sabes cómo, en las historias, la gente dice palabras mágicas y cambia las cosas en el mundo?"
Ella: "¿Sí?"
Yo: "Eso es la programación de computadoras".
Ella (en voz baja): "Wow".
15-30 minutos no son suficientes para explicar algo real, y explicar la complejidad subyacente es una forma segura de hacerlos correr gritando. Trabajas en él todos los días, olvidas lo jodidamente genial que es. Ninguna otra profesión en el mundo crea cosas funcionales con nada más que palabras ... En algún momento, todos los demás tienen que salir al mundo de la carne y comenzar a golpear las cosas con un martillo. Esa es la única forma en que pueden convertir su idea en algo que funcione.
Nosotros no.
fuente
Una persona de 15 años puede entender cualquier concepto. Yo mismo comencé a programar a los 14. (en la escuela, hace muchos años)
30 minutos es suficiente para una demostración. Muéstrele la magia de programar con algo tan extendido como un navegador.
fuente
Pasos
Como casi 15 años de edad, puedo decirle con confianza que debe tener un comienzo espectacular .
Explica cómo lo haces.
10101010
todo el día. Diles que ni siquiera sabes cómo hacerlo. ( Lie. Usted no sabe lo que10101010
significa, a la derecha;?)) Les dice que eso fue hace años.Muéstreles una muestra de algún pseudocódigo. Haz que sea fácil de entender:
Ve a través de eso paso a paso. Diles que así no es exactamente cómo se ve el código. El código se ve así
English + Math
. Pero no es difícil aprender el "idioma" (léase: sintaxis) en el que habla.Muéstreles un ejemplo con un poco más de "matemáticas", esta vez.
Explique que ese código agrega dos números juntos, como una calculadora. Muéstreles el código "real" para esto. (Asegúrese de poner la mayor parte de la interfaz de usuario y otras cosas en un archivo separado, y mantenga el archivo que les muestra corto y simple). Cámbielo a un programa de resta (cambiando el signo de
+
a-
) justo delante de sus ojos.Explique lo que necesitan saber para programar. (En varios niveles).
x + 1 = 2
, entoncesx = 1
.Términos que puedes usar
Sabemos más de lo que piensas.
Términos que debes explicar
Sí, todavía necesitamos algunas cosas explicadas.
10101010
.Términos que no puedes usar
Algunos de nosotros sabemos esto, pero por favor no lo digas de todos modos.
fuente
Si comienzas a hablar sobre cosas como procesos, patrones, requisitos y demás, ella se cerrará de inmediato. Los niños de hoy son gráficos y visualmente motivados, así que traería algo para ayudar a promover ese tipo de estímulo. Muéstrele algo elegante en la web y luego, en un nivel alto, descríbale lo que hace que eso suceda. Incluso sugeriría llevar su computadora portátil de desarrollo y hacer que ocurra algo "genial" en la pantalla: cambie el código frente a ella y luego vea cómo cambia en la pantalla. A esa edad, son MUY inteligentes y cualquier cosa visual ayudará a despertar interés.
fuente
Alice
?Hay dos grandes analogías en las que confío para explicar el trabajo de los programadores. Uno es una receta; esa metáfora es útil para explicar a pequeña escala lo que está haciendo cada línea de código. El trabajo de un programador es escribir la receta, y la computadora es la cocinera.
La otra analogía es que un gran programa es como una gran empresa. Hay un montón de departamentos diferentes que se centran en diferentes áreas y envían mensajes de un lado a otro, y todo termina cumpliendo los objetivos de la empresa. El trabajo de un programador es diseñar cómo se configura la organización, y la computadora son todas las personas de la empresa.
fuente
Yo diría que sea general. La programación y muchas otras profesiones se reducen a la resolución de problemas. Muéstrele cómo resuelve los problemas a diario. Puede contarle sobre un proyecto en el que ha estado trabajando y cómo va a ayudar a sus clientes. También incluya un poco sobre por qué (presumiblemente) le gusta su trabajo.
En mi caso, he desarrollado un sitio web de video tutorial educativo donde otros miembros del personal publican tutoriales. Explicaría sobre la motivación para el proyecto (enseñar a otros de forma remota sin tener que vincular a las personas), los problemas que enfrenté (no necesariamente tengo que verlos como problemas difíciles) y cómo los resolví. También me gustaría hablar de por qué me gusta programar en primer lugar: me gusta crear cosas y la contribución de la programación al mundo moderno.
fuente
Dale ejemplos de software en el que hayas trabajado. ¿Tiene un cliente que usa públicamente su software? ¿Desarrollas una aplicación interna que puedas mostrarle? Muéstrele el resultado final de su trabajo, lo que ve y usa el usuario final.
Luego, explique que ayudó a escribirlo. Repasa las partes que escribiste. Muestra un código si puedes. Describa cómo esas líneas de código hacen que parte de la aplicación funcione.
Hable sobre cuánto disfrute al ver que las personas usan su código.
Así es como se lo expliqué a mi primo de 14 años de todos modos. Estaba bastante impresionado y decidió tomar una clase de programación el próximo trimestre.
fuente
¿Conoces el juego de mesa Robo Rally?
He descubierto que es la analogía divertida perfecta para la programación. Básicamente, está programando su robot usando comandos simples (flechas en su mayoría) para llegar a un cierto lugar en el tablero de juego antes que los demás.
Hombre, desearía tener mi BigTrak ...
fuente
Muestra algo simple, pero útil. Un buen ejemplo creo que sería el siguiente:
Las razones por las que me gusta este enfoque son:
Puede pensar en mejores ejemplos, pero creo que el estilo es útil para una "primera introducción".
fuente
La mayoría de los jóvenes de 15 años "en estos días" tienen mucha experiencia con las computadoras. Me gustaría tener un enfoque más práctico. Le mostraría un poco de código (no trate de explicarlo en detalle, pero tal vez cubra los conceptos básicos extremos del "flujo") y le muestre cuál es el resultado. Incluso HTML funcionará para este tipo de ejemplo. Luego diga "Todos los días, básicamente hago eso ... excepto con decenas de miles de líneas de código y un programa muy grande y complejo".
Luego explique qué tipo de problemas resuelve programando y por qué le gusta hacerlo. Por ejemplo, diría que me gusta la programación porque "Me encanta ver que mi código cobra vida en la computadora como una aplicación"
fuente
En primer lugar, tienes competencia que necesitas desacreditar.
Las películas, la cultura popular e incluso las personas en el campo ( y esta pregunta ) intentan retratar la programación (y la mayor parte del campo de la informática) como algún tipo de magia.No es magia
La programación es simplemente describir tareas y luego combinar esas tareas para resolver un problema. Si está tratando de encontrar un paralelo, use las matemáticas. Una computadora es como un maestro de matemáticas que requiere que muestres todo tu trabajo .
Desde un punto de vista físico, las computadoras no son inteligentes, solo saben tanto como les decimos. Entonces, cuando un programador de computadoras quiere crear un programa que, por ejemplo, reproduce música de un CD, "simplemente" necesita decirle a la computadora cómo leer los datos almacenados en el CD, luego cómo convertir esos datos en ondas de sonido y, por último, , cómo emitir esas ondas de sonido desde sus altavoces.
Llevando esta idea al siguiente nivel, puedes continuar sobre cómo la programación construye tareas una encima de la otra. Al igual que él / ella tuvo que aprender aritmética antes de que pudieran aprender álgebra en matemáticas, las computadoras también necesitan que se les diga cómo 'hacer lo básico' antes de que pueda decirles cómo hacer tareas más complejas. Con los años, los informáticos y los programadores han podido "enseñar" a las computadoras lo suficiente como para poder comenzar a "hablarles" mucho más cerca de cómo nos hablamos entre nosotros.
De vuelta en la vida real, su maestro de matemáticas puede decirle que resuelva "15 al poder de 3", pero solo sabe cómo hacerlo porque previamente le enseñaron que "X al poder de Y" se descompone en las tareas de "Multiplica X por X y hazlo Y veces" [técnicamente Y -1 veces, pero eh.]
Al igual que sus clases de matemáticas, los programadores han establecido una base de tareas 'conocidos' por lo que no es necesario centrarse en los detalles de las cosas pequeñas y podemos dedicar nuestro tiempo a la solución de los problemas reales y no tanto de cómo llevar a cabo el subyacente tareas: ahora podemos suponer que una computadora entiende cómo hacer cosas básicas.
fuente
Hacía lo que me enganchó cuando tenía unos 9 años. Toma el C64 del desván y haz lo siguiente:
10 PRINT "YOU SMELL"
20 GOTO 10
(Gracias Papa).
Luego, cuando la diversión haya terminado. Le mostraría el juego de adivinar números. Sí, todo en BÁSICO. No hay necesidad de morir de un lenguaje moderno para mostrar una computadora tomando instrucciones.
fuente
Puede ser útil comenzar con algo que hace habitualmente, como Facebook, y explicarle cómo un aspecto simple como iniciar sesión puede ser muy complicado.
Podría ramificarse desde aquí a bases de datos, diseño de aplicaciones y luego a algunos aspectos de seguridad que es algo útil que ella puede quitar.
Incluso puedes preguntarle algo como: "Si hubiera una cosa sobre Facebook que pudieras cambiar, ¿cuál sería?" Luego, hágale saber cómo podría hacer el cambio y cuántas personas estarían involucradas.
La primera vez que aprendí a programar Pascal fue que me entusiasmó que mi programa aceptara mi aporte, lo manipule e imprimiera algo diferente. Me enganché desde allí. Algunas personas se agarran fácilmente.
fuente
¿Espero haber ido a un puesto de trabajo en algún lugar que presumiblemente desarrolle software que ella debe tener algún interés en el campo?
No hay una respuesta fija, la interrogaría durante 5-10 minutos sobre lo que sabe y luego trataré de aprovecharla lo mejor que pueda.
fuente
Comience de alto nivel. Tal vez explique que la programación de computadoras se trata de resolver problemas: tomar un problema e idear una solución escrita como un montón de instrucciones que una máquina puede usar y comprender.
La parte difícil podría ser encontrar ejemplos que una niña de 15 años encontraría interesantes y relevantes . Como nunca he estado en esa situación y no la conozco, no estoy seguro de qué recomendar para eso ... Evite muestras de código, hasta cerca del final, y excepto en casos muy simples o interesantes, como un programa "Hola mundo" o algo simple y gráfico (dibujar algunas formas en una ventana, rastrear un mouse, etc.).
fuente
Aquí está mi opinión después de un par de intentos fallidos y un par de intentos bastante buenos:
La programación es la resolución de problemas.
Comience con cosas concretas que están programadas y que usan todos los días: navegador de internet (facebook), teléfono celular, caja registradora, etc. Pídales que le den muchos ejemplos. Establezca que todas estas cosas tienen una especie de computadora en ellas. El corazón de una computadora es el procesador.
El procesador es como un trabajador muy rápido, pero muy tonto. Si le das algunas instrucciones, las hará exactamente como dices. No hará nada extra y no le dirá si algo que le dijo que hiciera estaba mal. Sin embargo, este procesador hace todo: si le dice exactamente cómo hacerlo, puede hacer una llamada telefónica o poner una imagen en un correo electrónico.
Pregúntele cómo le diría a un trabajador muy rápido pero muy tonto que compre una lata de refresco en una máquina de refrescos. Cuando ella comienza a describir los pasos ("Poner dinero en la máquina y presionar el botón"), comienza a diseccionarlo como un programa ("¿Qué es el dinero? ¿Cómo lo pongo en la máquina? Cuando pongo dinero en la máquina y presiono el botón al mismo tiempo, no pasa nada "). Si tiene una pizarra, comience por la izquierda con su primer conjunto de instrucciones. A medida que los revise, coloque la nueva lista más grande en el lado derecho. Cuando tenga un buen conjunto de instrucciones, comience a generalizar las piezas ("Saque el dinero de su bolsillo y retire el refresco de la bandeja con un sonido similar, ¿qué partes son iguales / diferentes?") Tome las generalizaciones y colóquelas en el medio y tachar las piezas que ahora abarcan. Intente finalmente atar las piezas para que coincidan con sus instrucciones originales, algo así como llamadas a funciones. Otros buenos ejercicios: enviar una carta, pasar por una puerta, dibujar un círculo / cuadrado / triángulo.
Entonces, programar es resolver problemas: dividir los problemas en partes, identificar partes que son comunes y agrupar esas partes para resolver problemas. Pronto, descubre que algunas partes son comunes en muchos problemas, y luego comienza a juntar partes para resolver problemas que ni siquiera sabía que tenía.
De acuerdo, en este punto ella puede entender pero probablemente esté aburrida. Siga con un conjunto de ejemplos de programación geniales. Los sombreadores y el código visual relacionado son fáciles de demostrar: puede colocar una imagen y comenzar a hacer cambios con cambios de código muy pequeños. Si ella expresó interés en Facebook, presumir hablando con Facebook a través de REST para ver los datos de amigos de amigos (6 grados de ella). Si le gustan los videojuegos, muestre un par de demostraciones de juegos de código abierto junto con algunos fragmentos de su código y cómo ayudan a que el juego funcione. Para terminar, muestra un par de herramientas y recursos gratuitos que podría investigar en casa. (Python, C #, etc.)
Mis intentos fallidos: tratar de explicar el cálculo de pi (preguntaban), el juego de mesa C-Jump http://c-jump.com/ (no lo entendieron y las instrucciones tenían errores) y codificar en vivo un 2d juego (simplemente no podía mantener el interés, no importa cuán pequeños pasos estaba dando entre demostraciones).
¡Buena suerte!
fuente
Haz un programa simple. No, no "¡Hola mundo!"
Lo que haría es decir que hay muchos tipos de lenguajes de programación, unos que hacen juegos, otros que controlan robots, pero con lo que vas a trabajar es HTML.
Crea una página web sin nada y luego agrega un formulario que enviará un correo electrónico a su dirección de correo electrónico. Presumiblemente tiene un teléfono celular que puede notificar al propietario que tiene un nuevo correo electrónico, por lo que podría decirle que es una excelente manera para que sus amigos y familiares se comuniquen con ella. Si obtiene su propio sitio web en el futuro, puede decirle que puede poner el formulario en su sitio web, permitiendo que sus clientes y socios comerciales la contacten.
Alternativamente, si es un poco traviesa, te diré lo que me interesó en la programación: piratería. En el pasado, hice el mejor programa para perder el tiempo en AOL (fuera de un programa que superó al mío en solo una de las docenas de cosas que hizo el mío), a la edad de 14-15. Por el lado del sombrero blanco, también hice uno de los primeros programas de eliminación de spam (1995). Pude hacer que mi experiencia en línea fuera mucho más agradable, y lo dejaremos así. Todo lo que quería hacer en una computadora era una aventura o un rompecabezas que tenía que resolver, y las cosas que quería hacer en una computadora eran infinitas. Claro, hacer que funcione fue un dolor de cabeza a veces, pero escribir un programa que lograra las cosas mejor y más rápido que cualquier humano, o hacer cosas que simplemente eran imposibles para el público en general, era como construir una excelente maquinaria de la que uno pudiera estar orgulloso. Ahora, es probable que evite cualquier cosa grave, pero sería extremadamente fácil hacer algo en Visual Basic que pudiera iniciarse en el inicio (sentado al costado de la pantalla o la bandeja del sistema) y desde allí, puede hacer que inicie sus sitios web favoritos, sus programas favoritos, etc. Puede presentarle los comandos necesarios para iniciar un exe y un sitio web, y luego simplemente pedirle que haga algunos botones, luego agregue el código a esos botones , colocando en sus sitios web favoritos (Facebook, Twitter, etc.) y programas (iTunes, procesador de textos, etc.) Si su computadora está en su habitación, también podría lanzarle un despertador para mayor funcionalidad. Por supuesto, 30 minutos es demasiado corto para guiarla a través de eso, por lo que ya deberías haberlo hecho. Al final, le enviaría un pequeño manual de usuario de 2-3 páginas, el código y el .exe ... y luego le dejaría un pequeño argumento de venta: no es fácil al principio, pero una vez que obtiene el Pero no es tan malo, será extremadamente útil en la vida y ayudará a desarrollar su pensamiento analítico.
fuente
Yo solía enseñar a estudiantes universitarios de 18 años, y supongo que los de 15 años son casi lo mismo. No esperes el éxito sin práctica. Me tomó algunas semanas en mi primera clase para "irrumpir".
Lo más importante que tuve que aprender fue que lo que pensaba era tan simple y obvio que temía no poder ocupar el tiempo no era del todo así para los estudiantes. Aprendí que tienes que ir en pasos pequeños, de lo contrario es solo magia "gee whiz".
No estoy seguro de cómo encajar esto en 30 minutos, pero lo primero que hice fue mostrarles una pequeña computadora casera que había construido, que estaba programada para reproducir una pequeña melodía haciendo clic dentro y fuera de un altavoz. Le expliqué que podía tocar una nota decrementando un contador, para actuar como un retraso, entre clics. Acabo de escribir el pseudocódigo en la pizarra, como una receta. Luego, había un pequeño condensador que podía enganchar debajo de un cable que haría que todo funcionara unas 1000 veces más lento. Entonces oyeron clic - espera - clic - espera ... Luego, cuando desenganché el condensador, estalló con la pequeña melodía.
El objetivo de esto era transmitir que las computadoras solo hacen cosas simples y las hacen de una en una. No comienzan cada paso hasta que finaliza el paso anterior. (Sí, sí, lo sé, tuberías y todo eso, pero estamos hablando con los novatos ). Es solo la velocidad electrónica lo que hace que parezcan hacer todo a la vez, que es lo que los novatos tienden a asumir (junto con la lectura de la mente) . Ese es uno de los conceptos realmente básicos sin los cuales no puedes comenzar a entender la programación y las computadoras. Para nosotros, esto está tan arraigado que ni siquiera nos damos cuenta de que lo sabemos, pero los principiantes no lo saben.
fuente
Sé que no es un lenguaje de programación, pero creo que HTML es un buen lugar para comenzar. Porque obtienes resultados inmediatos ... comienza con
Hola Mundo
Entonces hazlo:
Hola <b> mundo </b>
Etc.
fuente
Si fuera yo, le diría que la programación consiste en dividir una tarea en pequeñas tareas de una manera que te ayude a resolverlas; y luego expresar esas pequeñas tareas en un lenguaje que no puede ser malinterpretado por una computadora idiota. Pero también debe hacerlo de tal manera que otros programadores puedan entenderlo fácilmente, y eso no es lo mismo.
Es decir, además de lo que todos los demás han dicho ...
fuente
Esto es más de mis experiencias personales que una "respuesta" directa.
¿Por qué me interesé? Mis padres compraron una IBM PC XT en 1984 (nací en 1984). Tiene 640kb de RAM y 20MB HDD y un FDD de 5 "y ejecutó MS-DOS v3.2. No se me permitió tocarlo hasta que estuve en el 5to estándar y cuando finalmente se me permitió usarlo, pasé todos mis años de curiosidad acumulada en él.
A mi hermana, por otro lado, le permitieron la misma PC y un mackintosh Quadra 610 cada vez que lo quería y le prestó tanta atención como a la mesa en la que estaba puesta.
Enseñando a mi hermana ... Traté de enseñarle a mi hermana programación de computadoras en BASIC. Le hice todo bien, desde iniciar la computadora hasta escribir el programa y ejecutarlo. Fue como un programa de línea.
Esto tomó media hora. Cuando finalmente lo ejecutó, imprimió la palabra 'CAT' y estaba furiosa. Había esperado que apareciera la foto de un gato. ¡Salió de la habitación y ese fue el final de la programación para siempre!
Moraleja: es mejor que la producción sea proporcional al tiempo y los esfuerzos que realizan.
Enseñar a los niños de secundaria Labview y Lego NXT Fui mentor de FIRST Robotics durante un año y tuve que guiar a los niños en la programación del robot en NI Labview. Francamente, la habilidad de programación requerida estaba muy por encima del nivel de un niño de secundaria. Pero la competencia tenía la intención de entusiasmar a los niños sobre la ingeniería y elevar su nivel en la capacidad de asumir un desafío. Mientras los programas tuvieran solo una declaración if y un bucle, las cosas estaban bien. La gente abandonó la sección de programación del robot cuando vieron el diagrama de código que había creado para el robot que habíamos construido el año anterior.
Por mucho que la gente afirme que los jóvenes de 15 años pueden hacer cosas complejas y pueden tener un lapso de atención de horas, encontré una extraña falta de motivación en ellos para hacerlo. Querían hacer cosas fáciles que no gravaran sus cerebros. Preferían mucho más CAD y fresar piezas en la máquina de torno que escribir programas.
fuente
¿Qué es la CS?
Creo que antes de entrar en demostraciones, es útil dar su opinión brevemente sobre el lugar de CS en el mundo. Me gustó la descripción de Hal Abelson de CS en relación con las matemáticas: mientras que las matemáticas te ayudan a describir el mundo en términos de leyes, CS te ayuda a describir cómo hacer las cosas. Su ejemplo fue la función de raíz cuadrada: las matemáticas lo definirán, pero no lo ayudarán a encontrarlo para ninguna entrada dada. CS lo hará. En un nivel inferior, la ingeniería eléctrica y la física sentaron las bases para el hardware que habilitó Internet, pero dejaron abiertas las preguntas sobre cómo hacer que las personas lo usen.
¿Cómo es ser programador?
Luego está la cuestión de cómo es ser un programador. Lo que me atrajo fue que tiene una respuesta más rápida de probar algo, probarlo, solucionarlo, que cualquier otro campo técnico. Es una resolución ininterrumpida de problemas, mientras que en otros campos el tiempo de respuesta para un solo ciclo puede ser de meses. También es útil para casi cualquier otro campo técnico, que es más de lo que se puede decir para ... la mayoría de los otros campos técnicos. Entonces, si aún no sabe lo que quiere hacer (probablemente), es bueno que se recupere temprano. En la universidad, pocas cosas te harán más útil para más profesores que poder codificar sus experimentos.
Eye candy, atado al código
Entonces, por supuesto, no olvides las demos. Puede ser genial obtener una copia del terremoto (código abierto), y hacer un cambio de una línea (por ejemplo, cambiar la fuerza de la gravedad) y recompilar, por ejemplo. También haga que mire el código. Asegúrele que no debería esperar entender mucho, puede parecer un galimatías ahora, pero de nuevo, también lo hacen los periódicos en idiomas extranjeros que aún no ha aprendido. Puede decir que, sin embargo, ella puede ver que las cosas se asignan a las cosas, a los objetos se les dice qué hacer, y aquí es donde establecemos la gravedad, etc.
fuente
Comencé a programar cuando tenía 14 años. Si bien la mayoría (47 de los 50 estudiantes que se matricularon) abandonaron la escuela a mitad de año o simplemente decidieron no continuar en el curso avanzado el próximo año, me quedé y aprendí algo muy importante:
La programación te da la capacidad de crear algo de la nada. Tiene el poder de convertir las palabras en una herramienta útil que satisface una necesidad, una actividad entretenida para usted y sus amigos, o simplemente algo que puede mostrar a sus amigos y decir: "Mira lo que hice".
Para empezar, nos enseñaron "Hola mundo", pero no tuve interés hasta que pude hacer que mi código interactúe con el usuario . En el momento en que nos enseñaron a leer la entrada con "cin", me propuse hacer un programa Mad-Lib que pudiéramos tocar en clase. Mi primer obstáculo fue leer entradas que contenían espacios, seguidas de formato de salida. Más tarde, quería poder guardar estas historias en un archivo y, por lo tanto, necesitaba aprender el archivo IO. Afrontar obstáculos para lograr mis propios objetivos fue lo que me mantuvo comprometido.
Más adelante en el año descubrimos que los administradores de la red estaban registrando nuestro uso de "Net send" y el cliente Novell SendMessage que habíamos estado utilizando para comunicarnos durante la clase de informática, y lo deshabilitaron después de que los estudiantes lo usaran para hacer trampa en un examen. Entonces escribí una sala de chat para reemplazar la que los administradores deshabilitaron. Fue la primera cosa realmente útil que creé. Lo modelé según el sistema de chat de Battle.Net, completo con registro de usuarios, moderadores e incluso un sistema básico de cifrado y archivos de sombra para evitar que los usuarios manipulen (todos los archivos tenían que residir en una unidad de red compartida para que los estudiantes pudieran acceder y usar el programa). Estos no eran conceptos que ya conocía, sino soluciones que se me ocurrieron por mi cuenta para resolver un problema. Para mí, esa fue la alegría de la programación.
Entonces, para responder la pregunta correctamente, más allá de la discusión de lo que significa desarrollar software, una demostración interactiva es probablemente una gran idea. Preferiblemente, algo que resuelva un problema que tiene, como cambiar el tamaño de todas esas imágenes gigantes de su cámara automáticamente. Si bien es un poco más complicado, podría divertirse con una simple página web de dejar un mensaje que puede compartir con sus amigos. Puede hacer que envíe un correo electrónico a alguien cada vez que se publique un nuevo mensaje, y que edite el código para enviarlo a su correo electrónico en lugar del suyo. Además, haga que la página muestre la última X cantidad de comentarios, y haga que ella también ajuste esa cantidad y vea cuáles son los resultados.
fuente
Donde solía trabajar, a veces teníamos experiencia laboral cuando entraban niños. Algunos estaban interesados en las computadoras, otros no. Solíamos hacer que se sentaran frente a una computadora y que escribieran un juego de adivinanzas. (La computadora selecciona aleatoriamente un número, el usuario recibe comentarios sobre si su suposición fue demasiado alta / baja.) Es simple de hacer y es realmente un resultado divertido. Nada es más poderoso que mostrarles tangiblemente lo que ELLOS pueden crear.
fuente
Cuando desee obtener, y mantener, la atención de alguien, luego PREGUNTE, no le digas. Pregunte cómo realizarían una tarea simple, como tomar un trago de agua. Luego muéstreles cómo seguir las instrucciones que proporcionaron (como "Ir al final del pasillo") realmente no maneja los problemas de cuándo girar a la izquierda, girar a la derecha, detenerse, etc. Comprender y manejar esas condiciones límite, ese es el negocio de programación! Luego puede mostrar cómo un bucle de "hacer hasta" puede manejar el tipo de situación "caminar hasta llegar a la pared", para hacer metatareas fuera de la tarea de un pie delante del otro de caminar
fuente
No estoy seguro de si se trata de una leyenda o una historia real, pero estaba leyendo acerca de por qué la suerte está rígida algún día. Parte de una historia fue cómo le mostró la programación a un niño (o tal vez incluso niños) que conoció en un tren.
Como algunos de ustedes sabrán, _por qué era un chico Ruby (y Ruby es, bueno, muy amable con los humanos normales). Estaba trabajando en algún juego en Ruby, mientras un niño se le acercaba para ver qué estaba haciendo. Primero les mostró el resultado : el juego de trabajo. Luego, le mostró al niño cómo puede modificar las cosas en el código para cambiar el resultado. Luego dejó que el niño jugara con el código y viera el resultado modificado.
. Creo que ese debería ser tu flujo de trabajo general: resultado, modificación, juego. Debería encontrar algún proyecto (el juego sería la mejor opción) en un lenguaje amigable para los humanos y mostrárselo al niño.
Como estoy triste, no tengo idea de si esta historia es cierta o no. Todavía es muy genial.
Además, una cosa más. Recuerdo mi primera experiencia con la programación,
MessageBox
en Delphi. Fue genial, porque pude hacer que la computadora haga lo que quiero e inmediatamente veo el resultado.Entonces, aparecieron los microcontroladores. Eran aún mejores, porque mi código podría cambiar el mundo real. Quiero decir, asignar algún valor a la variable dejó de ser tan abstracto, ya que causó que apareciera un voltaje en el puerto de salida, lo que provocó que mi motor se moviera. Fue genial. Es posible que desee elegir de esta manera: muéstrele al niño algo como Arduino.
Verá, creo que se trata de cambiar y ver el resultado.
fuente
Muéstrale el resultado final de algunas de las cosas que has hecho. Hable en general sobre su papel en los proyectos. Tal vez incluso ayudarla a hacer un mundo hola si parece interesada.
fuente
Mi analogía favorita para la programación es la magia (estilo harry potter), como Satanicpuppy. Utilizo esto tanto para compañeros no técnicos como para niños, parece que funciona bastante bien y definitivamente transmite la potencia que nos dan las computadoras.
Las computadoras son nuestras varitas mágicas. Nos permiten realizar magia dado el movimiento correcto de la muñeca y los encantamientos. Como programadores, tenemos acceso a libros de hechizos (bibliotecas) trabajados y refinados por nuestros predecesores. Podemos crear nuevos hechizos y encantamientos o trabajar con los existentes. Algunos son fáciles, otros requieren más práctica para usarlos realmente de manera efectiva, a menudo hay compensaciones y muchas formas diferentes de resolver el mismo problema (¿debería usar una buena poción o un encantamiento?).
Esta metáfora extendida realmente se puede estirar bien y, a menudo, me permite transmitir mi pasión por la programación de una manera accesible para las personas fuera del campo.
fuente
¡La mejor manera de entender a los niños es ser un niño primero ...! Cuando era niño, ¡odiaba hacer tareas, imposiciones, etc.! así que hay puntos de entrada donde puedes captar su atención. En un lapso de 30 minutos, aunque no podemos explicar todo, podemos tratar de darles una especie de exposición donde los niños interesados lo encuentren como inspiración. Comience con sus temas relacionados, como tareas, etc. Dígales cómo una computadora puede escribir imposición en solo unos segundos, etc.
Te deseo lo mejor.. ! buen trabajo
fuente