¿Se puede enseñar a programar en 8 horas?

¿Se puede enseñar a programar en 8 horas? Ese es el reto y la pregunta que nos hacemos hoy.

Sonia Alemany es una chica joven, simpática, inquieta y con ganas de aprender, que trabaja como Social Media Marketer. Hay bastantes chicas jóvenes, simpáticas, inquietas y con ganas de aprender, pero Sonia es especial. Sonia quiere aprender a programar.

Las intenciones de Sonia me hicieron reflexionar: hay mucha, mucha gente trabajando alrededor de Internet que no sabe programar y que ve el desarrollo como algo oscuro e inaccesible. En Estados Unidos, es más corriente que la gente de gestión -desde product managers a comerciales- tengan conocimientos técnicos o provengan del área de desarrollo, pero, en España, negocio y desarrollo son, normalmente, dos mundos que conviven y se ignoran mutuamente.

Yo creo que toda la industria se beneficiaría enormemente si dichos mundos dejaran de ser compartimentos estancos y empezáramos a construir vasos comunicantes. ¿Y si organizáramos un evento de un día? ¿Podríamos enseñarles a programar en 8 horas?

Tarjeta Perforada

La respuesta es evidente: no. Se tardan meses en formar a un desarrollador novato y años en conseguir adquirir la destreza y conocimientos necesarios para darte cuenta de que… debes seguir aprendiendo.

Pero no me refiero a enseñarlo todo, sólo lo básico, lo imprescindible. Olvidémonos de la compilación y el linkado, del diseño de base de datos en quinta forma normal, del TDD o los algoritmos de ordenación más eficientes. Hablo de lo realmente básico.

Si el público objetivo -comerciales, gurús del marketing, consultores, community managers, diseñadores, analistas, directivos de empresas informáticas o, ¿por qué no?, hasta mi mujer- conociera de una manera básica qué implica la programación, ¿no creéis que sería más fácil que nos entendiéramos todos? Si un gerente supiera cómo hacer un CRUD simple, podría explicarle de una forma más sencilla por qué tengo problemas con la gestión de hilos. Si un emprendedor conociera cómo se crea un formulario, sería más fácil que comprendiera el alcance de su proyecto.

¿Cómo les enseñaríais?

Vale. Imaginemos que nos lanzamos como valientes y montamos nuestro curso. ¿Qué les enseñamos? ¿Cómo les enseñamos? No debemos perder de vista nuestro público objetivo, gente que tiene otro trabajo –su trabajo- y con la adolescencia ya superada. Para mantenerles motivados, necesitamos que su esfuerzo obtenga una recompensa casi inmediata. Por eso, yo apostaría por HTML5 + Javascript.

  • Nos olvidamos de complicadas instrucciones de instalación y configuración “bajaros la última versión de Chrome
  • Podrían utilizar cualquier editor de texto para programar
  • No necesitarían compilar ni desplegar aplicaciones
  • Podrían depurar la ejecución de sus programas
  • Verían el resultado de su desarrollo de forma instantánea
  • ¡Crearían una página web! Podrían colgarla en su propio Dropbox y hacerla pública de forma sencilla

Sí, JavaScript puede ser un lenguaje proveniente del averno, pero tiene todo lo que necesitamos para enseñarles a programar. Gracias a HTML5 tenemos un almacenamiento local  -toda una base de datos ACID, SQLite– y, por supuesto, posibilidad de trabajar offline con la misma.

Por contra, JavaScript es un lenguaje dinámico y eso una dificultad añadida a la hora de detectar los errores de programación. Tampoco es orientado a objetos pero, es que, ni siquiera tengo claro si habría que enseñar orientación a objetos en ¡8 horas! En cualquier caso, hay frameworks como Mootols que simulan esa orientación a objetos en JavaScript.

¿Qué les enseñaríais?

Apostamos por HTML5+Javascript y, ahora, ¿qué les enseñamos? Si solo disponemos de 8 horas, deberíamos ceñirnos a lo realmente básico para comprender de una forma más profunda el trabajo de un desarrollador:

  • Programación de interfaces y captura de eventos con un formulario HTML
  • Variables y métodos
  • Control del flujo de ejecución de un programa con instrucciones condicionales y bucles
  • Acceso y gestión de datos con la API de datos de HTML5

