¿Cómo se debe enseñar un curso básico de programación básica?

Los diferentes cursos de programación para principiantes están dirigidos a diferentes personas y para diferentes objetivos.

Si está tratando de enseñar habilidades prácticas de programación a un lego, entonces VBScript en Libre / OpenOffice o Microsoft Office (uno de los pocos casos en los que recomendaría MS Office ya que su documentación para VBScript es mucho mejor) elección.

Si está tratando de enseñar a diseñadores gráficos, entonces JavaScript es un buen contendiente, ya que se usa para guiar los programas Adobe Creative Suite, y muchos diseñadores web en estos días se están aventurando en el desarrollo front-end y la animación Flash, que también utiliza Una variante de ECMAScript.

El enfoque que adopte también depende del período de tiempo, la minuciosidad prevista y qué tan personalizado será el curso. Creo que casi cualquier persona puede aprender a escribir un programa básico en una hora e incluso aprender a disfrutar de la programación en unas pocas horas. Sin embargo, si está tratando de enseñar una clase de 20-30 estudiantes del público en general, entonces tendrá:

  • 80-90% de los estudiantes participaron y siguieron, pero 10-20% de los estudiantes se aburrieron de sus mentes al ritmo lento del curso
  • o 10-20% de los estudiantes muy comprometidos y pasándolo muy bien, pero con 80-90% de la clase completamente perdida.

La forma en que muchas universidades dividen las clases de tipo CS-101 en 2 categorías: una para las especialidades de CS / ciencia / ingeniería, y una de especializaciones no técnicas es un buen enfoque.

La clave es desafiar al alumno la cantidad justa para mantenerlo comprometido. Si te quedas en lo básico por mucho tiempo, el estudiante puede perder la paciencia antes de experimentar las alegrías de construir un programa útil. Si pasas por alto, se rendirán con demasiada facilidad.

Personalmente comencé a programar con QBASIC y luego Visual Basic. No son los lenguajes más prestigiosos, y aunque VB fue bastante útil, la mayoría de los programadores lo menosprecian. Sin embargo, VB (o más bien VB .NET hoy) tiene una sintaxis muy simple; es muy fácil construir aplicaciones GUI con él; y .NET proporciona una gran biblioteca estándar de componentes que permiten a un principiante escribir programas útiles en muy poco tiempo.

Por ejemplo, con VB / VB .NET, puede enseñar a un principiante cómo escribir un programa de correo electrónico sin tener que implementar IMAP / POP3 / SMTP por su cuenta. Del mismo modo, pueden escribir un programa de chat simple usando Winsock sin tener que aprender sobre mensajes TCP / IP de bajo nivel.

Por otro lado, muchos otros idiomas actuales también vienen con una biblioteca robusta desarrollada por la comunidad de componentes abiertos (PERL y CPAN, Ruby Gems, PEAR, etc.). Aunque la calidad, el nivel de soporte y la documentación varían ampliamente de un componente a otro.

Y VB .NET viene con el IDE de Visual Studio, que tiene el código de IntelliSense completo, que es increíblemente útil para un principiante que puede usarlo para explorar y experimentar con nuevos comandos a su gusto. Pero VS también puede ser un poco molesto a veces dada su complejidad.

Por otro lado, puede comenzar a codificar HTML / CSS / JS en cualquier computadora sin instalar ningún software nuevo, y las aplicaciones web tienden a estar más de moda en estos días. Y si desea enseñar un lenguaje de back-end, a pesar de que PHP está cada vez más de moda, es compatible con la mayoría de los servidores web, y la comunidad no se opone al desarrollo de Windows como, por ejemplo, Ruby’s. Y conocer PHP permitiría que un programador principiante extienda CMS populares como WordPress, Drupal, Joomla, etc.

Al final del día, iría con el idioma / plan de estudios que es el más divertido para el estudiante. Mientras se diviertan, aprenderán el material porque están comprometidos y motivados a aprenderlo. Pero, por supuesto, lo que es “divertido” es increíblemente subjetivo. Entonces tienes que sentir a tu audiencia fuera.

Iría con un lenguaje de script, especialmente uno que no sea demasiado estricto en sintaxis y no muy detallado. Probablemente Pyton o Ruby o incluso PHP serían buenas opciones.

Probablemente valdría la pena echar un vistazo a algunos lenguajes que se han utilizado anteriormente para enseñar programación a niños como LOGO. Verifique esta pregunta que hice hace años, las respuestas ofrecen algunas buenas sugerencias:

¿Qué idiomas funcionan mejor para enseñar programación a niños de 8 a 9 años?

La pregunta era pedir opciones apropiadas para enseñar a los niños, pero algunas de las sugerencias también son apropiadas para adultos.