Professional Documents
Culture Documents
Módulo 1. Introducción A La Programación
Módulo 1. Introducción A La Programación
Introducción a la programación
Video de inmersión
Cierre
Referencias
Lección 1 de 4
Video de inmersión
Verify to continue
We detected a high number of errors from your
connection. To continue, please confirm that
you’re a human (and not a spambot).
Los niños programadores te asustan: tienen siete años y saben sobre robots, y ya antes de ser
adolescentes manejan el lenguaje de programación como si ellos lo hubieran inventado. Seguramente
alguna vez te preguntaste cómo es posible que ellos puedan y vos no.
Figura 1: Programador
Fuente: [Imagen sin título sobre niño programador]. (s. f.). Recuperado de
https://goo.gl/M74Ts5
¿Qué es programar?
En un primer acercamiento, podemos definir programar como la acción de dividir una tarea compleja en
las pequeñas acciones necesarias para su ejecución y luego expresarla en comandos comprensibles
para una máquina. Es decir, se requiere un lenguaje específico para dar indicaciones a las computadoras
respecto de qué deben hacer. Por ejemplo, si quisiéramos traducir la expresión del español voltear
tortilla, deberíamos enunciarla desmenuzada, paso por paso, para que la máquina pueda interpretar las
órdenes. Entonces, tendría más sentido expresarlo con comandos como estirar brazo, asir sartén,
separar del fuego, voltear sobre un plato. Además, estas órdenes necesitan también información
cuantitativa: cuántos centímetros debe estirar el brazo, en qué dirección, etcétera.
Resulta ser que, contrario a lo que muchos podrán pensar, las computadoras no son “inteligentes”, sino
que son buenísimas para seguir órdenes. Seguramente, alguna vez conociste a alguien muy responsable
para las tareas, que cumplía con las consignas y cronogramas propuestos, pero que tenía dificultades
con las actividades de orden más bien creativo o innovador, o cuando se le daban consignas abiertas.
Algo parecido ocurre con las computadoras: necesitan indicaciones claras y precisas para funcionar
correctamente.
1.2. Aprendizaje por bloques
Probablemente, si estamos en contacto o tenemos relación con niños en nuestro entorno cercano,
sabremos que existen cursos de robótica dirigidos a ellos, que tienen el objetivo de iniciarlos en la
programación. No se trata de enseñarles a escribir código, sino de aproximarlos a este campo, ayudarlos
a que lo comprendan y estimular su curiosidad (Hernández, 2018).
Fuente: Captura de pantalla de Scratch, Lifelong Kindergarten, MIT Media Lab (s. f).
Recuperado de https://goo.gl/Vg3huF
Un buen comienzo es Scratch, un programa que se basa en un sistema de bloques por colores que
permite iniciarse, de forma intuitiva, en los lenguajes de programación. Sus tutoriales básicos enseñan a
crear una animación, música o juegos. Aunque está diseñado para chicos de entre los 8 y 16 años, es
utilizado por personas de todas las edades. Es una de las plataformas más usadas, junto a Microsoft
Makecode, que depende de Microsoft. Ambas son gratuitas (Hernández, 2018).
Una vez superada la fase intuitiva, hay que asimilar conceptos e ir a lo concreto. Para familiarizarnos
con estos lenguajes de programación, lo mejor es acudir a algunas de las plataformas online que
cuentan con más trayectoria y que están inspiradas en una misma filosofía: aprender a escribir código
está al alcance de cualquiera. Sin embargo, eso no significa que sea sencillo; conseguir nuestro objetivo
nos va a llevar trabajo.
Si la programación es lo nuestro, es necesario ser consciente de que el aprendizaje debe ser continuo.
La realidad virtual o la inteligencia artificial son mercados recientes, pero que ya se encuentran en una
etapa de madurez. Utilizar el lenguaje adecuado para participar de ello también está al alcance de los
novatos, tal como lo demuestran grandes empresas, como Google o Apple (Hernández, 2018). Depende
de vos como programador sacar el máximo provecho de los diferentes lenguajes de programación,
especialmente de los que querés aprender y dominar.
Figura 3: Programador
Fuente: [Imagen sin título sobre programador]. (s. f.). Recuperado de https://goo.gl/1yc71P
¿Te quedó claro qué es programar? ¿y qué implica escribir códigos o qué es el
lenguaje de programación? ¡Ahora vas a ponerte a prueba!
SUBMIT
Definición de algoritmo
Un algoritmo es un conjunto de pasos para llevar a cabo la resolución de un problema. Para definir un
algoritmo es necesario analizar detalladamente cómo es posible, desde el primer paso, solucionar un
inconveniente o desempeñar una acción.
Por ejemplo, si debemos solucionar el problema de cómo iniciar la rutina en las mañanas, podemos
plantear los siguientes pasos:
1. Despertarse.
2. Levantarse de la cama.
3. Ir al baño.
5. Lavarse la cara.
6. Ver el teléfono.
7. Desayunar.
8. Ver la agenda.
Figura 4: Algoritmos
Fuente: [Imagen sin título sobre algoritmos]. (s. f.). Recuperado de https://goo.gl/C7Gtju
Un buen algoritmo es como un buen cuchillo –hace exactamente para lo que está diseñado
con un mínimo esfuerzo. Hacer un algoritmo incorrecto para resolver un problema es cómo
tratar de cortar un bistek con un destornillador: quizás puedas cortar el bistek, pero
gastarás mucho más tiempo del requerido, y el resultado no será exactamente lo que
deseas obtener. (Córdoba Hidalgo, Martín (2017), https://goo.gl/C7Gtju)
PSeInt es una herramienta que se utiliza para aprender la lógica de la programación, ya que, mediante un
pseudolenguaje en español (complementado con un editor de diagramas de flujo), simple e intuitivo, guía
e introduce a los principiantes en el tema. Esta herramienta les “permite centrar su atención en los
conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias del
lenguaje y proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos” (PSeInt,
s. f., https://goo.gl/kwjc51).
Figura 5: PSeInt
Fuente: Captura de pantalla del software PseInt (Pablo Novara, Intel, 2018).
De esta forma, si luego trasladamos estos algoritmos a un lenguaje de programación, podremos utilizar
Scratch, Java, JavaScript, C++, etcétera, para escribirlo. Por ejemplo, con Scratch podremos obtener un
programa que, de forma eficiente y simple, nos permita hacer lo que estamos buscando, tal como se
observa en la siguiente imagen.
Para llevar a cabo esta ejercitación, lo primero que debés hacer es descargar e instalar la aplicación
PseInt, en la que luego cargarás una serie de códigos con los que crearás algoritmos. Seguí los pasos
que detallamos a continuación:
2 Una vez descargada, solo tenés que hacer clic en el instalador para que sea ejecutado e
instalado.
3 Luego de instalar la aplicación, podrás abrirla para empezar a programar. Allí podrás escribir
algoritmos y, de esta forma, poner en práctica ejemplos compartidos por otros o
conseguidos en Internet, como los de cálculos numéricos o arreglos (Figura 9).
4 A continuación, te presentamos una serie de códigos para cargar en PseInt. Al hacerlo,
obtendrás algoritmos que se ejecutarán para cumplir las siguientes indicaciones: tomar dos
números, sumarlos y mostrar el resultado.
5 ¡Manos a la obra! Una vez que estés en la pantalla de inicio de la aplicación, verás la
imagen que aparece en la Figura 9. Seleccioná todo y borralo para empezar de cero (Figura
10).
6 Ahora, copiá todo el texto que se muestra a continuación, que, para evitar confusiones, se
presenta con otra tipografía y en color negro:
Proceso Hola
7 Una vez que ya lo hayas copiado, volvé a la aplicación y pegalo. Se va a ver tal como se
muestra en la imagen a continuación
Figura 11: Pantalla con el ingreso del código
8 Una vez que ya pegaste los algoritmos que seleccionaste y copiaste, tenés que hacer clic
en el botón verde con forma de triángulo, que se encuentra en el margen superior de la
interfaz de la aplicación. Se abrirá el programa para hacer sumas que creaste.
1 Empecemos de nuevo: volvé a la aplicación, borrá todos los datos que figuran en pantalla y
copiá el texto que se presenta a continuación:
Algoritmo Suma
// Se solicitarán Datos numéricos en este caso, los cuales van ser leídos y procesados.
¿Te animás? Te proponemos que ahora vos crees una aplicación para multiplicar
dos números. Tomá como base los códigos que te dimos para el Proceso Suma
pero adaptalo a las nuevas necesidades. ¡Manos a la obra!
Ambos son diferentes formas de llegar a los mismos resultados: de distinta manera y con diferentes
recursos o extensiones buscan un aprovechamiento máximo del código.
Emacs, Vim, Atom, Sublime Text, Visual Studio Code o Notepad++ son editores
disponibles y que podemos utilizar.
Editor de texto
Los editores de texto son más sencillos que el IDE, pero tienen menos funcionalidades integradas. Esto
se debe a que la cantidad de funciones depende, justamente, de cada editor. Según Rubenfa:
Hoy en día es muy común que se puedan ampliar con extensiones de todo tipo, aunque
eso hace que sean un poco más pesados y lentos, alejándose del concepto de editor de
texto y acercándose más al de IDE. La idea de un editor es ser rápido y liviano.
(2017, https://goo.gl/yQvVf3).
Figura 16: Notepad++
¿Cuál elegir?
Hemos visto que existen diferentes herramientas que podemos utilizar para escribir código. Nuestra
elección va a depender del lenguaje utilizado por cada una (si me resulta más práctico para el objetivo
que me propuso, si es el más adecuado para mis posibilidades) y de la plataforma que usemos para
desarrollar el programa en cuestión. Por ejemplo, si quisiéramos desarrollar aplicaciones para Windows
tendremos posibilidades diferentes que si lo hacemos para iOS o Java. Sin embargo, la decisión final
siempre dependerá de nuestras preferencias y del presupuesto con el que contemos, ya que los costos
también varían. Incluso, cada programador puede personalizar en forma particular cada editor o IDE, por
lo que los resultados logrados siempre serán diferentes.
Entorno de desarrollo
Sin embargo, aunque muchos editores tienen gran potencia, requieren extensiones extras para lograr la
capacidad de los IDE. Por eso, muchos programadores prefieren utilizar directamente esta herramienta,
ya que así cuentan con todas las funcionalidades integradas en un mismo entorno. Solo deben configurar
algunas opciones para personalizarlas según sus preferencias (Rubenfa, 2017).
Adolfo, que trabaja como Asesor Técnico Docente en la CAM, utiliza Eclipse (Spring
Tool Suite) para su día a día con el backend: "llevo utilizando Eclipse desde sus inicios,
y soy muy productivo con esa herramienta pues ya me conozco todos sus atajos de
teclado y todos sus truquitos. Una temporada que estuve con Groovy me pasé a IntelliJ
IDEA pues me habían hablado muy bien de él, pero al final me quedo con Eclipse, que
además es Software Libre".
Diego José, que trabaja como freelance desde hace 17 años, para desktop utiliza
Delphi "No está muerto", nos dice. "Ahora compila para Windows, OSX, iOS y Android
y no ha dejado de tener versiones. No es muy conocido por su política de precios (que
viene a ser una pasta gansa). El lenguaje es Object Pascal. Con Delphi llevo desde que
sus primeras versiones. El IDE y su Visual Control Library aportan una productividad
altísima.". Para PHP prefiere utilizar PHPStorm "PHPStorm es un IDE completo. Y es
lo que busco. Sin preocuparme de buscar más, tengo todas las utilidades que necesito.
Tiene de todo y más". (Rubenfa, 2017, https://goo.gl/yQvVf3).
¿Qué debemos tener en nuestra computadora para comenzar a
programar?
Como primer paso, debemos tener un entorno IDE adecuado al lenguaje en el que vamos a trabajar.
Luego, un segundo paso es tener como entorno de prueba un OS (Sistema Operativo) virtualizado, que
también puede servir para compilar en el caso de un GNU Linux, o, por ejemplo, si un programador
necesita programar para Apple y no tiene una MacBook, puede perfectamente virtualizar el MacOS y,
así, trabajar en entorno de Apple IDE XCODE.
Una pregunta que nos puede surgir es ¿por qué virtualizar en lugar de trabajar
directamente en mi PC (personal computer)?
Normalmente, un programador tiene que realizar pruebas y, para ello, necesita un entorno limpio donde
pueda tener un servidor para hacer los respectivos corridos de prueba de sus softwares o códigos. La
ventaja de Un Sistema operativo Windows Linux o MacOS es que podés probar distintos softwares que
funcionan únicamente en esos sistemas. El caso Linux es diferente, ya que se trata de un sistema cuya
consola permite escribir códigos y también ejecutar las pruebas.
Un entorno de pruebas limpio permite que un programador pueda ser un tester, es decir, que haga
pruebas en sistemas operativos o plataformas que no tengan archivos afectados o que estos ambientes
solo estén configurados para dichas pruebas y cumplan parámetros específicos.
Windows, Linux y MacOS cuentan con herramientas como XAMPP (nombre del programa), que permite
crear un entorno de servidores con bases de datos para hacer pruebas en entornos web. Es como tener
un hosting virtual en tu propia PC.
¿Te quedaron claros los conceptos y las ideas principales sobre los entornos de
desarrollo? ¡Ahora vas a ponerte a prueba!
Los IDE o entornos de desarrollo integrado brindan una interfaz para que los
usuarios puedan programar con una herramienta que es más centrada a los
entornos de desarrollo.
Verdadero.
Falso.
SUBMIT
Los IDE son más complejos que los editores de texto y, además, tienen más
funcionalidades como extensiones que están integrados a ellos.
Verdadero.
Falso.
SUBMIT
Falso.
SUBMIT
Verdadero.
Falso.
SUBMIT
Para poder cargar un código que creamos y ver cómo funciona, los
programadores necesitamos utilizar un entorno limpio en el cual hacer las
pruebas.
Verdadero.
Falso.
SUBMIT
Lección 3 de 4
Cierre
¿Qué es programar?
En un primer acercamiento, podemos definir programar como la acción de dividir una tarea compleja en
las pequeñas acciones necesarias para su ejecución y luego expresarla en comandos comprensibles
para una máquina. Es decir, se requiere un lenguaje específico para dar indicaciones a las
computadoras respecto de qué deben hacer.
Referencias
Rubenfa [Nombre de usuario]. (18 de diciembre de 2017). Las herramientas del programador ¿Y tú
cuál usas? [Entrada de blog]. Recuperado de https://www.genbeta.com/desarrollo/las-herramientas-del-
programador-y-tu-cual-usas