¿Qué pasaría si la programación se enseñara en la escuela media y secundaria?

Sí, nuestra misión es garantizar que todas las escuelas K-12 en los Estados Unidos enseñen ciencias de la computación. En este momento, solo el 10% de las escuelas K-12 enseñan CS: creemos que debería ser el 100%.

Estamos haciendo esto por una variedad de razones:

1) Es bueno para los estudiantes. En esencia, la informática se trata del pensamiento computacional: aprender a resolver problemas grandes, dividirlos en problemas más pequeños y luego aplicar computadoras para ayudar a resolverlos. Este tipo de pensamiento puede ayudar con prácticamente cualquier tema y cualquier campo.

2) Es bueno para las perspectivas laborales de un estudiante. Todos los campos están siendo afectados (algunos podrían decir que están interrumpidos) por el software. Cada vez más, la ventaja competitiva de una empresa proviene de su software, lo que significa que prácticamente todas las empresas necesitan empleados expertos en tecnología. Eso no significa que todas las empresas necesiten contratar programadores, pero las empresas deben al menos ser lo suficientemente inteligentes como para comprender las soluciones que pueden estar comprando. Un estudiante que sabe programar inicialmente tendrá una ventaja, y luego muy pronto se convertirá en un requisito.

3) Es bueno para la competitividad global de los Estados Unidos. A medida que nuestra economía se vuelve cada vez más dependiente del software, debemos asegurarnos de que tengamos suficientes programadores para mantener nuestra competitividad. En este momento, simplemente no estamos produciendo suficientes programadores en casa en una proporción de 3: 1 (entre la creación de nuevos trabajos informáticos y los nuevos graduados de CS).

Es por eso que las compañías tecnológicas están maximizando el programa de visas H1B, importando profesionales de CS de países como China e India. NO es porque importar un programador extranjero es más barato, no lo es, especialmente una vez que se tienen en cuenta los costos de la visa, los costos de reubicación y el hecho de que estos programadores finalmente obtienen los mismos salarios que sus pares. Es porque simplemente no puedes encontrar suficientes buenos programadores aquí en casa.

Otros países ya están comenzando a exigir a todos los estudiantes que estudien al menos un año de informática antes de graduarse. China, el Reino Unido, Australia, Vietnam, Estonia, todo esto ha convertido a CS en un requisito. Y aquí en los EE. UU. Ni siquiera lo ENSEÑAMOS en la mayoría de las escuelas. Por eso hemos hecho de eso nuestra misión.

Imaginemos un futuro donde los graduados estarán equipados con la experiencia y las habilidades para encontrar un empleo adecuado. Es por eso que la programación debe enseñarse en la escuela intermedia y secundaria.

Los beneficios de incluir la programación como parte del plan de estudios de informática son muchos. De hecho, hay investigaciones y pedagogías que respaldan la opinión de que la codificación debe introducirse en los niños de jardín de infantes. Después de todo, los fundamentos de cualquier tema se comprenden mejor a una edad temprana.

ComputerMasti es un plan de estudios de informática creado por profesores de informática en IIT Bombay en colaboración con Next Education, que las escuelas pueden presentar a los estudiantes.

Veamos cómo la programación, si se incluye en la escuela intermedia y secundaria, puede hacer del mundo un lugar diferente.

Fluidez de TI, y no solo conocimientos de TI

Sí, esta generación se ha suscrito correctamente a la ciudadanía digital al abrir sus cuentas de correo y bloguear sobre su vida en las redes sociales. La mayoría de ellos se sienten cómodos con el uso de la tecnología, pero se necesita un buen plan de estudios de informática para convertirlos de meros consumidores de tecnología en innovadores de nueva tecnología. Solo cuando dominan la informática y no solo saben leer y escribir, pueden aplicar sus conocimientos a algo más concreto y contribuir a la sociedad.

Inculcación de habilidades del siglo XXI

Las cuatro C del aprendizaje del siglo XXI son la colaboración, la comunicación, el pensamiento crítico y la creatividad. El plan de estudios Computer Masti garantiza que los estudiantes adquieran estas habilidades mientras trabajan en proyectos con sus compañeros. La programación requiere que miren críticamente la tarea en cuestión y la resuelvan, pueden aplicar sus habilidades de pensamiento crítico en todos los aspectos de la vida. Se supone erróneamente que la creatividad está vinculada solo a las bellas artes de la escritura; la codificación también mejora la creatividad.

Trabajo listo

A pesar de que muchos graduados están desempleados actualmente, los empleadores aún tienen dificultades para encontrar el candidato adecuado para algunos perfiles. La educación, en el pasado, consistía en acumular títulos y no en adquirir las habilidades adecuadas para ser empleados. Este enfoque tiene que cambiar. Adquirir habilidades de programación en los adolescentes puede ayudar a los estudiantes a desarrollar sus conocimientos a medida que progresan en su carrera.

