Programación 1. Módulo: Instrucciones Secuenciales

Unidad Temática:

“Mi Primer Programa: Hola Mundo”

.                                                  Tutor: Humberto Mazuera Párraga

 

Descripción y Justificación:

 

Esta unidad temática será la introducción al estudiante sin conocimientos previos de programación, a la misma. Como requisito es necesario que el estudiante tenga habilidades para manejo del sistema operativo. Estas habilidades quedarán en evidencia al tutor mientras se realiza la práctica aquí propuesta y le dará motivo para ajustar el ritmo o dosificación de contenidos que se impartan inicialmente al estudiante. Esta demostrado que no tener dominio de la máquina, impide al estudiante verificar la verdad de los algoritmos que se desarrollarán desde esta unidad en adelante.

 

Después de entrevistar a muchos estudiantes de primer curso de informática -algoritmia o programación- creo estar convencido que el estudiante necesita una comprobación –en la máquina- de las reglas de juego que se le explican en forma algorítmica –el estudiante no “come cuento” - claro a menos que lo amenacen, como hasta ahora pasa, con la nota. Ellos preferirán haber podido trabajar con la máquina inicialmente. Creo es una terquedad nuestra insistir en que deben abstraer las estructuras algorítmicas en sus mentes solamente. Si les dicen curso de programación, es un balde de agua fría el primer día de clase cuando les decimos que no se necesitan computadores para aprender los algoritmos, que nosotros –superhombres- no necesitamos rebajarnos al nivel de la máquina. Esta posición ya me parece totalmente pedante,  que estupidez. En últimas el estudiante es el cliente, y el “cliente tiene la razón”.  La principal razón que aducen los estudiantes, el no haber podido haber entendido los algoritmos es esa, “hubiéramos entendido si lo hiciéramos en el computador”.

 

Uhm,...como le parece, estimado colega, usted que trabaja en otra disciplina y leyó el párrafo anterior. Creo no entendió, debió quedar aturdido. SI!... LOS PROFESORES DE PROGRAMACIÓN DAMOS EL PRIMER CURSO DE PROGRAMACIÓN SIN COMPUTADOR, COMO CUANDO NOS TOCO APRENDER CON TARJETAS PERFORADAS Y SOLO HABÍA UNA SOLA MÁQUINA POR UNIVERSIDAD EN UN CUARTO FRIO Y CON RESTRICCIÓN DE ENTRADA AL 99.99999...% DE USUARIOS. Mi Código era el 730472 de Univalle en el IBM1130.

 

Esta es una nueva generación –y no por eso- sino que ellos están recibiendo unos estímulos muy diferentes a los de generaciones anteriores. Que los equivocados somos nosotros con nuestra terquedad de seguir con metodologías mandadas a recoger. Con seguir insistiendo seguir siendo los protagonistas. Pero claro el cambio mental de nuestro ajuste es necesariamente lento, sentimos como obligación ética –laboral- el llenar pizarras y pizarras, el darle a los estudiantes “todos” los modelos, dárselos ojalá lo más moliditos posibles, y les vaya bien en el consabido examencito, lo hemos hecho con gran honestidad. Pero estábamos equivocados, resulta que los estudiantes no agradecen –desagradecidos- nuestros esfuerzos en molerles toda esa información, están hartos de eso. Y venimos a saber ahora que ellos tienen razón.

 

Por lo anterior, estoy convencido que el aprendizaje de los algoritmos debe hacerse simultáneamente con la introducción a la programación de computadores y en un solo lenguaje, el que usted quiera, y por espacio de al menos tres semestres. Por que estimado colega no programador, últimamente se ha querido que los estudiantes se aprendan todos los lenguajes que suban a la palestra –que estén de moda- por que después los van a necesitar.

 

