Logo Studenta

manual_-_animate_a_programar

¡Este material tiene más páginas!

Vista previa del material en texto

Animate a Programar
Eje Tecnologías
Si aún no te inscribiste al taller, escaneá el 
código QR y completá el formulario.
Los Talleres País Digital son capacitaciones llevadas a cabo en todo el país a 
través del Programa Punto Digital.
Punto Digital es un Programa de inclusión digital que depende de Jefatura de 
Gabinete de Ministros de la Nación. 
Cuenta con más de 650 espacios públicos y gratuitos instalados en todo el país. 
Podés acercarte para capacitarte, hacer trámites, informarte, entretenerte o 
disfrutar del microcine. 
Subsecretaría de Servicios y País Digital
Gobierno
Abierto
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 3
Introducción: 
Repensar la Programación
Programar consiste en darle a la computadora instrucciones para que 
pueda completar una acción. Todo lo que hace la computadora, lo puede 
hacer porque alguien ha preparado instrucciones que puede seguir, es 
decir, programas. 
Programar resulta útil porque así logramos que la computado-
ra se pueda encargar de mayor cantidad de cosas, y de esa ma-
nera automatizarlas. Pensá en acciones que hace sesenta años 
se hacían manualmente y de las que hoy en día se encargan las 
computadoras. Acá te ponemos algunas ideas como punto de par-
tida, te invitamos a completar la lista con otras que se te ocurran: 
• Manejo de bases de datos
• Almacenamiento y manejo de archivos y expedientes
¿Existe alguna actividad tediosa que te gustaría que estuviese au-
tomatizada, es decir, que se hiciese sola? En el siguiente espacio po-
dés poner las que se te ocurran. Ya pusimos tres para inspirarte. 
 
• Pagar las cuentas y hacer transferencias (si no te gusta el débito auto-
mático)
• Borrar fotos y otros archivos para liberar espacio del celular
• Sacar turnos
La programación permite facilitar y automatizar procesos. Lamentable-
mente, es muy frecuente el prejuicio de pensarla como un campo alta-
mente sofisticado y exclusivo, y no como una habilidad sumamente 
creativa y útil (y frecuentemente desafiante), con la que cualquiera puede 
experimentar, siempre que cuente con acceso a una computadora y con 
tiempo disponible para aprender.
¡IMPORTANTE!
Aunque en lenguaje coloquial, 
cuando decimos programas nos 
referimos a aplicaciones como 
Inkscape, Gimp, Photoshop, etc, 
los programas informáticos son 
como la imagen de la izquierda: 
líneas de código.
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 4
Si abrimos una computadora, dentro no encontraremos programas infor-
máticos, sino componentes electrónicos: placa madre, memoria RAM, 
procesador, etc. Estos se transmiten entre sí señales eléctricas. 
Las señales eléctricas consisten en corriente eléctrica de voltaje mucho 
más reducido (5V, 12V, 19V, etc) que el que encontramos en redes eléc-
tricas caseras (220V). Las hay de dos tipos: digitales o analógicas. En 
el caso de las digitales (las empleadas por las computadoras), dicha 
corriente es controlada mediante distintos mecanismos propios de la 
electrónica, de modo que sea intermitente.
 
