Está en la página 1de 6

Unidad 01 – Introducción a la Programación

Lecture Notes
OBJETIVOS DE LA ASIGNATURA

OBJETIVO GENERAL:

Desarrollar programas en un lenguaje de programación de alto nivel para resolver


problemas relacionados a su profesión.

OBJETIVOS ESPECÍFICOS:

1. Aplicar métodos computacionales para resolver problemas de su campo de estudio


utilizando un lenguaje de programación.

2. Utilizar herramientas computacionales para modelar y entender datos.

3. Aplicar algoritmos receta en la resolución de problemas.

4. Utilizar un ambiente de desarrollo para escribir y depurar programas.

5. Utilizar modularización para la simplificación de la estructura de un programa.

OBJETIVO ESPECÍFICO DE LA UNIDAD:

Distinguir entre las actividades de edición y compilación para ejecutar un programa en


un lenguaje de programación.

CONTENIDOS:

1.1. Conceptos básicos de lenguajes de programación.


1.2. Interpretadores y compiladores.
1.3. Ambientes de programación.
1.4. Conceptos y propiedades de algoritmos
¿Por qué debo aprender a programar?

https://youtu.be/nKIu9yen5nc

Tres razones: (https://medium.com/the-coffeelicious/3-reasons-why-you-should-absolutely-learn-to-


code-8c524dac8120#.8ail784zv)

1. Aprender a programar no es solo aprender a programar, es aprender a pensar


2. Estudiar un lenguaje, sea este un idioma o un lenguaje de programación, desarrolla en el cerebro
nuevas capacidades
3. Cualquiera que sea su experiencia previa o profesión, programar es útil

Programar no tiene que ser complicado, ni tiene que ser sobre codificar soluciones complejas. Yo
aprendí a programar a los 5 años, primero copiando código de otros, luego modificándolo para que haga
algo más y finalmente desarrollando mis propios programas.

La idea de este curso no es convertirlos en expertos desarrolladores de software, no es necesario. Lo


que buscamos es:

1. enseñarles a buscar e identificar necesidades


2. expresar visualmente sus pensamientos
3. enseñarles cómo funciona la tecnología
4. desarrollar la imaginación para que puedan desarrollar ideas revolucionarias

Codificar (coding) es solo una herramienta.

Conceptos básicos de un lenguaje de programación

Cuando nos referimos a una computadora generalmente consideramos dos aspectos bien distintos de la
misma, el hardware (fierro) y el software (la inteligencia). Sin un programa la computadora es uno de los
objetos más tontos e inútiles que existe. Necesitamos software y el software nos necesita a nosotros
para crearlo.

Los programas son creados utilizando un lenguaje de programación que es nada más que símbolos que
las computadoras entienden y nos permiten a nosotros dar órdenes e instrucciones a esta herramienta
tonta. De igual forma que existen múltiples idiomas en el mundo, existen múltiples lenguajes de
programación, unos más complicados (bajo nivel) que otros (alto nivel) de entender. Nosotros
trabajaremos con un lenguaje de alto nivel llamado Python.

Interpretadores y Compiladores

Imaginemos el siguiente escenario con dos personas que no hablan el mismo idioma pero necesitan
comunicarse; la primera persona dará varias instrucciones para que las ejecute la segunda persona. Es
necesario una tercera persona que conozca ambos idiomas y actúe como nexo entre los dos. Esta
persona nexo puede realizar su trabajo de las siguientes dos formas:

1. (Compilador) Nuestro nexo escucha completamente a la primera persona hasta que esta haya
terminado de expresar TODAS las instrucciones. Luego traduce y genera (“compila”) la lista de
tareas que debe transmitir a la segunda persona para que las ejecute.
2. (Intérprete) Nuestro nexo escucha a la primera persona e inmediatamente terminada de expresar
una tarea, la traduce y repite para que la segunda persona reciba y realice esa tarea.

Cada una de estas formas tiene sus ventajas y desventajas, que no es necesario profundizar en esta
oportunidad. Basta con decir que en general un compilador produce programas más pequeños y rápidos
que se ejecutan directamente sobre la computadora, mientas que los lenguajes interpretados son más
fáciles de aprender y utilizar bajo expensas de necesitar componentes adicionales (intérprete y
máquinas virtuales) para poder ser ejecutados. Python es un lenguaje interpretado.

Ambientes de Programación para Python

Python puede ser descargado libre de costos en https://www.python.org/. Se recomienda trabajar con
la última versión disponible del lenguaje.

Una vez instalado, Python puede ser utilizado en modo interactivo o en modo script.

Modo interactivo

En modo interactivo usamos la consola de Python para escribir instrucciones que son ejecutadas
inmediatamente por el intérprete y apreciar el resultado. La consola de Python se obtiene mediante el
comando python.

La consola acepta cualquier instrucción definida por el lenguaje, la ejecuta y muestra el resultado.
Modo script

Esta modalidad nos permite escribir primero todas las instrucciones que deseo ejecutar en un archivo,
normalmente con extensión .py, y luego ejecutarlo. Se puede utilizar cualquier editor de texto simple
para escribir estos archivos. Nota: los archivos generados en Word normalmente NO son archivos de
texto simple.

Ambiente Integrado de Desarrollo (IDE)

Un IDE es una herramienta única que integra todos los comandos y configuraciones necesarias para
escribir, depurar y ejecutar un programa. Uno de los IDEs más usados para Python es PyCharm
Community Edition, disponible sin costos en https://www.jetbrains.com/pycharm/.

Es importante resaltar que Python y PyCharm no son lo mismo. Usted necesita de ambos para poder
crear y ejecutar programas. PyCharm NO reemplaza a Python, todo lo contrario, usa Python para poder
ejecutar un programa. La principal ventaje de PyCharm es que nos ofrece un editor de texto que
entiende la sintaxis de Python y nos permite llamar al comando python al momento de ejecutar nuestro
código, todo dentro de una interfaz gráfica de usuario agradable y fácil de usar.

Online IDEs

Una alternativa a instalar Python y PyCharm localmente en nuestras computadoras es usar IDEs
disponibles libremente en Internet, incluyendo:

1. Ideone.com (http://ideone.com/)
2. Repl.it (https://repl.it/languages/python3)
3. Nitrous.io (https://www.nitrous.io/)

De estas tres opciones, Nitrous.io es la más completa y poderosa porque permite definir diferentes
máquinas virtuales a las que se puede instalar nuevos módulos o paquetes y extender la funcionalidad
de Python. Es nuestra opción recomendada para el curso, principalmente para el desarrollo de los
deberes y el proyecto.

Los algoritmos lo son todo

¿Recuerdan que mencionamos que las computadoras necesitan programas para funcionar y los
programas nos necesitan a nosotros para que los creemos? Un buen programa no sirve si no está
basado en un buen algoritmo.

Un programa no es más que una serie de instrucciones que la computadora ejecutará. Si estas
instrucciones no tienen un propósito bien definido, simplemente son una pérdida de tiempo. Los
algoritmos son una lista ordenada de pasos o instrucciones a realizar para lograr un objetivo final. En ese
sentido, los algoritmos son muy parecidos a una receta de cocina.

Un algoritmo se considera bueno cuando posee las siguientes tres cualidades:


1. Claro: un algoritmo no puede dar instrucciones ambiguas o confusas
2. Efectivo: un algoritmo debe ser creado con un propósito en mente, la tarea que quiero realizar
3. Finito: un algoritmo debe empezar y terminar luego de cumplir su objetivo

Antes de escribir un programa, debo pensar en el algoritmo que se usará. Entonces, un programa no es
más que la serie de instrucciones que le voy a comunicar a la computadora para que al ser ejecutadas se
lleve a cabo el algoritmo ideado. Sin algoritmos no puede haber un programa con propósito, solo serían
un conjunto de instrucciones.

También podría gustarte