La verdad es que los estudiantes de esta forma terminan aprendiendo una sarta de comandos e instrucciones que después de un tiempo quedan obsoletos, ya que aparecen otros lenguajes –mejores, peores o simplemente de moda- Debe entonces es insistirse en la algoritmia, el estudiante debe poder hacer las abstracciones[.1]  que necesita para poder programar. Que ellas pasen a su acervo cultural –por medio de un aprendizaje significativo- y no como ahora que los estudiantes simplemente están como cuando se va al cine: “me vi la película de Visual Basic, también la de C y creo que la de C++, a pero también vimos la de Java, es el más bacano por que con el manejamos la Internet y podemos chatear. Claro que tuvimos un profe que sabe muchísimo y para que no perdiéramos el tiempo nos hizo ver la película de ensamblador –que no estaba en el guión-  y lo chévere es que con él podemos hacer virus y hacerles pasar mal ratos a todos esos cuchos. A lo bien.”  

 

Que ingenuidad -la verdad- lo poco que haya aprendido significativamente no les va ha servir de mucho, bueno, también  les sirve para reuniones sociales y explicar lo que aprenden en la U.  Me acuerdo de una historieta de Nieves –de Consuelo Lago- en la cual la patrona le decía a su hijo –el de la patrona ya que Hetor no le a dado hijos a Nieves, hasta donde yo se- que le hablara una palabras en Pascal a una amiga suya que estaba de visita, ante esto hasta Nieves no tuvo sino que irse de espaldas. Pascal es otro lenguaje que estuvo de moda entre nosotros y ese sí con méritos en todo sentido y principalmente para la enseñanza de la programación como ningún otro. Pascal lo dejamos de utilizar también por puro snobismo, porque los gringos –y ellos si con gran razón- ya no lo estaban utilizando como antes, mientras que en Cuba todavía lo utilizan en las universidades. La razón es que en Cuba si se hacía y hace investigación y sus desarrollos los han hecho en Pascal, mientras nosotros no hicimos nada, por eso lo tiramos por la borda tan fácilmente.

 

Pero al tirar a Pascal, no sabíamos Lenguaje C, que pretendíamos enseñar, ya de ipso facto, el siguiente semestre. Pues nos inventamos que mejor les daríamos pseudocódigo en español, mientras aprendíamos lo que estaba “in”, el lenguaje C. Ahaa asiiií, ANSI C. Y desde eso hace más de cinco años, se quedó así. Honestamente, creo que los estudiantes, en la época que les dábamos Pascal aprendían más significativamente. Y más atrás cuando nos tocó como primer curso de algoritmia, recibir directamente el código en Fortran, pues con mayor razón, claro yo estaba hay.  En estos momentos hay convocatoria para migrarnos totalmente a Java, ahhh..., es que el manejo mediático si es que es muy fuerte, en todos los sentidos de nuestra sociedad consumista. Debo advertir que esta historia no es solo la que me ha todcado vivir, es la de gran cantidad de nuestras universidades latinoamericanas, con la honrosa excepción de Cuba.

 

Bueno, “any way” por ahora estoy todavía enamorado del lenguaje C, y no me dejo convencer de la propaganda de Java, es un intermediario adicional, y toda intermediación–como bien saben los economistas- sale muy costosa. Por lo tanto para la presente unidad he escogido el lenguaje C, pero como escribí más arriba podría ser cualquier otro, por ejemplo Java. Bueno no me importa que de pronto digan que me estoy contradiciendo.

 

 

 

·        Contenidos Curriculares

·        Actividades de Aprendizaje

·        Indicadores de Logro

 

 

 

 

 

 

 


 [.1]La abstracción es uno de los aspectos fundamentales para el estudio de los sistemas modernos de información. Permite tener en cuenta aspectos relevantes para la solución de un problema y deja en segundo plano todo aquello que no es trascendente.

El abstraer es la habilidad de concentrarse e los general y fundamental y pasar por alto el detalle, lo que simplifica el análisis, y lo centra en lo relevante.

Por ejemplo en la instrucción de escritura cout << el usuario no se debe interesar por cómo s que ella hace el trabajo, sino que simplemente lo hace.

Mediante la abstracción se determinan los propósitos u operaciones necesarias para dar la solución a un problema y mediante la modularidad –el divide y vencerás- se efectúa la separación en unidades funcionales.