Con que en un solo día pudieran aprender los conceptos y sintaxis necesarios para completar con asistencia una simple lista de to-dos que se almacenara localmente, creo que todo el mundo se daría por satisfecho… y más de uno no podría creerlo.

¿Me he vuelto loco?

Además de las complejidades técnicas, creo que el mayor problema para diseñar el curso sería acotarse a lo estrictamente imprescindible para que entendieran los conceptos. Que vayas a utilizar lenguaje HTML, por ejemplo, no quiere decir que les tengas que enseñar la etiqueta <img> si no vas a necesitarla.

Y, por supuesto, habría que conseguir que el evento fuera muy dinámico y ameno. Probablemente habría que utilizar mi adorada teoría del juego o gamification. Hay que conseguir vean como cada paso como un reto apasionante o se aburrirán en menos de dos horas. Que un técnico de Recursos Humanos se divierta insertando un campo alfanumérico en base de datos, parece una tarea titánica.

Así que… ¿Me he vuelto loco? Puede. Pero algunas locuras merecen la pena.

¿Qué pensáis vosotros? ¿Creéis que puede hacerse? ¿Creéis que podríamos enseñarle a alguien a programar desde cero en sólo 8 horas? ¿Qué lenguaje o plataforma elegiríais? ¿Qué creéis que sería imprescindible que aprendieran?

Estoy seguro de que hay mucha más gente como Sonia. Gente a la que a lo mejor sólo le hace falta un pequeño empujón para empezar a aprender. Gente que cree que nunca podrá preguntar por qué necesita conocimientos avanzados de física cuántica. Gente que no pretende convertirse en el próximo John Carmack sino aprender un poco más sobre cómo están hechas las aplicaciones y páginas que utilizan cada día.

