Conceptos en CS teórica que serían accesibles entre los 8 y los 14 años

34

Adivinar es poco probable que sea una pregunta común, pero preguntarse si alguien ha visto material hecho claramente para dirigirse a esta audiencia de manera significativa.

errores
fuente
A menudo les digo a los niños de esta edad el clásico rompecabezas de von Neumann: dada una moneda sesgada que aparece cara al 70% del tiempo, ¿cuál es la forma de encontrar un bit imparcial?
arnab

Respuestas:

24

Computer Science Unplugged se dirige a niños (y maestros) en la escuela primaria.

Serge Gaspers
fuente
3
Me gusta que también tengan una serie completa de videos de YouTube.
Joe
21

cálculo lambda

Forma divertida de aprender cálculo :λ

... Este juego representa el cálculo lambda sin tipo. Un cocodrilo hambriento es una abstracción lambda, un cocodrilo viejo es paréntesis y los huevos son variables. La regla de alimentación corresponde a la reducción beta. La regla de color corresponde a la conversión alfa (demasiado cautelosa). La regla de la vejez dice que si un par de paréntesis contiene un solo término, los paréntesis se pueden eliminar ...

enlace de video

Pratik Deoghare
fuente
77
+1 @Pratik Deoghare: respuesta interesante, aunque sería posible al menos en un comentario explicar por qué su respuesta es relevante sin tener que hacer clic en el enlace y buscar en el contenido de esa página para encontrar la respuesta.
errores
66
¿ Qué tan difícil es hacer clic y leer un poco? ¿Realmente necesitamos todo en pedazos pequeños?
Andrej Bauer
77
Esto parece horriblemente complicado ...
Izkata
15
@Andrej Bauer: Sí, de hecho, SE solicita que las respuestas resuman su relevancia, y no solo se vinculen a material basado como respuesta a una pregunta.
errores
11
Me confundí terriblemente a la mitad y tuve que volver a leer las reglas varias veces. No hay forma de que un niño de 8 años tenga la capacidad de atención para esto.
BlueRaja - Danny Pflughoeft
8

En mi experiencia, no es difícil enseñar temas básicos en combinatoria, teoría de grafos, programación, algoritmos y temas similares.

Es posible que desee buscar temas cubiertos en competiciones IOI y competiciones nacionales. Hay escuelas de verano y talleres relacionados con las competencias de IOI que comienzan a una edad bastante temprana.

Mi tema favorito personal para tales talleres es la teoría de juegos combinatorios, ya que es fácil motivarlos jugando con la audiencia.

También revise los recursos del currículo CS K-12 de ACM , particularmente las páginas 11 y 12 de un currículo modelo para K – 12 .

Kaveh
fuente
6

