Me enfocaría en inspirar mentes jóvenes. En este orden específico:
- Muéstrales lo que es posible.
- Explica cómo se hizo realidad
- Enséñales las herramientas
Demasiadas escuelas, colegios e instituciones hacen esto de manera incorrecta.
- Programación
- ¿Qué puede hacer la programación?
- ¿Qué es posible resolver?
Muchas personas toman cursos de CS porque escucharon que es un buen dinero. Inmediatamente les enseñamos listas enlazadas, matrices, punteros, clasificación y árboles. No solo los hemos aburrido hasta la muerte , sino que están sentados con una bolsa cargada de herramientas, sin saber cómo encajan en el panorama general.
En segundo lugar, muchas administraciones no saben la diferencia entre “Informática” y “Programación” . De hecho, apuesto a que más del 90% del país piensa que son lo mismo.
Aquí está el estudio de la programación:
“El estudio de cómo las instrucciones humanas pueden codificarse en instrucciones ejecutables de máquina”.
Aquí está el estudio de la informática:
“El estudio del uso de la tecnología computacional para resolver o mejorar los problemas humanos socioeconómicos”.
Los programadores escriben código.
Los informáticos crean soluciones.
Los programadores implementan.
Diseño de informáticos.
Más del 80% de las personas que he entrevistado para puestos de ingeniería de nivel básico (pasado y presente) tienen un título en Informática pero solo saben programar. Difícilmente diseñan sistemas grandes, transmiten ideas por diagrama y / o comprenden el componente humano de por qué su trabajo es valioso.
Es similar a alguien con un título de diseño automotriz, pero en realidad solo sabe cómo reparar automóviles como mecánico. No están equipados para diseñar el diferencial de eje de rueda de última generación de última generación. Sin embargo, la industria automotriz ya lo ha resuelto, la industria del software no. A los diseñadores automotrices se les enseña mucho más que a reparar un automóvil.
Un buen plan de estudios de CS se centrará en:
- Mentes inspiradoras
- Explicando las innovaciones
- Herramientas de enseñanza
Mentes inspiradoras
Creo en el poder de establecer metas. Si tiene un objetivo establecido, se convierte en este faro increíble que lo lleva en una dirección específica.
La informática es un catalizador para todos los demás campos. Es como una “herramienta súper avanzada” que puede ayudar:
- Calcular reacciones químicas por simulación
- Calcular rotaciones de agujeros negros para astrofísica
- Agregar datos de salud para ayudar a encontrar las causas principales
- Predecir las fluctuaciones del mercado en las economías mundiales.
- Manejar papel mundano empujando por bienes raíces
- Entregue cartas más rápido que el servicio de correo físico
- Entregar contenido de entretenimiento a las masas
- Conecta familias separadas por un océano
Creo que esto va sin necesidad de una gran explicación. Si una persona comprende el valor de lo que está aprendiendo, prestará más atención.
Explicando las innovaciones
La tecnología informática actual es enormemente diferente de la tecnología utilizada hace 15 años. Explicar las RPM (rotaciones por minuto) para un HDD (unidad de disco duro) le dará algunos ojos. Se dirige hacia la irrelevancia a medida que SSD (disco de estado sólido) se vuelve más barato de fabricar.
Sí, aún deberíamos enseñar la ley de Moore y todos los demás fundamentos sobre la historia de la informática. Sin embargo, debemos centrarnos en la mentalidad de los estudiantes … Ellos (la mayoría de ellos) no están allí para archivar una instantánea de la historia de la informática. Quieren saber cómo se beneficiarán de ello. Además, tenemos computadoras en Internet para ayudarnos a archivar cosas históricas.
Enseñamos historia de la informática porque muestra cómo “A” llegó a “B”. Esperamos que la magia de transición sea un ejemplo de cómo nuestros estudiantes podrían llevar “G” a “H” y luego a “I”. Nuestro problema es que la informática también es un catalizador por sí misma, ya estamos en “BD” (pasamos Z y agregamos una letra a nuestro sistema numérico de base 26). Necesitamos enseñar esto al revés. “BD” vino de “BC”, donde alguien más lo movió de “BB”.
Al explicar las innovaciones de hoy, nos estamos centrando en lo que pueden aplicar de inmediato. Es como explicar la tecnología automotriz de vanguardia de hoy. Sí, necesitan saber cómo se lanzó el modelo T al mercado, pero en última instancia, necesitan saber más sobre la industria actual que la industria de hace una década (o más).
Herramientas de enseñanza
La programación es solo una herramienta dentro de una imagen más grande que requiere múltiples herramientas. Yo diría que las matemáticas son otra herramienta. Hay muchas herramientas que un ingeniero necesitará en el mundo real, también herramientas que son específicas para la industria que intentan catalizar.
La programación generalmente se divide en diferentes lenguajes de programación. Personalmente los veo similares a los lenguajes naturales. No importa el idioma natural que hable (inglés, español, chino, italiano, etc.), todos tienen una forma de decir “hola”, “¿cómo estás?” Y “¿Dónde está el baño?”. Los lenguajes de programación son los mismos, no importa (C / C ++, Java, Python, Lisp, etc.) todos tienen una forma de hacer If-condition, for-loops y manipulación de cadenas.
Las bases de datos son otra herramienta. Yo diría que aprender a administrar una base de datos no es similar a aprender un lenguaje de programación.
La infraestructura y las redes de tecnología de la información son otra herramienta. ¡La lista es enorme!
Las herramientas son difíciles de aprender bien. Se necesita tiempo, práctica y exposición a los problemas de límites manejados mejor en una herramienta que en otra. Los mejores ingenieros saben qué herramientas funcionan mejor en qué situación.
Mi currículum
Inspirar
- Impacto socio-económico de internet
- Innovaciones técnicas de hoy (teléfonos inteligentes, realidad virtual, tecnología de la salud, sitios de citas, contenido dirigido por el usuario, etc.)
- Cómo la informática ha cambiado el mundo (abarcando industrias: médicas, de investigación, civiles, etc.)
- Lo que no pudimos hacer hace 10 años
- Cómo podría ser el futuro
Explicando
- Cómo funciona ______ en el mundo de hoy (Internet, teléfonos inteligentes, tecnología portátil, etc.)
- Arquitectura de la computadora e historia de la informática (CPU, RAM, discos, sistema operativo, etc.)
- Introducción a pseudocódigo y diagramas de flujo
- Introducción a las estadísticas y cómo se usa hoy
- Introducción a los algoritmos y cómo se usan hoy en día (desde una perspectiva que no sea de programación, las matemáticas o simbólicamente son suficientes)
- Bases de datos (desde una perspectiva no programada)
- Introducción a la visión por computadora.
- Introducción a los dispositivos de entrada humana.
- Comportamiento humano: introducción a la psicología.
- Cognición humana: introducción a la ciencia cognitiva.
- Mecánica social humana: introducción a las ciencias sociales.
Herramientas
- Introducción a C / C ++
- Introducción a Java
- Introducción a Lisp / esquema
- Introducción a la web (html / JavaScript)
- … Entonces todas las cosas difíciles.
En este punto, debido a que el plan de estudios fue estructurado para inspirarlos, es de esperar que tengan una idea sobre a qué industria les gustaría unirse. Si me saliera con la mía, forzaría a todas las especialidades de informática en este punto a elegir una industria de enfoque (o elegir una menor).
Si los estudiantes saben lo que quieren hacer a continuación o qué industria les entusiasma, pueden enfocar su educación. Hay ventajas definitivas para saberlo todo, pero no todo será útil. Estos cursos son difíciles:
- Compiladores
- Sistemas operativos
- Gestión de la información
- Redes
- Inteligencia artificial
- Gráficos de computadora
- … Etc …
Creo firmemente que todos los sistemas educativos deberían centrarse en inspirar a las mentes jóvenes primero. Una vez que consigas que aprecien el valor del conocimiento futuro, ese conocimiento será más fácil y mucho más significativo de aprender.