22 julio 2018

Mi profe de cálculo


Justo cuando estoy por subir el capítulo IV de Cálculo Diferencial e Integral, en mi curso Introducción al Pensamiento Matemático para Lernsys, veo que mi profesora de Cálculo en la universidad, doña Verónica Rey Mas hizo su última clase en medio de los aplausos de colegas, alumnos y ex alumnos. Que emoción, ella me enseñó límites, continuidad, derivadas, integrales, Regla de la Cadena, Regla de L´opital, Regla de Barrow, integrales dobles, triples y muchas cosas más del primer ciclo.

La verdad es que yo había tenido un curso de cálculo en Inacap con el excelente profesor Galleguillos, así es que disfruté mucho del repaso claro y metódico de la profe Verónica, que era una máquina de pensamiento algebraico, en ese curso fue donde entendí la importancia del álgebra y donde aprendí a manejarla a pesar de tener la capacidad de concentración de una mosca. No puedo cerrar este recuerdo sin declarar que fue la profesora más linda que pasó por las universidades del Norte y Tarapacá, dejó generaciones de alumnos platónicamente enamorados porque era preciosa y hoy todavía conserva la pinta. Una vez la encontré en el Banco del Estado y me reconoció -cosa rara porque pocos se acuerdan de mí- nos saludamos y le pregunté si todavía enarbolaba el hacha ensangrentada, con que ponía las notas rojas en la U, se rió mucho y dijo "claro, todavía". A mi me hizo clases en 1978, hace 38 años, fue profesora de matemáticas en nuestra universidad durante 49 años, primero en la U del Norte y luego en la Tarapacá.

¿Enseñar a programar en los colegios?
Ví recién en Youtube una entrevista a Rodrigo Fábrega, director de Scratch al Sur, una asociación de profesores que fomenta la enseñanza de programación el los liceos. Decía Fábrega que el gobierno tiene un plan para enseñar a programar en los liceos y van a gastar 4.500 millones de pesos para implementarlo en 3.000 colegios. Si bien estoy de acuerdo en que sería deseable enseñar programación en la enseñanza média, a primera vista me parece un gasto inútil, que como mucho tal vez puede entusiasmar para que alguien aprenda a programar por su cuenta.

Mo existe nada más inútil y pernicioso que "enseñar a programar", la programación sigue siendo -a pesar de todos los esfuerzos de los profesores- un trabajo práctico y artesanal que se aprende haciendo, pero haciendo cosas reales no "desarrollando el pensamiento computacional" con lenguajes artificiosos que solo sirven para gastar horas de la manera más inútil.

Ningún profesor debería enseñar programación, debiese haber una prohibición estricta al respecto. De la universidad salen los peores programadores, inútiles y llenos de prejuicios, todos miran la codificación como un trabajo menor y dicen ser "analistas" "arquitectos" y otras tontas ideas por el estilo, eso es basura. Si en la universidad los deforman ¡imagínense lo que pasa cuando les enseña un profesor del liceo! la mayoría de estos profesores jamás han trabajado codificando y están llenos de prejuicios y engrupimientos.

El enfoque "pedagógico" de la programación es nefasto, parte de la base que se pueden aprender cosas generales y abstractas que te convertirán en un buen programador, lo que es mentira. Los principios para codificar en cualquier lenguaje se pueden aprender en un par de días, lo que en realidad se requiere es mucha práctica en aplicaciones reales al lado de tutores experimentados.

La enseñanza de programación en los colegios siempre ha fracasado en Chile, lo mismo que muchos proyectos educativos en que se han gastado millones durante décadas con resultado increíblemente pobres. ¿Cuanto se ha gastado en la red Enlaces y cuales han sido sus resultados? Como instrumento educativo la Red Enlaces es un fiasco, su aporte ha sido mínimo en comparación con las camionadas de plata que se han gastado.

Scratch al Sur es un proyecto que se basa en enseñar el lenguaje de programación Scratch a los alumnos, esos lenguajes que -supuestamente- "desarrollan las habilidades de programación" siempre han tenido un resultado muy pobre. ¿Quien se acuerda hoy de la tortuguita que iba a revolucionar la enseñanza de la programación? Logo creo que se llamaba, que cosa más tonta y aburrida. Leo que el lenguaje Scratch fue desarrollado por el MIT Media Lab, pésimo antecedente porque tienen a sus espaldas el fiasco de "One Laptop per Child", la estúpida idea de Negroponte justo antes que apareciera la arquitectura ARM, las tablet chinas, el Raspberry y todo eso ¡una idea que nació obsoleta!.

