Aprender a programar

Dos enfoques que permiten pensar la enseñanza de la programación. Cuál es mejor para cada perfil y su relación con los profesionales del diseño.

Retrato de Mauro Gullino Mauro Gullino Buenos Aires Seguidores: 30

Opiniones:
24
Votos:
64
Compartir:

Cada vez más profesionales del diseño se ven involucrados en ese campo del conocimiento denominado (sintéticamente) «Programación». El ámbito web es quizá el más ilustrativo: en muy pocos casos podemos finalizar el trabajo sin recurrir al acto de «programar».1 Esto se debe a que las interfaces se han vuelto muy complejas. Además (al menos en nuestra región) es casi imposible ofrecer únicamente servicios de diseño web: también debemos maquetar y eventualmente programar. Esta tendencia a la programación abarca muchas actividades, algo que se refleja en el florecimiento de sitios como Codecademy.com.2

Es importante recordar que el software (como producto de la actividad de programar) es un objeto de conocimiento en sí mismo. Por eso existen profesionales dedicados específicamente a este tema. Pero también se puede observar que no solo programan los especialistas, así como no solo diseñan los diseñadores profesionales.

Según nuestra experiencia en la enseñanza, los diseñadores aprenden a programar de forma distinta que los ingenieros o técnicos informáticos. Estas dos maneras de responder al conocimiento, resultan de características cognitivas que los estudiantes de estas carreras demuestran. El perfil general (real o deseado) es el siguiente:

  • Estudiantes de una carrera técnica: mayor predisposición al planteo matemático y analítico. Los planes de estudio comienzan con materias básicas (álgebra, física, análisis matemático y lógica), para internalizarse de a poco en técnicas propias de cada profesión. La metodología suele incluir clases magistrales, cuadernos de ejercicios y exámenes escritos de acreditación.

  • Estudiantes de carreras de diseño: mayor predisposición al abordaje proyectual, al «hacer» pragmático. Desde el comienzo se realizan trabajos similares a los reales, aumentando la complejidad y el grado de eficacia en la elaboración. La metodología es mayormente la de maestro-aprendiz y se consolida en la realización y entrega de trabajos prácticos.

Estos dos perfiles tienen su correlato en la enseñanza de la programación. Se denominan, respectivamente: aproximación bottom-up y aproximación top-down.

Bottom-up

Esta metodología enfatiza la progresión de conceptos. Supone que la definición de un concepto es imprescindible para el siguiente, por lo que el orden resulta clave. Por ejemplo, para comprender Bioquímica debemos entender Química Orgánica antes, y previo a ello Química Inorgánica. Los conceptos se apoyan unos sobre otros. Recién al final tendremos un panorama completo y la posibilidad de hacer algo «real».

Este enfoque es el más elegido en las carreras técnicas. Se comienza por conceptos como sintaxis y estructuras de control para demostrar cómo se escribe y piensa la programación. Se tratan estos temas en profundidad antes de pasar al siguiente. Los conceptos se afianzan con ejercicios, pero al contar con pocas herramientas, estos son (casi siempre) creados artificialmente con fines didácticos. Por esa razón, no hay demasiada relación entre lo ejercitado y la actividad profesional futura.

Con el paso del tiempo se agregan nuevas ideas, siempre haciendo foco en dominar cada etapa para así continuar con la siguiente. Esta metodología se basa en esa progresión, algo visible en los planes de estudio a través de la «correlatividad» de asignaturas y exámenes.

Esta visión tradicional es enciclopedista y conceptualiza al estudiante como un «libro en blanco», que se va completando con temas cada vez más difíciles. Un enfoque muy arraigado en la academia.

Top-down

Esta metodología es más pragmática: no trabaja tanto con la definición de conceptos y el orden entre ellos, sino poniendo el foco en el «hacer». Por medio de la demostración y el ejemplo el estudiante tendrá una visión de lo que significa programar. Primero se hace y luego se comprende; no se explica cada herramienta por separado para luego integrarlas en una solución, sino que se construye la solución y luego se la «​disecciona». Dependiendo del tiempo con que se cuente (o el interés de los participantes), se puede profundizar en cada tema progresivamente. Podemos afirmar que se empieza por el final y luego se retrocede: a la inversa que en el bottom-up.

