Como debe pensar un programador ….

Venimos diciendo que programar requiere definir pasos, que luego pueda llevar a cabo un medio informático. Pero hay que estar atento a los detalles, no se puede dejar nada al azar y nada por sentado. Hay que pensar en todo !

En mi primer curso de programación, en la facultad, el profesor nos dio este ejemplo. 
¿Cuáles son los pasos para hacer una llamada telefónica? ( Pensemos en teléfonos fijos sin hacer cuentas de la edad por favor) 

>> Ir hasta el teléfono
>> Levantar el tubo
>> Marcar el número
>> Hablar

Perfecto ! ( dijo) pero un programador pensaría 

>> Ir hasta el teléfono
>> Levantar el tubo
>> Ver si hay tono 
     >> Sí hay tono
           >> marcar el número
           >> hablar
           >> cortar
     >> Sí no hay tono 
           >> cortar    

Así es cómo debe pensar el programador.
Hay que analizar en cada situación que tenemos, a dónde queremos ir, y todos los potenciales que pueden suceder en medio.

La programación es un diálogo constante del sistema entre lo que queremos que haga y todas las posibles dudas y situaciones particulares que se pueden presentar.

Es como un niño en la edad de los porque … con esa lista interminable de preguntas que llevan a otra y a otra y que si no tenemos paciencia terminamos en un porque sí … bueno en programación la única forma de decirle “porque sí, porque lo digo yo” es programando… 

Algoritmo de las 1000 dudas…

Ahora, con permiso de la paciencia de ustedes, quiero dejarme llevar por mi mente de programadora y dejarles este mismo algoritmo con la mayor cantidad de interrogantes que pueden surgir … 

  1. Ir hasta el baño
    1. Está la puerta abierta? Que hago sí está cerrada? 
    2. Está desocupado? Que hago si hay alguien?
    3. Hay luz? Prendí la luz? Que pasa si no hay luz? Entro igual?
  2. Tomar el cepillo de dientes
    1. Dónde están los cepillos de dientes? 
    2. Hay más de uno? Son todos míos? Cómo elijo uno sí hay varios? 
  3. Tomar la pasta de dientes
    1. Dónde está la pasta de dientes? Hay más de una ? Cómo elijo la mía? 
  4. Colocar la pasta en el cepillo
    1. Cómo saco la pasta del envase? Está abierto o cerrado? Cuánta pongo? De que forma? 
  5. Cepillarse los dientes
    1. Cómo me cepillo los dientes? Cuanto tiempo, de que forma, velocidad, intensidad ?
  6. Abrir la canilla
    1. Cómo abro la canilla sí tengo las dos manos ocupadas una con el cepillo y otra con la pasta? No debería apoyar algo primero? 
    2. Que pasa si no hay agua? Que hago ahora con toda la boca llena de pasta si no hay agua? 
  7. Enjuagarse la boca
    1. Que bueno que había agua!! Ahora cómo me enjuago? Meto la boca debajo de la canilla, junto en un vaso, hago un cuenquito con la mano? Que sería “enjuagar” ??? 
  8. Guardar el cepillo en su lugar
    1. Sinceramente me da un poco de asquito guardar el cepillo todo sucio … 

Así puedo estar un buen rato… parece un poco psicótico lo se, sobre todo porque este ejemplo es una actividad que hacemos a diario, más de una vez por día.
Pero sí lo piensan, son todas las preguntas que le vamos respondiendo a nuestro cerebro, si no lo ven, piensen en cómo le enseñan a los niños a lavarse solos los dientes. 

Está es la mente de un programador, un intringulis chingulis de preguntas extremas, dudas de dudas, mirar un programa y cuestionarlo con ojos de niño, de adulto, de alguien que sabe del tema y de alguien que empieza a aprender … 

¿Son capaces de preguntarse tantas cosas sobre cada cosa?
¿Son capaces de mirar la matrix y poner el dedo en la llaga para hacer saltar el error?
No se preocupen si algo se les escapa, pero traten de esforzarse. De todas maneras siempre habrá alguna persona dispuesta a escribir letras, en un formulario donde ustedes detallaron claramente “Solo ingresar números”..

Llegamos a un Punto de Control … guardemos la partida y seguimos la próxima.



Suscríbete a nuestro boletín y llévate de regalo el PDF de
Fichas del “Laboratorio STEM

Mi nombre es Carolina, soy mamá de dos pequeños que aman jugar, crear y correr por toda la casa.
>> Profesora de Informática en proceso …
>> Desarrolladora Sr. Freelance de Sistemas de Gestión Web
>> Diplomatura en Neuroeducación
>> Asistente de Casa de Niños MontessoriAMI y Formadora de la Pedagogía Blanca
>> Fundadora de Tiempo para Jugar,  Directora de Numensource y PlayKodo
>> Consumidora de cursos sobre Matemáticas Manipulativas, Pedagogías alternativas ( Waldorf, Reggio Emilia, Montessori ) , Programación para niños, y Ciudadanía Digital ….