Si la programación se enseñara en la escuela secundaria y en la secundaria, la gente simplemente llegaría a odiarla. Las matemáticas son el ejemplo perfecto de por qué esto es cierto. El sistema de educación que actualmente está en vigencia contradice directamente el espíritu de estos campos y, como resultado, la verdadera naturaleza de las matemáticas, y probablemente de la informática si se enseña, está distorsionada y sesgada. Antes de agregar la informática al currículo escolar, la naturaleza de la educación debe cambiar.

Enseñé codificación en la escuela secundaria en escuelas privadas de Nueva York durante 8 años. La mejor razón para enseñar codificación en la escuela secundaria es que enseña pensamiento crítico, abstracción y resolución de problemas. La mayor parte del aprendizaje en la escuela tiene muy poco contexto o aplicación en el mundo real, es la preparación de exámenes. Los problemas de codificación les piden a los estudiantes que resuelvan problemas del mundo real y dividan los problemas grandes en pasos lógicos que una computadora puede seguir. La codificación obliga a los estudiantes a aprender a lidiar con la ambigüedad y la experimentación. Por lo general, hay varias formas de resolver un problema que requieren un poco de prueba y error.

Cuando los estudiantes miran una casa de muñecas de gran tamaño con una víctima de papel y se les dice que deben usar robots Lego Mindstorm y un sensor de luz para descubrir cómo hacer un robot para rescatar a la víctima, usan matemáticas, ingeniería, declaraciones condicionales de ciencias de la computación, ciencias, etc. Mucho más para resolver el problema. La codificación también enseña a los estudiantes a ser persistentes porque deben perseverar para resolver un problema.

Si esto es obligatorio, habría menos

Ojalá supiera qué programación es X años atrás. Si es así, habría …

pero habría más

Desearía no pasar mucho tiempo aprendiendo programación, en lugar de otras materias. No me gusta la programación en absoluto y no voy a ser ingeniero de software después de todo.

Verdad: los ingenieros de software son minorías.
Otra verdad: las empresas tecnológicas están buscando lo mejor, ni siquiera el promedio.

Los ingenieros de software locales que tienen la capacidad suficiente para competir con talentos extranjeros son minorías entre las minorías.

Sería lo suficientemente bueno tener una exposición mínima a los conceptos de programación y visión general del campo durante los estudiantes de primer año y segundo año. Aquellos que estén interesados, motivados y con talento suficiente serían identificados y tendrían la opción de someterse a un plan de estudios especial para concentrarse en una de las muchas áreas de la informática (por ejemplo, algoritmos, sistemas, ingeniería de software, etc.). Serían algunos de los mejores.

Personalmente, me enseñaron programación en la escuela secundaria. Aprendimos algunas cosas bastante básicas con LOGO en el grado 5 y BASIC en el grado 6. Mirando hacia atrás, puedo decir que esto fue inmensamente útil para dar forma a mis habilidades analíticas y de resolución de problemas.
En mi opinión, la programación es mucho más que capacitación profesional para ingenieros de software. Enseña a los estudiantes importantes habilidades para resolver problemas, perfecciona sus habilidades de razonamiento lógico. Con una gran parte del plan de estudios de la escuela intermedia que se basa en la comprensión conceptual (incluso las matemáticas), la programación básica puede enseñar a los estudiantes a ponerse sus gorras de pensamiento y comenzar a aplicar lo que saben.
Además, en el mundo actual, el conocimiento de la programación ya no es una prerrogativa de los programadores de software. Por lo menos, una persona puede usar las habilidades que adquiere en la escuela para hacer algunos cálculos rápidos o para construir un buen sitio web para sí misma.

Una consecuencia que otros no han mencionado: habría más programadoras.

Yo personalmente tomé mi primera clase de ciencias de la computación en sexto grado, como estudiante en el Programa Magnet de Matemáticas, Ciencias e Informática en la Escuela Secundaria Takoma Park. Continué tomando clases de CS en la secundaria y preparatoria. Estaba realmente interesado en la programación desde el principio, principalmente porque disfrutaba el pensamiento lógico, y ahora me estoy especializando en ciencias de la computación en la universidad.

Cuando hablo con programadores masculinos y femeninos, escucho a muchos programadores masculinos decir que comenzaron a programar jugando juegos de computadora y luego comenzando a programar sus propios juegos. Muchas programadoras (como yo) dicen que fueron introducidas a la programación en una clase de CS. Nadie me había regalado un juego de computadora, y ninguno de mis amigos estaba programando, por lo que la programación nunca se me había ocurrido como algo que hacer antes.

Como consecuencia del marketing y las expectativas sociales, las niñas están menos expuestas a la informática en su vida fuera de la escuela. Vea este artículo sobre por qué la cantidad de mujeres en CS ha disminuido desde los primeros días de CS (en realidad, las mujeres fueron las pioneras del software; consulte este artículo). Se debe a que las primeras computadoras personales se comercializaron para niños. Incluso mientras tomaba clases de CS y me iba bien en la escuela secundaria y preparatoria, me sentía incómodo y no pertenecía a la cultura “hacker” / “geek”, que parecía muy masculina.