La verdad es que sería todo un reto ¿Qué creéis vosotros? ¿Creéis que podríamos hacerlo?

  • Me gusta la idea, no creo que sea difícil.
    Yo lo que si haría es acampar un poco mas en las diferencias. Sobre todo porque la gente que no sabe programar creen que un metalenguaje y un lenguaje de programación como Javascript son lo mismo.

    • Es ese tipo de cosas las que creo que pueden llevar a confusión y deberíamos evitar en un curso de 8h, explicar la diferencia entre metalenguaje y lenguaje de programación y cosas similares…

      Puede que fuera difícil para los técnicos ceñirnos a lo realmente MUY básico y no irnos por los cerros de Ubeda. Recuerdo que, un dia, mi mujer me pidió que le explicará REST y acabé contandole entero el protocolo HTTP… 😛

    • Desde luego, la recompensa sería inmediata y muy visual 🙂

      Programar para Kinect tendría unas implicaciones que hacen que tenga que descartarlo para este tipo de cursos/eventos pero a ese tipo de cosas me refería con proporcionar motivaciones intrínsecas al trabajo que se fuera haciendo.

  • Me has dejado anonadado!!!! 😀

    La idea me parece muy muy interesante, el único problema que realmente le veo yo, es la asistencia de interesados, no se como están las cosas por Madrid, pero creo que por mi tierra no hay mucha gente como Sonia. Aunque tal vez es que no me he molestado en buscarla!!!

    La idea que propones tú de usar HTML5 + Javascript me parece bastante aceptable, porque funciona bien en cualquier sistema operativo y no requiere de un IDE, ni de un compilador, ni de una instalación compleja que harían que el curso se alargase. ¿Estas seguro que en 8 horas podrían hacer algo interesante? y sobretodo ¿entenderlo correctamente? … empiezo a visualizar la idea 🙂

    ¿Tienes intención de hacer esto de verdad o es solo una idea? si lo quieres llevar a cabo avisa con tiempo para ver si puedo echar una mano, porque me encanta la idea.

    Un abrazo.

    • No tengo ni idea de que aceptación tendría si propusiera algo como esto. Espero que Sonia no sea un caso aislado pero, tampoco esperaria una avalancha de gente. En cualquier caso, si no lo intentamos, nunca lo sabremos.

      Organizar eventos/cursos/reuniones/saraos para técnicos y de técnicos es uno de los objetivos vitales de Bonillaware así que, si, podríamos considerarlo ^_^ De momento, es sólo una de mis ¿locas? ideas…

  • Ese Boni marcando tendencia 🙂

    Yo me voy a poner “prepotente”… no vendamos que hacer páginas Web es cosa de niños. Me explico, hoy en día la mayoría de aplicaciones son Web, lo que mucha gente de la cuál listas arriba piensa que es hacer una Web, lo que mucha gente dice: “mi sobrino te hace una Web de esas en un par de días”. Me acuerdo con era joven e imberbe que compraba un curso llamado: “Con HTML4 haz Web como churros y échate a dormir” 🙂 Con esto mi respuesta es “No, no se puede enseñar a programar en 8 horas” y “Si, se puede enseñar a hacer algo en 8 horas”.

    La idea mola mucho, pero la idea de fondo, la poner más en contacto la gente de negocio con la gente de desarrollo (obviamente habría que hacer algo a la inversa – “¿Se puede enseñar a gestionar una empresa en 8 horas?” ;)). Pero tengamos cuidado porque es fácil, a los hechos me remito, que se menosprecie el trabajo de un programador.

    Y, sin tener en cuenta mi respuesta, me apunto a un bombardeo! 😀 

    Abrazo!

    • Bueno… me he cuidado muy mucho de repetir una y otra vez que el curso sería meramente funcional y enfocado a los aspectos más básicos de la programación. Un punto de partida pero nunca un final en si mismo.

      A algunos les valdría para tener una idea general y a otros, quizás, para comenzar a aprender a programar… pero estoy seguro que nadie saldría de allí pensando que SABE programar. Eso si, me apunto que, en el caso de que hiciéramos algo así, habría que cuidar el lenguaje para que no se trasmitiera ese típico mensaje de feria de “hágase programador en 10 lecciones” 🙂

  • Estimado Boni! La semana pasada planteaba en mi humilde blog una reflexión muy en la línea de la idea de fondo de tu artículo, pero a la inversa en cuanto a formadores y formados :))) http://www.carlosiglesias.info/2011/06/aportar-valor/

    No me atrevo a opinar sobre si es buena idea o no “enseñarles” (desde luego, lo que parece buena idea es intentarlo si existe la sospecha de que puede funcionar). Pero de lo que sí estoy convencido es de que es muy buena idea que ellos “aprendan”, como lo es que nosotros, los programadores, complementemos nuestra formación con otras áreas.

    • De humilde nada. GRAN blog 🙂

      Lo he apuntado en algún comentario más… puede que el evento fuera aún más interesante si fuera mixto. Es decir, si al mismo tiempo que enseñas los rudimentos de la programación a los no técnicos, enseñaras los rudimentos del negocio a los desarrolladores.

      ¿Crees que habría demanda?

      • Pues mi intuición y mi experiencia me animan a inclinarme por el sí, creo que habría demanda. 

        De hecho, un formato Open Space sería cojonudo, yo me apuntaría fijo 🙂

  • gnz/vnk

    Interesante…

    Lo único que veo dudoso es hacerlo en un evento de una jornada. Quiero decir, 4 ó 5 tardes de 2-3 horas? Bueno. Pero ¿todo en un día? Uhmm… No sé si realmente tendría suficiente permanencia o si se convertiría en un maratón de un día y luego si te he visto no me acuerdo.

    Sea como sea, la elección de HTML+JS me parece razonable… pero hay otras que también pueden ser bastante buenas. Hace años, un puñado ya, recuerdo haber ayudado a una persona a aprender o a empezar a aprender a programar usando el IRC y mIRCScript. Lenguaje cutre donde los haya, pero el entorno simple y las limitaciones la verdad es que lo hicieron muy sencillo para aprender. Un entorno que reacciona ante eventos (mensajes en un canal o mensajes privados) recibe siempre texto que puede procesar con ciertas limitaciones y devolver de nuevo texto.

    De hecho, existe un buen número de entornos similares… Podemos programar dentro de una hoja de cálculo o dentro de un editor de texto. Podemos hacer scripts para muchos paquetes de edición de imágenes o dentro de juegos. Lo que, en mi opinión, une a todos estos es que el ámbito es mucho más específico que hacer una aplicación web con HTML y JS.

    La diferencia con HTML+JS es que es también menos habitual. Quizá representa más el concepto general de programar pero menos el de construir una aplicación.

    De cualquier modo, me parece un reto interesante.

    P.D. Javascript sí es orientado a objetos. Sólo es otro *tipo* de OO. Dado que el público de esto sería gente que no conoce ni un tipo (clases) ni otro (prototipos), creo que sería bastante innecesario tener que simular clases.

    • Yo he propuesto HTML+JavaScript porque creo que se venderia mejor a los profanos en la materia. Quien más quien menos, sabe que es una página web pero, si les empezamos a hablar de mIRCScript… a más de uno se le pone el pelo verde 😛

      También estoy de acuerdo contigo en que lo más didáctico sería hacerlo en varios dias para que asimilaran y asentaran los conocimientos pero, una vez más, propongo un sólo dia por un tema comercial: creo que a la gente le daría mucha menos pereza.

      ¡Muchas gracias por la aportación!

  • Es imprescindible saber los rudimentos básicos de programación para todos los que trabajamos en el mundo online.
    Al menos yo tengo la suerte de contar con gente muy cercana que me resuelve las dudas pero desgraciadamente esto no es muy frecuente entre las nuevas profesiones 2.0

    Pd. Me alegro de haberte inspirado

    • Ese es el foco. De hecho, también creo que sería muy enriquecedor que los programadores supieran los rudimentos básicos de negocio. Quizás sería aún más interesante organizar un evento mixto 🙂

      Me alegro de que te haya gustado ^_^

    • Al

      Sonia, David, en mi opinión creo que os equivocáis. Programar es el (opcional) segundo paso. El primer paso debería ser entender la arquitectura de internet (si vas por el mundo web).

      • Me llamarás optimista pero… había pensando dedicar al menos un pomodoro a explicar el protocolo HTTP, la arquitectura de Internet, DNSs y demás… y hasta te había incluido en mi claustro ideal de profesores para ese día ^_^

        Ya sabes Al, tu me das la mano… y yo te cojo el brazo 🙂

        • Al

          Ná, me he explicado mal, la arquitectura de *una aplicación de internet*. Que papel juega cada una de las partes (navegador, html, js, servidor, bbdd, integración con apps como fb o twitter, etc.), ni mucho menos les hace falta saber nada del protocolo HTTP.

          • Interesante… lo incorporo a la idea. Arquitectura en n-capas supongo, teoría pura pero imprescindible.

  • “La respuesta es evidente: no. Se tardan meses en formar a un desarrollador novato…” Ciertas consultoras lo consiguen desde cero en 15 días y los ponen a trabajar sin más. No sé si el resultado cuenta como programación. 😀

    La formación es sobre todo un proceso personal de estudio y práctica, así que me centraría en crear un tutorial, con las menos palabras posibles, pequeños ejemplos ilustrando cada sección, y que permitiese recoger feedback para ir modificandolo. Imagino que para el que lo escriba sería una interesante reflexión sobre la programación.

    Me imagino un web con perfiles de usuario, y test unitarios que ir completando para conseguir logros. Es un poco creepy tener que construir una jaula de Skinner para que un servicio tenga exito, pero funciona 😛 Ver http://www.nickyee.com/eqt/skinner.html

    Habría una tarea previa de investigación para ver como otros han enfocado la tarea. En Ruby hay varios ejemplos curiosos.

    Uff ya me imagino convirtiendolo en concurso de televisión, con un candidato para cada concursante llendo a entrevistas de trabajo jaja, delirante.

    • Buenísima aportación. Conozco la jaula de Skinner porque estoy profundizando mucho en el tema de la Gamification. Si ahora tuviera que programar una aplicación desde cero, no dudes ni un sólo momento que la implementaria para los primeros pasos de los usuarios: acciones sencillas y recompensas inmediatas y, a cada paso, abrir nuevas opciones.

      No se me ha pasado por la cabeza ser tan ambicioso como tú con lo que propongo pero, supongo que, en este caso, la jaula de Skinner estaría compuesto de los conocimientos que les proporcionarias a los asistentes. Muy pocos y muy dosificados.

      Un saludo.

  • Juanjo Olabarria

    Hola,
    Reto interesante. En mi opinión apostaría por SmallBasic (http://www.smallbasic.com) para aplicaciones de escritorio, tiene hasta tortuga (sniff, que tiempos aquellos con LOGO).
    Para web… ¿qué te parece WebMatrix con Razor?
    Los dos requieren de instalar un IDE, pero muy sencillo y con botones grandes. Jeje.
    Ya nos contarás!!!
    Saludos

    • Mira… hasta consideré al escribir el artículo diseñar el evento con Scratch (http://scratch.mit.edu) pero luego pensé que, la gente que realmente quisiera asistir al algo así, preferiria trabajar sobre algo REAL… así que, HTML5+JavaScript.

      Hay otras posibilidades, pero creo que ninguna es tan fácil de publicar y distribuir como una página web. Y por supuesto, sin instalar ningún IDE.

  • Con 8 horas de curso les puedes enseñar los conceptos básicos, pero creo que se van a ir con un jaleo en la cabeza… 🙂 que tendrán que dedicarle unas cuantas horas más en ponerle orden.

    Por cierto, supongo que lo tienes localizado, pero en el contador de “Me gusta”, después de las fotos te sale “y le gustó a %(count) más” . Un saludo y ánimo.

  • Daniel López

    Yo lo que si he hecho ha sido dar cursos a mandos intermedios para enseñarles cómo funcionaba “la cosa esa” que gestionaban llamada aplicaciones web y la tecnología, factores etc. que andaban implicados. Programar es una cosa muy técnica, poner tiritas, hacer vendajes de compresión y saber primeros auxilios no te hace entender lo que hace un médico, y no le veo yo el quid, pero no seré yo el que le quite la ilusión a nadie :).
    Un detalle, deberías poner “quinta norma formal” entrecomillado, si es cachondeo, o escribir “quinta forma normal” ;).

    • Hombre, creo que los objetivos serían primero que al menos tuviesen una noción de lo que puede llegar a costar lo que piden, si ven lo “complicado” de hacer un formulario, podrán extrapolar el tiempo y dificultad de “una aplicación mágica que me saque lo que deseo en el momento que lo deseo”. Y segundo que tuvieran un camino “marcado” para poder hacerse sus propias cosas “simples”, como una web con un texto, formulario de contacto y poco más, con esas nociones podrían buscar información ampliada de forma autónoma en plan ir a google y poner “insertar imagen html5”.

      • Daniel López

        Yo es que no creo que puedan hacerse una idea y extrapolar nada a partir de un simple curso de 8 horas de HTML+JavaScript, aparte de que en 8 horas ni siquiera has arañado el barniz. ¿Acaso les va a dar una idea para entender lo que cuesta un HTML que funcione en varios navegadores? ¿Con CSS? ¿AJAX? Y eso sólo con la parte “hacer paginas web”, que es con lo que se van a quedar. Pero… ¿Diseño/optimización de BDD? ¿Despliegue de aplicaciones en servidores de aplicaciones? ¿Conflictos de librerias o tecnologias…? ¿Eso lo van a extrapolar de 8 horas de HTML+JS?
        Joer, si yo he tenido jefes con años de carrera, muy buenos técnicos en su día, pero sin experiencia en desarrollo web y no eran capaces de extrapolar todo eso por que todavía pensaban en cliente/servidor controlado.
        Y conste que yo he dado una parte de asignatura de un master para profesores sobre nuevas tecnologías en la educación y precisamente me pidieron que les “enseñara a programar” en unas 10-12 horas para que “pudieran hacer sus cosillas”, así que no estoy teorizando.

        Y no digo que el objetivo de acercar ambos mundos no sea loable, que lo es y además necesario, pero, IMHO, hacerles un cursillo de programación de 8 horas no creo que sea el camino.

        • Oscar

          Totalmente de acuerdo con Daniel. Ademas si los directivos ven q programar es algo q se puede “aprender” en 8 horas, aun mas ganas tendran de contratar personas sin conocimientos, darles un cursillo y, venga, a hacer “paginas web”.
          Sin realmente ensenar la complejidad q supone desarrollar software (y esto si q no se puede explicar en 8 horas), en mi opinion creo q una inciativa asi puede causar el efecto contrario.

          • no me refiero a enseñarlo todo, sólo lo básico, lo imprescindible” no creo que nadie con dos dedos de frente piense que se puede aprender todo lo que hace falta saber en la programación en 8 horas. Pero, ni de programación, ni de repostería, ni de coleccionismo de maquetas de barco.

            Como apunta Gonzalo Camarero, “…no me refiero a enseñarlo todo, sólo lo básico, lo imprescindible…“.

            Supongo que todo es cuestión de saber comunicar bien las cosas y acotar muy bien lo que se puede y no se puede dar en 8 horas, desde luego, ni CSS, ni AJAX, ni librerías, ni servidores de aplicaciones que comenta Dani…

            ¿Es suficiente? Probablemente no ¿Es mejor que NADA? Quiero pensar que si.

  • Xavi Gost

  • Xavi Gost


    Programa o se programado.

    Yo me apunto David, 

    #ChallengeAccepted

    • Ese video me encantó cuando lo vi por primera vez (te he editado el comentario porque lo habías puesto dos veces… como eres puro ímpetu :P)

  • Yo no es por llevar la contraria pero y si te sale el tiro por la culata? si eres capaz de hacer que un comercial o product manager sin ninguna experiencia consiga hacer formularios y gestionar datos en 8 horas, en un entorno que no necesita ni instalación ni nada, la próxima vez que le digas que la nueva funcionalidad no estará lista en menos de 2 semanas se pueden reír en tus fauces… no?

    Que conste que a mi la elección de plataforma me parece apropiada (por las razones que tu das), pero ya cuando se entra en temas de motivación y demás, la cosa se complica mucho. Si es que somos demasiado complicados! Con alguna gente la idea de meter teoría de juegos por medio funcionaría, pero otros pensarán que estás de coña.

    Algunas de las ideas que mencionas suenan muy bien, como la ‘recompensa casi inmediata’ o que sólo sería ‘empezar a aprender’, pero es bastante más complejo de lo que parece por lo de siempre: ‘recompensa’ significa cosas muy diferentes para cada persona. 
    Además la gente suele tener expectativas bastante equivocadas… les dices que van a aprender a programar en 8 horas y se empiezan a ver a si mismos moviendo pantallas en el aire a lo minority report…

    En fin, que ya me callo; un par de sugestiones para plataformas; parecido a scratch tienes Alice (http://alice.org/) y las dos versiones de processing (http://processing.org/) (http://processingjs.org/). También se pueden hacer cosas chulas con lenguajes de script encima de plataformas visuales como LSL (http://en.wikipedia.org/wiki/Linden_Scripting_Language) en second life o OpenSim, que necesitan más organización e instalación, pero ‘en teoría’ funcionan mejor a la hora de ‘motivar’ y ‘recompensar’.

  • Coincido plenamente en  HTML5 + js (jquery, prototype, etc), mas yo añadiría un framework en PHP, la curva de aprendizaje en un principio se dificultaría, pero luego iria todo marcharía bien, hombre 8 horas igual un poquito corto, a lo mejor con el Cakebook, se puede lograr algo :D.

  • A mí me parece un aciertazo empezar por HTML 5 + JavaScript sobretodo porque es lo más inmediato, viendo resultados prácticamente instantáneos, lo único que echo en falta es CSS3, para darle algo de estilo a todo lo que vayamos aprendiendo.

    Respecto a los que comentan que “esto no es programar” creo que sobran las palabras y que David lo deja claro, estamos hablando de algo rápido para ver por donde van los tiros, no de convertirse en programadores de 8 horas.

  • Viliomo

    Con 8 horas me parece que quieres abarcar demasiado. Quiás deberías aspirar a que entienda  que son las variables, arrays , arrays asociativos , bucles, condicionales y funciones y si queda tiempo (que no creo) eventos

    Usar javascript y el navegador me parece una buena idea,pero no creo que debas añadir nada de  html (eso ya son  otras 8 horas) y mucho menos usar ningun framework de javascript. Limitate a algún alert o document.write para mostrar datos y un prompt o confirm  para recoger datos.

    La universidad de Navarra tiene un tutorial muy claro y sencillo http://www.unav.es/SI/manuales/TutorialJavaScript/indices/ que puedes usar como texto de referencia .

  • Bichotoblog

    He dado cursos de programación de bastantes más horas, a personas con perfiles poco o nada técnicos. Mi mayor fustración llega siempre cuando me hago consciente de que al 20% de los alumnos el curso les queda corto, más o menos al 40% les cuesta trabajo pero lo consiguen y el resto no ven la hora de que todo acabe para olvidarlo.
    No obstante, entiendo que los perfiles de los que se habla en el post no son los mismos que con los que yo he trabajado, la experiencia a la que me refiero aquí ha sido con alumnos provenientes del INEM.
    Dejando de un lado los lenguajes que usemos para el curso, opino que la mayor dificultad de un curso de programación express es encontrar unos alumnos homogéneos.
    Saludos:)

  • vellebue

    Mis dos céntimos.

    Evidentemente como comenta la totalidad de la gente por aquí con 8 horas no llega para formar a nadie para realizar un trabajo mínimamente productivo desarrollando. Tampoco creo que de para que nadie sea capaz ni siquiera de dar estimaciones sobre cuanto cuesta desarrollar incluso las funciones más básicas.

    Pero si que puede servir para empezar a romper la brecha que separa a los técnicos de los no técnicos, un asunto que yo considero clave. Si hay una idea que en los últimos años me ha rondado por la cabeza es cómo romper esa brecha. Porque hubo un tiempo en que los técnicos éramos privilegiados que desde nuestras aisladas torres de marfil utilizábamos nuestros conocimientos arcanos para hacernos los importantes.

    Pero ese tiempo hace años que quedó atrás. Todo eso se volvió en nuestra contra y ha contribuido a la devaluación de nuestra profesión. Hay que recuperar el terreno perdido y una de las acciones clave es acercar a los no técnicos al desarrollo de software.

  • Modo rompehuevos 1

    Obviamente, estoy infectado por mi sector pero para bonillaware en el plan de negocio… formación online, con su público internacional, con su temario que poder releer cuanto quieran, sus videos y su sesión de videoconferencia previa ( chat + audio + pizarra con diapositivas) para suplir la presencial 😀

    Respecto a cursos de programación en 8 horas.. hay a docenas ! Casi cualquier curso de programación de Formación contínua es poco más que 8 o 9 slides en Flash… asi que si se les puede llamar curso.. pues si, es factible x)

    Modo rompehuevos 2

    Yo más que un curso de programación para no técnicos como tal, quizá llevaría el foco más a un curso que llamaría “Un técnico comprendido es un técnico productivo”, con módulos explicativos sencillos sobre infraestructura, capas que intervienen en una aplicación (front, backend, BD, etc..) funcionamiento interno, terminología (threads,  
    persistencia
    , concurrencia ! ), etc… creo que realmente los no técnicos no necesitan programar, ni siquiera lo más básico, necesitan:

    – entender las implicaciones de lo que prometen a los clientes… para no firmar imposibles
    – entender las implicaciones temporales de un cambio de requisitos… para saber estimar tiempos
    – entender las implicaciones básicas de la usabilidad, el SEO, etc… para vender mejor

    Si logras eso no ya con 8, sino aunque sea con 80 horas, habrás hecho un enorme favor a las dos partes implicadas de tus clientes, personal no técnico y personal técnico !

    just my 2 cents 🙂

  • jessi

    Me gusta la idea de HTML5 + js. Creo que sería un reto interesante. También decirte que yo creo que más que “enseñar a programar en 8h” diría que sería “enseñar cómo aprender a programar en 8h”. 
    Lo primero que me viene a la cabeza…. yo lo enfocaría así: Un brochazo de qué se puede hacer mediante ejemplos, y un proyecto para conseguir un objetivo final incrementalmente. Siguiendo el principio de iteraciones con producto terminado, pequeños ejercicios que permitan a cada cual seguir su ritmo (durante y después del curso) de tal forma que al final de cada uno han conseguido algún pequeño añadido. 

    Si lo pones en práctica… ya contarás la experiencia. Tiene que ser interesante…..

  • ¿Cuándo me enseñáis a programar en 8 horas? beCode se sube al carro en los dos bandos… Como maestros y como alumnos =)

  • Buenas,

    yo tuve la misma idea que tu al ver a un amigo (no informático) que tenía problemas en su curro. Por lo que me planifiqué un fin de semana para darle un curso de 8 horas (4 horas el sábado y 4 horas el domingo para que asimilara los conceptos) . El temario… pues lo que yo pensé que sería lo mínimo y por lo que he visto no estaba muy desacertado:
    – URLs, URIs
    – HTTP (métodos, parámetros, cabeceras, cookies, códigos de respuesta)
    – XML (con una explicación mínima de DTD y XSD para que le fuera sonando)
    – HTML (etiquetas que va a utilizar, evitando las que después le van a liar al ver CSS)
    – CSS (selectores, jerarquía y propiedades básicas)
    – Explicación de la magia de internet (cliente + servidor web + otras cosas)

    Esto fueron 8 horas y cuando terminamos cada sesión mi amigo terminaba con un cacao brutal, pero como el chaval estaba motivado por aprender se esforzó en las semanas siguientes y consiguió encontrar un curro de editor de contenidos Web y se va defendiendo muy bien y mejorando día a día.

    Con este ejemplo te digo lo más que he conseguido en 8 horas, porque quería que el chaval tuviera una buena base para ir construyendo sobre ella.

    Y ya tengo previsto prepararle más adelante en Javascript, pero creo que como mínimo tendré que dedicarle otras 8 horas si quiero que vea todo a fondo.

    Un saludo.

    P.D.: Si te planteas hacer algo similar te podría echar una mano que ahora lo tengo reciente… ;-P

  • Me parece una idea estupenda.  Si haceis algo así yo “haría por ir”.

  • La idea esta buena!, yo voto por que sí se puede. Aunque a pesar de ser algo muy básico da una buena base o por lo menos una perspectiva diferente a la que tengan, que probablemente ni siquiera la tengan! de lo que es programar, construir algo en el mundo de la informática…
    Lo que puede complicar bastante a este curso, es el nivel que los “alumnos” tengan en la informática, digamos, si usan solo “el jotmeil” va a ser difícil que comprendan cómo funciona algo antes de decirle cómo hacerlo. Pero se puede intentar.. 
    Tal vez se podría empezar el curso de manera inversa, empezar mostrando una web y hacer preguntas a la gente ej: ¿Alguien sabe qué hay detrás de esta web? o (si la web esta en local y sólo la estamos viendo en el navegador) ¿Necesito internet para ver esta web?.. y esta misma página web puede ser la que se vaya a crear en el curso, paso a paso para entender como se llega a ese producto final, desde el punto de vista básico..por cierto, JavaScript es un lenguaje orientado a objetos, de hecho casi todo (funciones, arrays, date, expresiones regulares, etc) es un objeto en sí mismo, que además se extienden del objeto Window. Lo que hace MooTools u otras librerías es facilitar su uso, y tal vez extenderlo un poco haciéndolo más parecido a otros lenguajes OO. Al ser un lenguaje con loose typing puede parecer que no se programa en objetos, y también depende de las habilidades del programador para hacer un código aprovechando la OO

  • La idea esta buena!, yo voto por que sí se puede. Aunque a pesar de ser algo muy básico da una buena base o por lo menos una perspectiva diferente a la que tengan, que probablemente ni siquiera la tengan! de lo que es programar, construir algo en el mundo de la informática…
    Lo que puede complicar bastante a este curso, es el nivel que los “alumnos” tengan en la informática, digamos, si usan solo “el jotmeil” va a ser difícil que comprendan cómo funciona algo antes de decirle cómo hacerlo. Pero se puede intentar.. 
    Tal vez se podría empezar el curso de manera inversa, empezar mostrando una web y hacer preguntas a la gente ej: ¿Alguien sabe qué hay detrás de esta web? o (si la web esta en local y sólo la estamos viendo en el navegador) ¿Necesito internet para ver esta web?.. y esta misma página web puede ser la que se vaya a crear en el curso, paso a paso para entender como se llega a ese producto final, desde el punto de vista básico..por cierto, JavaScript es un lenguaje orientado a objetos, de hecho casi todo (funciones, arrays, date, expresiones regulares, etc) es un objeto en sí mismo, que además se extienden del objeto Window. Lo que hace MooTools u otras librerías es facilitar su uso, y tal vez extenderlo un poco haciéndolo más parecido a otros lenguajes OO. Al ser un lenguaje con loose typing puede parecer que no se programa en objetos, y también depende de las habilidades del programador para hacer un código aprovechando la OO

  • Pingback: Chispas que encienden llamas()