Este enfoque es el más elegido en carreras de diseño, en función de que el futuro profesional se nutra de vocabulario y conocimientos propios de la informática, sin que ello implique transformarse en una «enciclopedia viviente» sobre el tema. Además este enfoque se adapta mejor al estudiante de diseño, que verá en funcionamiento artefactos concretos como producto del proceso. Asimismo, el tiempo disponible es mucho menor.

Esta metodología da por sentado que, al principio, utilizaremos cosas sin saber cómo funcionan. Con el paso del tiempo comprenderemos más el por qué de cada comportamiento. El enfoque bottom-up, en cambio, omite los temas que no puede explicar y los reserva para examinarlos con detenimiento más adelante.

Un ejemplo conocido

Hace tiempo existe una campaña publicitaria (en tono cómico) de un sitio web para aprender inglés online (OpenEnglish.com). En ella, un estudiante «moderno» se burla de otro que representa al típico alumno de «instituto de inglés» en diversas situaciones. Estos dos abordajes ilustran el top-down y el bottom-up.

El estudiante tradicional se aproxima al inglés con una metodología bottom-up. Se lo muestra cargando libros, pronunciando mal y confundiendo significados. Paradójicamente, quizá su desempeño en un análisis sintáctico de oraciones sea muy bueno. En cambio, el estudiante del sistema online, pronuncia muy bien y comprende lo que se le dice. Él es un estudiante top-down. Quizá no pueda nombrar cuál es el tiempo verbal en uso, pero lo utiliza. Tal vez no sepa de memoria la lista de verbos irregulares en pasado, pero sabe utilizar los más habituales.

Debe notarse el obvio sesgo en favor de top-down, debido a los fines publicitarios. Sin embargo, la caracterización de las dos metodologías resulta bastante realista.

Qué metodología elegir

Por supuesto, ambas aproximaciones tienen pros y contras:

  • Ventajas de bottom-up: existe amplio material con esta orientación y, aunque cuestionable, la historia avala su eficacia como formación a largo plazo. Es más fácil extrapolar conceptos a nuevos lenguajes y tecnologías.

  • Desventajas de bottom-up: puede ser frustrante trabajar siempre con ejercicios ad-hoc. Riesgo de desmotivarse por no comprender «para qué me sirve» tal o cual cosa. El tiempo necesario para llegar a trabajar en casos reales es muy extenso.

  • Ventajas de top-down: suele ser más estimulante porque se ven resultados rápidos. Es útil para mostrar panoramas generales y hacer divulgación.

  • Desventajas de top-down: pueden formarse ideas equivocadas sobre el funcionamiento de algunos conceptos, por la falta de dedicación a cada uno de ellos. Se precisa una intervención más cercana al estudiante.

Para un ingeniero de software será preciso conocer en profundidad los temas fundamentales, por lo que el bottom-up puede ser más eficiente a largo plazo.3 En cambio, para un diseñador que desea conocer cómo funciona la programación y modificar o escribir algunas porciones de código, lo más conveniente será el top-down.

Retrato de Mauro Gullino Mauro Gullino Buenos Aires Seguidores: 30

EdiciónSebastián Vivarelli Buenos Aires Seguidores: 292

Opiniones:
24
Votos:
64
Compartir:

Colabora con la difusión de este artículo traduciéndolo

Traducir al inglés Traducir al italiano Traducir al portugués
  1. Tecnologías como LESS y SASS están incorporando ideas de la programación incluso a CSS.
  2. Estas plataformas son claros ejemplos de lo que llamaremos metodología top-down, como se refleja en frases como «Learn by Doing» o «Learn to make an iPhone game in an hour».
  3. Se ha dicho que bottom-up focaliza en la construcción de las herramientas más que en lo que puede hacerse con las herramientas mismas. (Reek, Margaret. «A top-down approach to teach programming». SIGCSE ʼ95 3/95 Nashville, TN, USA)
Código QR de acceso al artículo Aprender a programar

Este artículo no expresa la opinión de los editores y responsables de FOROALFA, quienes no asumen responsabilidad alguna por su autoría y naturaleza. Para reproducirlo, salvo que estuviera expresamente indicado, por favor solicitar autorización al autor. Dada la gratuidad de este sitio y la condición hiper-textual del medio, agradeceremos evitar la reproducción total en otros sitios Web.

Mauro Gullino

Más artículos de Mauro Gullino