algunas ideas. Me parece que ha habido una explosión de opciones de alta calidad pero de bajo costo para niños interesados ​​en la informática. tenga en cuenta el fuerte vínculo con STEM, la llamada ciencia, tecnología, ingeniería, educación matemática. (He estado pensando que tal vez el lado CS podría enfatizarse / defenderse con una nueva palabra clave STEAM donde la A significa Algoritmos).

  • pruebe el concepto de lógica booleana para representar operaciones matemáticas. cosas como convertir binarios a decimales, decimales a binarios y sumadores de varias etapas con carry from EE. construyendo funciones arbitrarias de CNF o DNF. incluso un niño pequeño puede entender el concepto de integridad funcional con AND, OR, NOT. algunos kits de radioshack para cosas como esta incluyen microcontroladores económicos. ver, por ejemplo, kit básico de sellos. Existen algunos simuladores de circuito de código abierto / libre para este propósito. desafortunadamente no pude encontrar ninguna distribuida con bibliotecas de componentes hasta ahora. Logisim es uno popular.

  • Hay este juego genial que se ejecuta en diferentes sistemas, incluyendo PC / ps3 / etc llamado Crazy Machines. Esto se puede utilizar para comprender la simulación física en el software y hacer que el niño piense en sistemas de componentes interactivos y reacciones en cadena. La nueva versión de PS3 tiene un montón de componentes eléctricos y lógicos que incluyen interruptores y puertas.

  • robótica prueba la robótica de lego mindstorms en particular. Software sofisticado que permite cosas como bucles, condicionales, subrutinas. las subrutinas están contenidas en bloques gráficos, es decir, es un sistema de programación visual que años atrás era muy avanzado (ahora es un juguete). En busca de inspiración, hay muchos videos de resolución robótica de cubos de rubik en youtube, como el último cubestormer II . los diseños para al menos uno están en un libro ampliamente disponible, por ejemplo, lego mindstorms nxt thinking robots de Daniele Benedettelli. Además, recientemente vi esta mano robótica neumática de muchos grados de libertad . ver también la primera liga de competición de robótica .

  • escribir código básico para algunas cosas simples. Por ejemplo, clasificación. haciendo estudios empíricos de diferentes algoritmos de clasificación y observando / graficando los resultados (por ejemplo, graficar el rendimiento de una clasificación de burbujas frente a qsort para aumentar los tamaños de entrada; consulte, por ejemplo, la animación en esta página de Wikipedia para la clasificación de inserción). ordenar animaciones. Un buen análogo gráfico es ordenar un mazo de cartas en lugar de enteros o cadenas. También muchas operaciones gráficas u geométricas, como dibujar figuras en código, son ejercicios excelentes.

  • Programación de juegos. Esto se puede hacer en algunos juegos excelentes. por ejemplo, Little Big Planet tiene algunos subsistemas sofisticados donde los niños pueden crear sus propios juegos con el complejo sistema y componentes de construcción integrados. incluso puede estudiar fenómenos interactivos / emergentes de esta manera. se pueden subir a internet y compartir. otro idioma para este propósito se llama scratch . el clásico de Papert con mucho estudio académico de su eficacia es Logo

  • utilizando simuladores de máquinas de turing y construyendo programas en ellos. hay unos pocos Vienen con algunos programas. cuanto más gráfico, mejor. algunos escritos por profesores para las clases. Heres uno escrito en JavaScript . en realidad me gustaría saber cuáles son los mejores en esta área [tal vez otra pregunta para eso]

vzn
fuente
6

Depende de la persona que está enseñando y el área de ese rango.

Un niño de 12 a 14 años que QUIERE debería ser capaz de manejar casi cualquier cosa, pero tiene que tirar de él en su propio tiempo, realmente no puede empujar conceptos complicados a los jóvenes (o en su mayor parte a nadie).

Estoy escuchando a iWoz en este momento (que parece estar dirigido a ese grupo de edad y sería bastante inspirador), para esa edad ya estaba armando un circuito bastante avanzado, pero su padre solo respondió preguntas, nunca le entregó nuevos conceptos para los que no estaba listo)

O puede estar completamente desinteresado y no hay nada que pueda hacer al respecto.

Sin embargo, los niños pueden quedar realmente impresionados con algo simple. Si encontraste algún juego que le gustó y lo ayudaste a recrearlo (incluso en un nivel muy superficial pero gráficamente similar), realmente puedes ponerlo en marcha.

O, aún mejor, si encontraste un juego de código abierto existente que le gustaría, déjalo jugar y luego muéstrale cómo hacer pequeñas modificaciones para que pueda entusiasmarte. (Las modificaciones siempre parecen ser la mejor manera de comenzar)

Bill K
fuente
+1 @Bill K: Cuando dices "[estás] escuchando iWoz en este momento", ¿te refieres a una versión de audio de su libro, o algo más; un enlace sería bueno, incluso si es para pagar contenido, solo para dar referencia a lo que quieres decir.
errores
1
Lo sentimos, iWoz es su autobiografía: está en Audible y parece ser perfecta para un adolescente curioso sobre la tecnología. Se va lento pero se pone bastante en detalles sobre las diferentes cosas que creó y el proceso de aprendizaje. Curiosamente, aunque siempre me he sentido mucho más cerca de Wozniak en los ideales y en realidad no me gusta la personalidad de Jobs, la biografía de Jobs me pareció increíblemente convincente y perspicaz, estoy escuchando a iWoz como un contrapunto.
Bill K
5

