Presentación y licencias

Presentación

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 2024/25 dedicaré la segunda mitad del curso (unas 40 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.13 de Python. Este curso se podría seguir utilizando versiones anteriores de Python 3. 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.

Licencias

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.

¿Qué es Python?

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.

Formato de estos apuntes

Programas empleados

En este curso se utilizarán programas libres multiplataforma.

Sistema operativo

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.

Editor

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.

Novedades

Aclaraciones

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.