Ciertamente, necesitamos cambiar las expectativas para que las niñas se sientan cómodas con la programación por sí mismas, pero mientras tanto, dar clases tempranas de CS introducirá a muchas niñas a la programación a una edad temprana, antes de que vean que sus compañeros de clase masculinos ya se han salido con la suya. adelante y siente que no pueden ponerse al día. Estoy muy contento de haber tenido esa oportunidad.

Los beneficios de aprender a codificar no son exclusivos de los ingenieros de software. La codificación ha penetrado en todas las ramas de la ingeniería. Creo que aprender a codificar a una edad temprana tiene sus propios beneficios, pero bajo ninguna circunstancia debería ser obligatorio por las razones destacadas en las respuestas anteriores.
Otra ventaja de aprenderlo temprano es que tienes mucho tiempo para experimentar y explorar las áreas de aplicación, al contrario de hacerlo por primera vez en la universidad, cuando estarás demasiado ocupado completando tareas de laboratorio que te dejarán sin tiempo para uso creativo de la codificación.
Tuve la oportunidad de aprender programación en la escuela secundaria y lo usé para desarrollar un programa para calcular diferenciales e integrales de polinomios y lo usé para eliminar cálculos mundanos de mis tareas de matemáticas. Aunque no fue un gran invento, me dio satisfacción desarrollar una herramienta que usa código para simplificar mi trabajo.
Ahora en la universidad me resulta muy útil cuando tengo que codificar en MATLAB o resolver matrices de orden superior.
También lo ayudará a desarrollar habilidades como el reconocimiento de patrones, el desarrollo de algoritmos para problemas complejos y la búsqueda de rutas alternativas eficientes para resolver un solo problema.

Por “qué pasaría”, ¿qué queremos decir?

En el gran esquema de las cosas, para la sociedad? Supongo que la respuesta sería “no mucho”. Mi hijo fue a escuelas privadas donde los niños comenzaron a aprender programación en los grados inferiores.

Resultado: no creció para ser programador o ingeniero. Tiene un trabajo con una compañía de seguros. Él puede ayudarme cuando tengo un problema con mis computadoras y evidentemente es bastante inteligente con las suyas, pero eso es todo. Para muchas personas, el mundo no gira en torno a la tecnología, excepto en la medida en que ha llegado a dominar nuestras vidas externamente.

Posiblemente se inculcará algún grado de pensamiento crítico. Eso sería bueno. Sin embargo, puede desarrollar eso enseñando literatura (del tipo real, no el YA pap) y habilidades lingüísticas, que también traen consigo la enseñanza moral y ética.

En mi escuela, hemos tenido clases de informática desde el primer grado y seguiremos teniendo hasta nuestro último año en la escuela secundaria. Nos enseñan cualquier cosa, desde MS Paint hasta Pascal Programming, desde HTML hasta Computer History.

Creo que nos beneficia en términos de estar preparados para el mundo moderno. Es práctico ser bueno en la computadora hoy en día, en más formas que las redes sociales y MS Word y PowerPoint. Por ejemplo, se nos enseña cómo usar MS Excel para la contabilidad.

Creo que también nos proporciona a los estudiantes descubrir si estamos para una carrera relacionada con la tecnología o no.

Y debido a que se nos enseña a una edad tan temprana, ahora tenemos tiempo para perfeccionar nuestras habilidades informáticas y ser competitivos en el mundo de la informática. No tendremos que adaptarnos más adelante. Estamos familiarizados, cómodos y seguros con el uso de computadoras.

La programación se enseña en las escuelas intermedias y secundarias, pero no en la mayoría.

En la escuela secundaria a la que asistí, la programación de computadoras I y II definitivamente eran clases que podía tomar. Sin embargo, solo enseñaron C ++ y C #, y la segunda clase solo lo llevó al Polimorfismo y la Herencia, nunca enseñó otros conceptos complejos y abstractos.

Nos enseñaron QBasic y Visual Basin en la escuela secundaria y C ++ en la escuela secundaria. Me encantó. Aunque estaba en literatura (y elegí eso como mi especialidad en la universidad) no podía esperar a mis clases de programación. Y tengo que decir que cambió mi forma de pensar, y cambió mi forma de ver la Tecnología (como no profesional) y cambió mi forma de ver el mundo.

Estoy bastante seguro de que algún día volveré a aprender programación, solo como un hobby.

Nada. Las matemáticas y la literatura se enseñan en la escuela secundaria. No produce poetas ni genios de las matemáticas. Es cómo enseñamos que es malo. Lo que enseñas es menos relevante.

Los estudiantes aprenden habilidades coherentes y consistentes para resolver problemas.

Eso sería realmente impresionante. Me enseñé a mí mismo, pero creo que hubiera sido mucho más fácil si tuviera un instructor humano, no solo Google.

No cambiaría mucho. Muchas personas no piensan de manera lógica, incluso con entrenamiento.

¡Mira esto y tu voluntad obtendrá todas tus respuestas!