Título:
El misterioso mundo del encoding
Sinopsis:
La desesperación que surge al ver nuestras páginas web con símbolos extraños se potencia al desconocer las causas. ¿Cómo arreglarlas?
Compartir:
Título:
¿Cuál es el mejor formato de imagen?
Sinopsis:
No los distinguen solo sus extensiones: JPG, GIF y PNG. Sabemos que están ahí pero, ¿cuándo utilizar cada uno de ellos?
Compartir:

Debate

Logotipo de
Mi opinión:

Ingresa con tu cuenta para opinar en este artículo. Si no la tienes, crea tu cuenta gratis ahora.

Retrato de Alfredo Texis Michicol
6
Alfredo Texis Michicol
Oct 2014

interesante el tema gracias y saludos

0
Responder
Retrato de Victor Rodríguez
0
Victor Rodríguez
Jun 2014

buenos dias vengo pidiendo su apoyo para un trabajo escolar solo pido que de favor me contesten una pequeñita encuesta de 7 preguntas aqui les dejo el link de antemano muchas gracias

Enlace

0
Responder
Retrato de Mauro Ramon
3
Mauro Ramon
Jun 2014

Hola Mauricio... me imagino que Mauro se refiere a los enfoques al programar estructuras desde una postura u otra. Acá hay un pequeño artículo en una wiki de teaching kids to program (Enlace), que refiere la ventaja de uno sobre el otro sistema. El artículo forma parte de un set de tres, cuyo primero dice "designing your solution" y comenta de la ventaja del uso de Modules. Entonces: a) paso este ejemplo porque explica clarito de qué se trata una cosa y otra; b) somos "kids" a la hora de programar, tanto por novatos como porque (creo) estamos abiertos a aprender cosas nuevas.

0
Responder
Retrato de Mauricio Herrera
0
Mauricio Herrera
Jun 2014

No es tan correcto el uso de las analogías top-down y bottom-up.

O bien, por lo menos no menciona en ninguna parte que en realidad son corrientes filosóficas y que el bottom up se refiere a la inclusión de todos para el entendimiento global, mientras que el top-down es exclusivo de pocos, un poco obsoleto y todo lo contrario a la forma no lineal en la que se conecta la web.

0
Responder
Retrato de Maria Cevallos Jimenez
12
Maria Cevallos Jimenez
Jun 2014

Hola Mauro, crees que pueda haber un Punto intermedio entre las técnicas de programación bottom up y top down? Me encantaría saber que opinas :) saludos

0
Responder
Retrato de Jositux Guaimas
2
Jositux Guaimas
May 2014

Buenas, no solamente es la web el campo en el que podrían incursionar los DG programadores ... también hay un terreno muy interesante que es el de la programación orientada a las artes visuales donde los lenguajes están orientados a conceptos que los diseñadores siempre usan. Ejemplos: instalaciones interactivas, realidad aumentada, etc. Enlace Enlace

0
Responder
Retrato de Daniel Carajo
0
Daniel Carajo
May 2014

Quiero suponer que con "programar" se refieren al uso de un lenguaje especifico utilizado de manera "manual" por llamarle de alguna forma para crear algo, ¿cierto? Es decir, el uso de Dreamweaver, el programa más utilizado por nosotros los diseñadores gráficos si se usa como el modo "diseño" que incluye dicho programa no entra en este concepto mas si e usa como codigos si cuenta?

0
Responder
Retrato de Javier Rojas
0
Javier Rojas
May 2014

Me parece interesante. Soy egresado en Diseño Gráfico, pero ya en esa época de facu le metía a la Web, y nada, sería bueno que, así como a muchos diseñadores les molesta que se los confunda con IMPRENTEROS, habría que diferenciar ¿Qué es programar? Html 5, CSS 3.0, no implican "programación" propiamente. Ni Actionscript de Flash es tan efectivo para "aprender a programar"... Programar PHP, Javascript, Jquery, o algún framework, si implica "aprender a programar" así que el mundo del diseño más bien debería enfocarse en "qué es capaz de generar HTML 5 y CSS" no a programar.

0
Retrato de Joel Alejandro Villarreal Bertoldi
30
Joel Alejandro Villarreal Bertoldi
May 2014

Coincido. HTML y CSS son particularmente lenguajes de maquetado, por ende, de índole declarativa o de especificación. Programar implica dar respuesta a una proposición lógica. Al ser HTML y CSS lenguajes declarativos, no generan comportamiento (salvo marcadas excepciones en CSS, como el modificador :hover), sino morfología.

0
Responder
Retrato de Bernardo Roggio
0
Bernardo Roggio
May 2014