Lo valioso de las señales digitales, es que permiten transmitir infor-
mación; al ser intermitentes, transitan por dos estados (“prendido” y 
“apagado”), lo que les permite representar dos valores, 0 y 1. ¿Y para 
qué sirve representar ceros y unos? Gracias al código binario se puede 
ABC de la 
Programación
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 5
Traducción a código binario de todos los caracteres usados en el idioma 
inglés (esta tabla no incluye ñ ni letras acentuadas)
escribir cualquier cosa usando ceros y unos. A continuación te mostra-
mos cómo se escriben todas las letras del alfabeto en binario: 
Al comienzo de la informática moderna, para programar una compu-
tadora era necesario pasarle comandos en binario, lo que también se 
llamaba “lenguaje máquina”. Se usaban muchas líneas de ceros y unos 
para conseguir que la computadora hiciera acciones simples. Más ade-
lante surgen los “lenguajes ensambladores” que facilitaban un poco la 
tarea. Desde la década de los sesenta se usan los llamados “lenguajes 
de alto nivel”, los cuales perduran hasta hoy en día aunque con impor-
tantes cambios. 
Los lenguajes de alto nivel ya usan comandos en lenguaje humano, 
casi siempre en inglés. Son por lo tanto mucho más legibles y tam-
bién más sofisticados, ya que con una sola palabra se consigue que 
la computadora lleve adelante acciones complejas. Aunque hoy en día 
se usen este tipo de lenguajes, vale destacar que, mediante compila-
dores e intérpretes, las computadoras los traducen al binario, que es el 
lenguaje que entienden y usan. Existen muchísimos lenguajes de alto 
nivel; algunos de los más empleados son Python, Javascript y Java. 
Todos los lenguajes, al tener un mismo interlocutor (la computadora), 
tienen funcionalidades parecidas y pueden hacer teórica y potencial-
mente lo mismo. Sin embargo, es frecuente que los lenguajes se vayan 
especializando orientándose a rubros en particular.
Python
Es el lenguaje más usado en las distintas áreas asociadas al análisis 
de datos como la visualización de datos, el desarrollo de inteligencias 
artificiales, etc. Sin embargo, Python tiene librerías y frameworks para 
muchos otros usos, como por ejemplo para desarrollo backend (Djan-
go), desarrollo de videojuegos, etc
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 6
Javascript
Se usa principalmente para crear páginas y aplicaciones web. Como 
Python, tiene muchísimas librerías para otros usos. 
Java 
Entre sus usos más comunes están la creación de videojuegos, crea-
ción de aplicaciones móviles y proyectos de internet de las cosas y 
computación física. Puede ser usado para muchísimas otras cosas.
¿De qué son capaces las computadoras? Si bien hacemos muchísimas 
cosas con computadoras, estas en realidad pueden hacer muy pocas 
cosas.
• Almacenamiento: pueden almacenar números y palabras (valores) y 
grupos de valores.
• Operaciones matemáticas: pueden sumar, restar, multiplicar, dividir, etc. 
• Operaciones lógicas: pueden comparar valores y determinar en qué 
se parecen y en qué son distintos, o pueden verificar si se cumple una 
condición o no.
• Repetición: pueden repetir acciones de manera constante y regular.
Una computadora común puede hacer todo esto a una impresionante 
velocidad de 100 millones de operaciones por segundo. Es justamente 
en la velocidad de procesamiento donde reside la magia de las com-
putadoras. Al combinar de manera creativa operaciones matemáticas 
y lógicas a semejante velocidad, se logra hacer todo aquello que hace-
mos con las computadoras. 
Aunque los lenguajes de programación se han vuelto cada vez más ac-
cesibles, aún son lenguajes “computadoriles”, por lo que el desafío más 
grande para quien programa sigue siendo el de “ponerse en el lugar de 
la computadora”: pensar secuencias con comandos lógicos o matemáti-
cos (también llamados algoritmos) que la computadora pueda resolver. 
Por suerte, hay varios procedimientos que ya están estandarizados y que 
atraviesan todos los lenguajes de programación. Estos son:
Lógicas de la 
programación
Considerando todo lo visto hasta el momento, podríamos definir 
la programación como la acción de idear y ejecutar una secuencia 
de instrucciones para una computadora, partiendo de operaciones 
que pueda realizar y en un lenguaje que la misma pueda entender.
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 7
1- El uso de variables:
Una variable es un valor numérico o alfabético al que le damos un nom-
bre y del que depende el desenvolvimiento del programa. Por ejemplo, 
supongamos que estamos desarrollando un videojuego en Java y nos 
gustaría que nuestro videojuego termine cuando quien juega acumule 
400 puntos. En ese escenario, el puntaje será la principal variable del 
programa, ya que de ella depende que el mismo se siga ejecutando o 
continúe.
2- El uso de condicionales:
Cuando insertamos un condicional en nuestro programa, le estamos di-
ciendo a la computadora que lleve adelante una o varias acciones sólo 
si se cumple una condición. Porejemplo, las personas que programaron 
el sistema operativo Windows, seguramente introdujeron un condicional 
en el código que le especificaba a la computadora que abriera un archivo 
“si y sólo si” la persona usuaria hacía doble click. En casi todos los len-
guajes de programación se introduce un condicional al código usando la 
palabra “if” (“si” en inglés). 
3- El uso de ciclos, bucles o loops: 
Cuando insertamos un bucle en nuestro programa, le estamos indicando 
a la computadora que repita una o varias acciones una cantidad deter-
minada de veces, o infinitas veces. Por ejemplo, podemos suponer que 
las y los programadores del sistema operativo Windows han insertado 
un bucle en el código, que le indica a la computadora que debe chequear 
constantemente si está actualizado o no el antivirus. Algunas de las pa-
labras que se usan para insertar bucles en casi todos los lenguajes de 
programación son “while” y “for”. 
4- El uso de funciones: 
Las funciones son los comandos concretos que se usan a lo largo del 
programa. Podemos pensarlas como la unidad mínima del programa, 
pues si hay un comando, ya hay una instrucción para la computadora. 
En Windows, se abre un archivo sólo 
si se le hace doble click al mouse.
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 8
Hay un sinfín de herramientas útiles para que las personas que progra-
man puedan llevar adelante los distintos proyectos que encaren. A conti-
nuación, mencionamos algunas que permitirán hacerse una idea de todo 
lo que es posible. 
Editores de texto
Los códigos de nuestros programas generalmente los escribimos en edi-
tores de texto especializados para programación, como Sublime text o 
Visual Studio. La interfaz de estos se ve así:
Algunas herramientas que 
se usan al programar
Como se puede apreciar en la imagen, es similar a la interfaz de edito-
res de texto habituales. Una particularidad que tienen es que permiten 
trabajar con muchos códigos y archivos al mismo tiempo, como los que 
se ven a la izquierda en la imagen. Esto se debe a que la mayoría de los 
proyectos para los que usaremos programación no consistirán de uno, 
sino de varios programas y archivos, que deben interactuar entre sí y con 
los que debemos trabajar en simultáneo. 
Servidores y computadoras virtuales:
En muchos de los proyectos que se llevan adelante con programación, 
los programas deben correr permanentemente. Tal es el caso de los 
bots, las páginas web y otros servicios web que deben estar disponibles 
para la persona usuaria en todo momento. En estos casos, los códigos y 
archivos que emplea el proyecto se suben a un servidor: una computado-
ra o una red de computadoras encendidas constantemente. 
Otros proyectos no necesitan programas corriendo 24hs, pero sí necesi-
tan de una capacidad de computación especial. Por ejemplo, la creación 
Interfaz de Sublime text
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 9
de modelos de inteligencia artificial necesita de procesadores muy po-
tentes. Para estos casos existen las computadoras virtuales: servidores 
que podemos usar en remoto por un tiempo determinado, que frecuen-
temente tienen capacidades avanzadas de computación. 
Repositorios
Un repositorio web de programación es una plataforma web donde 
las y los usuarios pueden subir sus proyectos y sus respectivos códi-
gos. El repositorio más difundido y usado es Github. La mayoría de las 
personas que lo usan eligen que sus códigos sean públicos, de modo 
que cualquier persona puede verlos, e incluso copiarlos, reconociendo 
siempre la autoría.
Github es también usado por las y los creadores y desarrolladores de 
los lenguajes de programación, por lo que allí encontraremos ejemplos 
y documentación de estos, sus actualizaciones, etc. Es muy probable 
que al usar un lenguaje de programación consultemos frecuentemente 
la documentación del mismo, ya que es difícil conocerlo de memoria, 
más aún considerando que están constantemente cambiando y suman-
do nuevas funciones. 
Los repositorios permiten tener “control de versión”, esto quiere decir que 
queda registro y detalle de todo lo que se ha cambiado en el código. 
APIs
API es una sigla en inglés que quiere decir “Interfaz de Programación 
de Aplicación”. De manera muy resumida, podemos decir que las APIs 
permiten a una aplicación hacer uso de otra, evitando problemas o 
complejidades que ya han sido resueltas. ¿Notaste como ahora es 
posible hacer inicio de sesión en casi cualquier plataforma usando el 
login de gmail? Esto se debe a que gracias a las API estas platafor-
mas pueden hacer uso de los servicios de Google.
Foros
Sucederá en muchas ocasiones que nuestro código fallará. Existen 
sin embargo foros para eso; el más conocido es Stackoverflow. Allí 
podemos postear una consulta o ver otras consultas hechas y las 
respuestas que han recibido. 
TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 10
Recursos para
Aprender
La plataforma freecodecamp.org ofrece cursos gratis de programa-
ción, a los que se puede acceder en cualquier momento. La oferta 
disponible en español se centra en Desarrollo Web y en Análisis de 
Datos. 
https://www.freecodecamp.org/espanol/
Eje Tecnologías

Continuar navegando