Me llamo Bartolomé Sintes Marco. Soy profesor de Informática en el Instituto de Educación Secundaria Abastos de Valencia (España).
En el curso 2023/24 dedicaré la segunda mitad del curso (unas 45 horas de clase) a enseñar rudimentos de programación con el lenguaje de programación Python a alumnos del módulo Lenguaje de Marcas y Sistemas de Gestión de la Información de 1º curso del ciclo formativo de grado superior Administración de Sistemas Informáticos en Red.
Este curso está orientado a alumnos sin conocimientos previos de programación. He separado las lecciones, en las que se explican los conceptos básicos de programación y cómo se aplican en Python, de los ejercicios correspondientes. La mayoría de ejercicios propuestos son clásicos y aparecen en cualquier curso de programación.
Los ordenadores que están utilizando los alumnos tienen instalado Windows 10, por lo que he utilizado la versión para Windows de Python, pero este curso se puede seguir también en otros sistemas operativos.
Este curso está preparado para la versión 3.12 de Python. Este curso se podría seguir utilizando versiones anteriores de Python 3, pero se recomienda utilizar al menos Python 3.6 debido a que en estos apuntes se utilizan las llamadas cadenas "f". Se desaconseja vivamente utilizar Python 2, una versión ya obsoleta del lenguaje y sin mantenimiento. Además, los cambios en el lenguaje hacen que la mayoría de explicaciones de estos apuntes no sean aplicables en Python 2 y las soluciones que se ofrecen de los ejercicios no funcionen en Python 2.
Este curso se distribuye bajo la licencia Creative Commons Reconocimiento-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). Esta licencia está disponible en Internet en versión resumida (en español) y en versión completa (en inglés).
Los programas incluidos en este curso se distribuyen bajo la licencia GNU Affero General Public License 3 o posterior.
Nota: Esta descripción de Python es una traducción libre de los primeros párrafos del tutorial de Python 3.
Python es un lenguaje de programación potente y fácil de aprender. Posee eficientes estructuras de datos de alto nivel y un enfoque sencillo pero efectivo de la programación orientada a objetos. La sintaxis elegante, los tipos de datos dinámicos y el hecho de ser un lenguaje interpretado hacen de Python un lenguaje ideal para la creación de scripts y el desarrollo rápido de aplicaciones en todo tipo de áreas y plataformas.
El intérprete de Python y la biblioteca estándar están disponibles en forma de código fuente o código ejecutable para los principales sistemas operativos en el sitio web oficial de Python, https://www.python.org/, y puede distribuirse libremente. Ese sitio web también contiene información sobre muchos módulos, programas y herramientas para Python, así como documentación adicional.
El intérprete de Python puede ampliarse fácilmente con nuevas funciones y tipos de datos implementados en C o C++ (u otros lenguajes accesibles desde C). Python es también adecuado como lenguaje de extensión de aplicaciones.
Los ejemplos de código que se pueden probar en el prompt de IDLE o en una ventana de terminal se muestran en cuadros diferenciados de las explicaciones:
>>> 2+2 4 >>>
Los ejemplos de programas que se pueden probar en Visual Studio Code o en ventanas secundarias de IDLE (una vez guardadas en ficheros .py) se muestran también en cuadros diferenciados:
edad = int(input("¿Cuántos años tiene? "))
if edad < 18:
print("Es usted menor de edad")
else:
print("Es usted mayor de edad")
print("¡Hasta la próxima!")
Los ejemplos de la salida de los programas aparecen también en cuadros diferenciados. En estos ejemplo, los datos introducidos por el usuario se muestran en color amarillo para que sea fácil identificarlos, aunque en el terminal todo se muestra de color blanco.
¿Cuántos años tiene? 19
Es usted mayor de edad
¡Hasta la próxima!
Algunos ejemplos de programas están comentados paso a paso. En primer lugar se ve el programa y su resultado completo.
Al hacer clic por primera vez en el icono de avance, el navegador desplazará todo el ejemplo al principio de la pantalla (salvo, como en esta página, el ejemplo se encuentre al final de la página).
Ejemplo de programa
print("Hola")
print("Adiós")
Hola Adiós
Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y retroceso situados abajo a la derecha.
Ejemplo de programa - Paso 1
print("Hola")
print("Adiós")
Hola
Se ejecuta la primera instrucción del programa.
En este caso, imprime el saludo.
Para ayudar a la realización de los ejercicios, estos apuntes incluyen también una herramienta de prueba automática llamada MPTC que comprueba el funcionamiento de los programas e indica las situaciones en las que el resultado obtenido no coincide con el esperado.
Los ejercicios para los que hay disponibles tests automáticos de MPTC se pueden identificar por el cuadro situado en la parte superior derecha del enunciado, como en el ejemplo siguiente:
Escriba un programa que salude al mundo.
¡Hola, mundo!
El número del cuadro indica el identificador del ejercicio en MPTC. En el ejemplo anterior, el número sería 1001.
En este curso se utilizarán programas libres multiplataforma.
Los ordenadores que utilizarán los alumnos tienen instalado Windows 10, por lo que he utilizado las versiones para ese sistema operativo de los programas empleados, pero el curso puede seguirse perfectamente desde cualquier distribución GNU/Linux o desde versiones anteriores de Windows.
Desde el curso 2018/19 en este curso se recomienda utilizar el editor Visual Studio Code, un editor libre y multiplataforma que está dirigido en primer lugar al desarrollo web, pero que también puede utilizarse para otros lenguajes de programación. Hasta el curso 2017/2018 en estos apuntes se recomendaba utilizar el editor IDLE, incluido en Python
En la lección Configuración de VSC recomendada para Python se comentan las extensiones necesarias para el desarrollo de Python en Visual Studio Code y en los apuntes de Temas de Informática se pueden consultar más lecciones dedicadas a este editor.
Estos apuntes está dirigidos a alumnos del ciclo formativo Administración de Sistemas Informáticos en Red, es decir, alumnos que seguramente no van a trabajar de programadores, pero que en sus funciones como Administradores de Sistemas necesitarán automatizar tareas y por tanto recurrir a herramientas y conceptos de programación. Sin embargo, el currículo actual del ciclo formativo no incluye ningún módulo dedicado expresamente a la programación, aunque varios módulos sí incluyen contenidos relacionados con la programación. Estos apuntes pretenden cubrir esa laguna, introduciendo los conceptos que luego se aplicarán en los módulos de Bases de datos, Administración de Sistemas Operativos o Aplicaciones web. Creo que es más adecuado empezar con las ideas generales y luego particularizarlas a varios dominios, que tratar las particularidades y esperar que los alumnos construyan con las piezas sueltas las ideas generales.
En suma, estos apuntes no pretenden ser un curso de Python, sino de programación en general. Por eso no se insiste más allá de lo estrictamente necesario en las particularidades de Python, sino en los aspectos comunes a muchos lenguajes de programación o de script que los alumnos encontrarán en el futuro (especialmente PHP, que es el lenguaje que les enseño en segundo curso). Los entusiastas de Python echarán de menos esos aspectos característicos que hacen que Python destaque frente a otros lenguajes, pero espero que entiendan mis motivos.
En cualquier caso, estos apuntes nunca podrán ser una obra terminada porque afortunadamente Python es un lenguaje de programación en continua evolución. Como tantas veces se ha dicho, I charge you to like as much of this play as please you.