Es hora de aprender a programar, siempre quise meterme en ése pequeño mundillo, he concurrido a cursos de programación, pero nunca los apliqué, ahora estoy decidido a aprender, al menos algo de HTML5 y CSS3...

0
Retrato de Javier Rojas
0
Javier Rojas
May 2014

Es muy buena práctica, aunque discrepo con eso de "mundillo" porque es todo un mundo. Nada digital funciona sin al menos un mínimo de programación. Cada vez que presionar el botón de apagar de un televisor, hay una pequeña memoria que reproduce un lenguaje de programación reconocible por el dispositivo receptor para que realice un ShutDown con C++ o algún lenguaje nativo. Si hablamos del "apagar" un televisor, imaginate un "teclear y clickear" los comandos del Photoshop y editores de texto, que luego lo convertirán en un sitio web funcional. Más que un mundillo diría yo. :D

1
Retrato de Bernardo Roggio
0
Bernardo Roggio
May 2014

Tal cual Javier, se lo que la programación representa, me mal expresé al usar un modismo, la verdad es que estás más que acertado al decir que "Es todo un mundo", de hecho, es un universo bastante interesante, y complejo, lo de "Mundillo" lo dije a modo ilustrativo...

0
Responder
Retrato de Roberto Ortiz
4
Roberto Ortiz
May 2014

Estoy de acuerdo que hay que aprender a programar, pero esto avanza tan rápido que lo que aprendes en la universidad ya queda obsoleto unos años después. Eso me paso cuando estudié y aprendía a programar en Flash, ahora ya ni existe ese programa.

0
Retrato de Javier Rojas
0
Javier Rojas
May 2014

Es que la "Uni" apenas te da herramientas para desenvolverte. Flash aún se utiliza con actionscript 3.0 para programar y crear aplicaciones móviles, por ejemplo. Si no vas a meterte de lleno al mundo Web, o digital, por darle un nombre, todo te pasará como un tren bala.

0
Responder
Retrato de Gibran Villarreal
0
Gibran Villarreal
May 2014

Muy bueno, un tanto largo y el contexto me extenuó un poco, pero me gustaron las ideas generales, yo soy diseñador gráfico y estoy aprendiendo a programar exponiendome a casos reales y diferentes tecnologías, y además también uso codeacademy!

1
Responder
Retrato de Enrique Cetina
0
Enrique Cetina
May 2014

Muy buen análisis, objetivo y claro para comprender el tema, dicha todo si uno se tiene que meter en.el campo de programación que a veces parece complejo.

0
Responder
Retrato de José Manuel Oubiña
0
José Manuel Oubiña
May 2014

Hace tiempo esperaba que hablaran de este tema, gracias Mauro. Coincido con vos. Soy primero un chofer, y trato de ser lo más efectivo posible, después utilizo el "auto" más recomendable para mover bien a mi cliente. Saludos.

1
Responder
Retrato de Mauro Ramon
3
Mauro Ramon
May 2014

Gracias por el aporte. Enseñar multimedia (implica) , al menos en mi caso, meterse con un poco de programación. En mi caso, como diseñador, trato de aplicar mi enfoque. Pero esto que comentás por ahí me ayude a mejorar el tema, junto con lo sugerido antes por Guillermo Durán González. Gracias a ambos.

0
Responder
Retrato de Agustin Carlos Campos Bobbiesi
0
Agustin Carlos Campos Bobbiesi
May 2014

Buena Mau genio!!

0
Responder
Retrato de Guillermo Durán González
0
Guillermo Durán González
May 2014

Hola Mauro, muy interesante tu publicación. Durante varios años enseñé Action Script a estudientes del área de diseño. En general, la estrategia para que llegaran a programar la basé en la formulación de guiones; escencialmente mediante la estrategia metodologica de aproximaciones sucesivas en espiral. (más detalles de los guiones en Enlace)

2
Responder
Retrato de Claudia Simone
0
Claudia Simone
May 2014

Muy interesante. Como de costumbre muy claro. Gracias.

0
Responder
Retrato de Andrés Tula Molina
0
Andrés Tula Molina
May 2014

Perdón. Pregunta: No es apreender con 2 e?

0
Retrato de Guillermo Durán González
0
Guillermo Durán González
May 2014

Hola Andrés, puedeser, en ese caso es aprehender con 2 e y una h intermedia.