De hecho, enseñé un campamento de verano que contenía principalmente estudiantes de 4to, 5to grado, aunque tenía un estudiante de 2do y 3er grado (su grupo de edad objetivo). Los campamentos duraron una semana y enseñé a XNA mostrándoles conceptos básicos de if, else if y una declaración simple junto con photoshop. El problema con XNA fue que tuve que ayudarlos a programar un poco hasta el final de la semana, los otros campamentos en los que habíamos participado incluían la robótica de Lego y GameMaker, ambos con la teoría de CS y los niños adoran.

Suiko6272
fuente
+1 @ Suiko6272: Supongo que lo más importante es que veo la informática, la ingeniería informática y la ingeniería de software como temas diferentes pero relacionados. Supongo que estaba interesado en conceptos que estaban puramente relacionados con la CS teórica; en parte para enseñar la diferencia entre informática, ingeniería informática e ingeniería de software.
errores
2

Creo que Planarity es un buen juego. Da una idea sobre los gráficos planos e introduce conceptos elementales de la teoría de gráficos (como el gráfico hecho por nodo y bordes, y el grado de los nodos, qué son los gráficos planos, ...)

Saeed
fuente
1

Es sorprendente que nadie mencione el uso de la multiplicación para explicar el concepto de intratabilidad computacional. Afirmamos que la multiplicación es fácil ya que tenemos el algoritmo rápido estándar de multiplicación de libros de texto, mientras que la función inversa de encontrar factores primos es difícil ya que no hay algoritmos rápidos conocidos y el algoritmo más conocido no es significativamente más rápido que la búsqueda exhaustiva.

Mohammad Al-Turkistany
fuente
@Saeed, ¿mencioné las pruebas de primalidad?
Mohammad Al-Turkistany
Perdón por mi error, leí mal (leí: "encontrar números primos ...", de hecho, al revés, pensé que querías hablar sobre números primos, y con este sesgo leí tu oración).
Saeed
0

Una buena fuente de problemas para lograr que los jóvenes piensen en la teoría de la CS y resuelvan los problemas por sí mismos es la serie "Computer Science Unplugged" http://csunplugged.org/ . Vamos a las escuelas y hacemos las actividades con niños, o ellos vienen a Uni para hacerlas con nosotros.

Ha estado funcionando durante años, se ha traducido a muchos idiomas, y los artículos brindan información sobre cómo ejecutar las sesiones, qué materiales se necesitan y consejos de personas que los han ejecutado antes.

¡Muy recomendable!

Steve Reeves
fuente
2
Sí. Ver la respuesta de Serge Gaspers.
Jeffε
-1

zz2+c

vzn
fuente
2
Los fractales son geniales, pero en realidad no son un "concepto en CS teórico".
Jeff
Todavía esperando aquí la lista oficial de temas de TCS, la defino ampliamente y esto es respaldado por muchos otros, por ejemplo, incluso spolsky . Para mí, los fractales encajan perfectamente con la investigación empírica . Muchos investigadores de CS de élite los han estudiado en muchos documentos importantes (lo siento, no tengo una lista o encuesta, quizás lo más importante sería Wolfram). es un viejo debate que se remonta a sus orígenes, aunque supongo que es un debate legítimo.
vzn
2
Consulte la primera sección de las preguntas frecuentes para obtener una definición razonable de "informática teórica". (Además, Joel estaba argumentando a favor de expandir el alcance del sitio más allá de la informática teórica; la comunidad no estuvo de acuerdo.)
Jeffε
Supongo que es una meta discusión, pero interpreto las publicaciones de spolsky de manera diferente. enumeró muchas áreas estándar de informática y, en mi opinión, cada una de esas áreas tiene un lado teórico. pensando en preguntar sobre fractales y ver qué sucede
vzn
1
Estoy de acuerdo; esto se discute mejor en meta.
Jeffε