Pero bueno, para innovar hay que fracasar a veces, aunque el lenguaje Scratch no me convence en lo más mínimo ¿como no enseñan mejor lenguajes reales como Python y Java Script, que permiten hacer aplicaciones reales y valiosas en la web? En unas pocas semanas se pueden enseñar esos dos lenguajes, después basta dejarlos solos, en w3schools.com está todo lo que se necesita para convertirse en un progranmador competente. Los profesores son innecesarios.

Y yo no solo diría innecesarios, agregaría dañinos, porque no siendo profesionales que han trabajado años codificando, enseñan un tema que no dominan, lo más probable es que deformen antes que enseñen.

Años atrás vinieron ingenieros de Google a probar a jóvenes estudiando en los últimos años y otros recién egresados para darles posibilidad de hacer una pasantía al campus de Mountain View, se fueron desilusionados, no encontraron ni uno que valiera la pena, lo que corrobora mi idea que en las universidades chilenas los egresados de ciencias de la computación y afines no saben codificar, son malos porque tienen malos profesores.

Me contaba Tom McDonnell que Irlanda estaba en la ruiina más grande cuando empezó todo el asunto de la Unión Europea, y con la incorporación recibieron unos miles de millones de euros ¿que hicieron con esa plata? Crearon cientos de miles de becas para preparar programadores, pero no ingenieros ni arquitectos de sistemas, ni analistas, ni nada de eso sino simples programadores, enseñados por practitioners, gente práctica que trabajaba en la industria y fueron reclutados como instructores por las universidades irlandesas. Además bajaro al suelo los impuestos sobre las utilidades y dieron toda clase de garantías a las empresas que llegaran a establecese allá.

Bueno, todos sabemos como está Irlanda ahora, prácticamente todas las casas matrices de las grandes empresas de computación están allá. Eso es lo que se necesota en Chile pero probablemente no se va a hacer jamás, porque va contra nuestra mentalidad. Nadie quiere formar y a nadie le interesa estudiar para técnico, todo el mundo quiere ser gerente general apenas termine de estudiar y el fisco ve a las grandes compañías tecnológicas como vacas lecheras, que podrán ordeñar con impuestos para pagar los sueldos principescos de nuestro abultado aparato público.

Por eso estamos como farmacia de pueblo chico: no tenemos remedio. Así es Chile, miren:

12 comentarios:

  1. Saso real: otro pais, niña de 9 años, colegio publico, programa en java un rudimiento jugable de un pinguino saltarin de plataforma a plataforma, matando monstruitos, profesores ultra motivados y orgullosos de los resultados de sus alumnos. Supongo que dominando un lenguaje, les costara poco aprender otro cuando cambie la moda.
    Lo supongo porque del asunto no se nada. Solo recuerdo mis lejanos 9 años: cero.cero, la nada misma, me temo que semejante a los pekes de esas edad en nuestro chilito actual...
    e

    ResponderBorrar
  2. Esa es la idea de los profesores de programación y pueden pasar años enseñando a hacer saltar la rana, mover una tortuga en la pantalla o resolver problemas ficticios muy complicados para los que se necesita mucho ingenio, suponiendo que eso les moldeará el cerebro para ser mejores programadores.

    En el mundo real no es así, todos los lenguajes de programación son muy parecidos, sean de alto o bajo nivel y lo importante de cualquier lenguaje se puede aprender en menos de una semana, hay que tener en cuenta que practicamente ningún lenguaje de programación tiene más de 100 instrucciones, lo típico son unas 30-40, y la gramática es muy sencilla. En comparación un lenguaje natural como el español tiene como 70.000 palabras, una gramática endiablada ¡y normalmente lo aprendemos antes de cumplir 2 años! Aprender cualquier lenguaje de computación es muy sencillo, un par de semanas como mucho y no e necesita inteligencia ni mentalidad especial.

    Pero tal como aprender a hablar lo hace cualquiera, lo mismo a leer o escribir, no cualquiera llega a componer poemas de la calidad de Neruda o novelas como Hemingway ¿Cual es la diferencia? Creo que esta es una analogía buena y pertinente, se me acana de ocurrir y eso que no me he tomado ni una cerveza.

    Tal como la literatura, un buen programador se forma haciendo, escribiendo muchísimo código en aplicaciones reales, no en ridículos problemas ficticios, programar es una artesanía (craftmanship) una habilidad que se adquiere con mucha práctica, igual como redactar. Ninguna universidad ni academia puede enseñar a buenos programadores, tal como no se pueden formar buenos escritores

    ResponderBorrar
  3. ..perdón por hacerle la propaganda al diario.
    Yo aprendí lo que sé con un curso básico de Fortran y después a aplicar programación en temas concretos de ingeniería. Sigo creyendo que es lo mejor. Después aprendí un par de lenguajes de codificación más, hice otro tipo de programas, terminé haciendo programas administrativos y contables que funcionaban correcto.
    Volví a contactar con algún colega que siguió en la especialidad. Ya no hacen programas de aplicaciones, toman una "célebre" aplicación, normalmente de universidad americana, y enseñan a cargarle los datos.
    Son aplicaciones muy buenas, pero muy universales. Un pronosticador hidrológico para cualquier cuenca del Mundo, desde una llanura desierta al Amazonas.
    Mi Universidad debería haber desarrollado una docena de aplicaciones para nuestro entorno más inmediato... y no hacen nada. Compran el enlatado, unos profesores aprenden a usarlo y sus cursos consisten en enseñarle a otros.
    Puede que sea práctico en algún grado, pero me resultó decepcionante.

    ResponderBorrar
  4. Ah yo también aprendí Fortran como primer lenguaje, tiempos aquellos, creo qu8e aprendí en una o dos clases, era muy sencillo pero lleno de detalles en el formato y la sintaxis, fácil de equivocarse.

    Es cierto lo que dices de las aplicaciones estandar, hoy en los negocios grandes se usa -casi universalmente- el SAP, un conjunto de software alemás que solo se alimenta de datos y hace todo, claro que las empresas se tienen que amoldar al "modelo SAP", ese es el costo.

    En ingeniería hay paquetes fabulosos, que hacen innecesario el aprendizaje de casi todos los cursos de matemáticas, hoy basta con aprender una introducción a los temas y software como Mathematica, Scilab, Wilfam, Derive... ¡está lleno! Son excelentes y se usan poco en la enseñanza, porque dejan sin tema a los profesores.

    Con paquetes de estadística como SPSS, R, etc. pasó algo uy curioso: mucha gente de biología, ciencias sociales y economía se convirtieron en expertos en alimentar esos programas con datos sin tener la preparación necesaria en estadísticas y se hacen pasar por expertos estadísticos, publicando papers con las burradas más grandes y eso pasa desde premios Nobel hasta profesores de universidad. Eso muestra la cara B de la medalla:; el usode herramientas sin entender bien la teoría que hay detrás. Yo a veces escucho a profesores pontificando sobre experimentos y prueba estadística y me dan ganas de escupirlos, después pienso que ganan como 10 mil dólares al mes y pienso que no son tan estúpidosdespués de todo jaja.

    ResponderBorrar
  5. Pero hay mucho espacio para los programadores de microaplicaciones, incluso las aplicaciónes más grandes necesitan programadores capaces de hacer paquetes chicos de código. Por el año 2000 yo hice una web de "El Programador Casual" que fue más o menos popular en España,
    http://www.bradanovic.cl
    allí publique mi manifiesto del programador hereje
    http://www.bradanovic.cl/pcasual/phereje.html
    Creo que hay cosas que todavía son vigentes. Mi curso "Aprenda Python en 3 días" tuvo éxito en todo el mundo,especialmente en India y USA,
    http://pythonentresdias.blogspot.com/
    voy en las 19.000 visitas sin ninguna clase de promosión, claro que ahora ya va de baja, creo que agoto su nicho y solo tiene unas pocas visitas al día.
    Entre esas cosas que hago y dejo olvidadas está mi curso sobre Raspberry Pi y Arduino para dummies
    http://raspiarduino.blogspot.com/

    Y otro cuando trabajé con linux
    http://unixblues.blogspot.com/

    ResponderBorrar
  6. un sobrino entró a estudiar programación a un instituto que no nombraré y que se supone es de los mejores, ya es el duoc y lo nombro igual. le enseñan cosas primitivas que me imagino que algunas empresas usan, como muchas siguen usando cobol y una hermana mía ya madurota sigue ganando mucha plata programando en cobol, pero como alternativa para trabajadores futuros me parece que andan sumamente perdidos.

    ResponderBorrar
  7. Parte de la inutilidad de estudiar"computación" es queno solo los lenguajes sinoque hasta los paradigmas cambian frecuentemente

    ResponderBorrar
  8. Muy interesante, gracias. Transcribire lo pertinente, como la clarificadora analogia con la literatura .

    ResponderBorrar
  9. Los mejores programadores suelen ser autodidactas, es muy parecido a lo que pasa con la redacción, codificar no es especialmente cretivo pero tiene su miga, hay estilos, hábitoa, uno puede escribir sobre algo redactando bien o mal, igual puede codificar de manera elegante o enredada, y eso está más allá de las "buenas prácticas" es un asunto que sale después de mucha práctica. Lo importante es lo que no se puede enseñar, como en casi todas las profesiones.

    Un detalle que no se nota mucho es que en Chile hay pocos buenos programadores porque tampoco hay buenas empresas de software, y eso a su vez porque los clientes-especialmente el gobierno- también son de mediocre para abajo. Sonda, que debe ser de las empresas de software más grandes de Chile, tiene una historia de fracasos estruendosos, que no siempre han sido culpa de la empresa, muchas veces es la mala calidad de los clientes y de los trabajadores. Tuve amigos que han trabajado allá y hay ene historias de terror.

    Es como un ecosistema donde todo se realimenta, y en Chile parece que muchas veces es para mal.

    ResponderBorrar
  10. ...la MALA PRAXIS apoyada en programas enlatados ya es un mal muy extendido.
    Un ejemplo: Temas fiscales. En este país, en Chile, en todo el mundo civilizado supongo, gestionas casi todo lo fiscal por pantallas oficiales y usando software oficial o validado por entes oficiales.
    Sale una nueva normativa, resoluciones, decretos, inclusive leyes, y un profesional decente debe leerse todo lo nuevo, mas los comentarios de expertos, para poder asesorar y operar como corresponde.
    Luego saldrá un programa aplicativo que será el instrumento con que gestionarás eso ante el Organismo respectivo. Pues bien: los tipos y los jóvenes más, "aprenden" la norma nueva intentándolo con el programa. Ven qué requisitos les pide, por cuales pantallas los lleva. Qué les deja hacer y qué no. Qué resultados arroja. El "legislador" para ellos es el software.
    Cuando deciden consultar algo que la pantalla no les resuelve, tampoco van a leer la normativa. Se adscriben aun foro internet de colegas, leen las discusiones en curso y ponen las dudas propias. Esperan obtener una respuesta rápida sobre las cuestiones mas álgidas por esa vía y no conociendo e interpretando.
    Ya no sabemos escribir bien: esperamos que un programa nos subraye en rojo los errores. Y que el auto nos avise que tiene un problema y qué hacer.
    Llegará el momento en que un cirujano elija cortar o no cortar "si la computadora me deja hacerlo". Es decir cargándole al programa la decisión.
    Están diciendo ya que la "inteligencia artificial" va a ayudar en diagnósticos médicos y cosas así. Van a conseguir que cada vez más supuesto profesionales se recuesten en el software para no pensar, para no decidir y para echarle la culpa a la máquina.

    ResponderBorrar
  11. ¡LOS PARCHES! son la jaqueca de los programadores y diseñadores de sistemas, siempre acumulativos y van generando engendros que después nadie entiende. Por eso aplicaciones anticuadas como la gestión de tarjetas de crédito, cuentas corrientes, control de tráfico aéreo y cosas por el estilo son esperpentos que funcionan a puro pulso. Especialmente en software que debe responder a regulaciones que van cambiando como el tema de impuestos. En Chile el Sistema de Impuestos Internos se hace cargo de casi todos los cálculos y nos "sugiere" un resultado a los contribuyentesque solo debemos hacer un clic, lo que es muy conveniente para los usuarios pero también se presta para mega-fraudes, como el "fraude del FUT", una causa que después tomó un fiscal politiquero para convertirlo en "el caso Penta" y el verdadero fraude quedó oscurecido, gracias al aprovechamento político que hicieron del caso. Toda moneda tiene dos caras, ventajas y desventajas.

    En general yo creo que la mayoría de las cosas de cálculo tienden a quedar en manos de computadoras, es cierto que pueden haber errores, pero muchos más errores se producen cuando las decisiones las toman personas. Por ejemplo los autos que se manejan solos han causado algunos accidentes, pero los accidentes por falla humana de los conductores siempre serán muchos más. MadieN es prefecto, nadieN.

    ResponderBorrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"