0
Retrato de Andrés Tula Molina
0
Andrés Tula Molina
May 2014

ok. Gracias!

0
Responder

Te podrían interesar

Retrato de Rafael Iglesia
Autor:
Rafael Iglesia
Título:
El futuro, un con-texto improbable
Sinopsis:
Con la irrupción de las distintas tecnologías algunas cosas se ganan y otras se pierden.
Compartir:
Interacciones:
Votos:
7
Opiniones:
4
Seguidores:
5
Ilustración principal del artículo Leonardo da Vinci usaba Mac
Autor:
Fernando Rapa Carballo
Título:
Leonardo da Vinci usaba Mac
Sinopsis:
Homenaje a Jobs, desde la profesión de diseñador.
Compartir:
Interacciones:
Votos:
71
Opiniones:
55
Seguidores:
8
Ilustración principal del artículo El cuaderno de bocetos permite liberar espacio de memoria del cerebro
Autor:
Camilo A. Angulo
Título:
El cuaderno de bocetos permite liberar espacio de memoria del cerebro
Sinopsis:
Los dibujos allí registrados responden como un sistema de almacenamiento temporal de ideas
Compartir:
Interacciones:
Votos:
21
Opiniones:
20
Seguidores:
203
Retrato de Ali Hermes Gómez
Autor:
Ali Hermes Gómez
Título:
¿Qué busca un reclutador en tu perfil de Linked In?
Sinopsis:
Linked In se ha convertido en una herramienta común entre los reclutadores en Latinoamérica, por su facilidad para ahorrar tiempo y ser más efectivos.
Compartir:
Interacciones:
Votos:
18
Opiniones:
5
Seguidores:
30
Retrato de Milton Glaser
Autor:
Milton Glaser
Título:
Diez cosas que aprendí
Sinopsis:
Comparto algunas cosas que aprendí a lo largo de los años, que tienen mucho que ver con lo que hacemos los diseñadores.
Traducciones:
Compartir:
Interacciones:
Votos:
235
Opiniones:
52
Seguidores:
555
Ilustración principal del artículo Las 7 directrices de diseño del MIT Design Lab
Autor:
Marcio Dupont
Título:
Las 7 directrices de diseño del MIT Design Lab
Sinopsis:
¿Cómo se diseña en el Design Lab del MIT? Yihyun Lim, su Directora del MIT, presentó las directrices que rigen todos los proyectos que allí se realizan.
Compartir:
Interacciones:
Votos:
4
Opiniones:
4
Seguidores:
65
Ilustración principal del artículo ¿Cómo piensa el diseñador para crear?
Autor:
Mara Serrano
Título:
¿Cómo piensa el diseñador para crear?
Sinopsis:
Existen diferentes expertos que analizan el proceso creativo al diseñar; inspirada en ellos y como resultado de todo un año de investigación aquí presento mi propuesta.
Compartir:
Interacciones:
Votos:
61
Opiniones:
22
Seguidores:
42
Retrato de Rubén Fontana
Autor:
Rubén Fontana
Título:
Reportaje a Claude Garamond (1480-1561)
Sinopsis:
El gran tipógrafo francés, conciencia crítica e inmortal del oficio, responde con sabiduría y humor a las preguntas que nos plantea la evolución del diseño de alfabetos.
Compartir:
Interacciones:
Votos:
120
Opiniones:
30
Seguidores:
439

Próximos cursos online

Desarrollamos para ti los mejores cursos online de actualización profesional, que te permitirán formarte y especializarte de la mano de renombrados especialistas

Estrategia de Marca

Estrategia de Marca

15 claves para programar el diseño de símbolos y logotipos de alto rendimiento

4 semanas
24 Junio

Branding: Diseñador y Cliente

Branding: Diseñador y Cliente

Tratar con el cliente, hacer presupuestos y planificar las etapas de la creación de una marca

3 semanas
2 Septiembre

Relecturas del Diseño

Relecturas del Diseño

Una inmersión en el discurso sobre el diseño para despejar sus nociones más controvertidas: creatividad, innovación, arte, tecnología, función social...

4 semanas
16 Septiembre

Auditoría de Marca

Auditoría de Marca

Taller de práctica profesional: análisis, diagnóstico y programa de marca sobre casos reales

6 semanas
30 Septiembre

Branding Corporativo

Branding Corporativo

Cómo planificar, construir y gestionar la marca de empresas e instituciones

4 semanas
21 Octubre