Introducción
Contenido
Bienvenido a «Programación en Python». Este curso es tu puerta de entrada al mundo del desarrollo de software. Puede que pienses en un programador como alguien que escribe código misterioso a toda velocidad, pero la realidad es mucho más sencilla y creativa. Aquí vas a descubrir una herramienta muy útil para crear, automatizar y resolver problemas.
¿Qué es programar?
En esencia, programar no es más que darle instrucciones a un ordenador para que realice una tarea. Olvídate de los unos y ceros; la programación —la moderna, al menos— consiste en escribir órdenes lógicas utilizando un lenguaje que tanto tú como el ordenador podáis entender.
Todas las aplicaciones que usas se construyen a partir de unas pocas ideas básicas:
- «Primero haz esto; después, haz aquello».
- «Si se cumple esta condición, ejecuta esta acción; si no, haz esta otra».
- «Repite esta acción un número determinado de veces».
- «Sigue haciendo esto hasta que se cumpla una condición».
Combinando estas sencillas instrucciones, podemos crear programas increíblemente complejos y potentes. Programar es como construir con LEGO: empiezas con piezas simples y acabas creando cualquier cosa que imagines.
¿Por qué es importante programar?
Vivimos en un mundo digital, y para ti, futuro profesional de sistemas y redes, saber programar es una competencia clave. Te permitirá:
- Ordenar tu cabeza y pensar con más claridad: Programar es como un gimnasio para la mente. Te obliga a coger un problema grande y abstracto (por ejemplo, «quiero organizar estos ficheros») y dividirlo en pasos pequeños, lógicos y ordenados. Este proceso, conocido como pensamiento computacional, te enseña a ser más estructurado, a anticipar errores y a encontrar soluciones eficientes. Es una habilidad que te servirá para todo, no solo en la informática.
- Crear tus propias herramientas: No tendrás que depender siempre del software de otros. Si necesitas una utilidad específica para una tarea, podrás construirla tú mismo a medida. Esto te da un control y una autonomía enormes.
- Automatizar tareas repetitivas: Podrás crear programas que hagan por ti trabajos de mantenimiento, configuración de sistemas o gestión de redes, ahorrándote horas de trabajo.
- Entender cómo funciona la tecnología: Comprenderás qué ocurre «detrás de la pantalla» en las aplicaciones, sistemas operativos y servicios que usas a diario.
¿Por qué Python?
Existen muchos lenguajes de programación, pero Python es una de las mejores opciones para empezar y uno de los más demandados en el mundo profesional. Actualmente, ocupa el primer puesto en el ranking de popularidad TIOBE y es utilizado por empresas como Google, Netflix o la NASA.
Las razones de su éxito son claras:
- Sencillo y fácil de leer: Python se diseñó para ser limpio y ordenado. Su sintaxis se parece mucho al inglés, lo que te permite concentrarte en la lógica del problema en lugar de pelearte con reglas complicadas.
- Aumenta la productividad: Con Python se escribe menos código para conseguir el mismo resultado. Un programa en Python puede ser hasta cinco veces más corto que su equivalente en otros lenguajes, lo que acelera muchísimo el desarrollo.
- Es un «todoterreno» (versátil): Python es una navaja suiza. Sirve para casi todo, desde el desarrollo web (Instagram, YouTube) hasta la inteligencia artificial o los efectos especiales (Pixar). Y lo más importante para nosotros: es perfecto para el scripting.
- Ideal para scripts y grandes aplicaciones: Con la misma facilidad, puedes escribir un pequeño programa de 10 líneas (script) para automatizar una tarea inmediata (como renombrar mil archivos) o construir una aplicación compleja de miles de líneas. Esta capacidad de escalar es una de sus grandes ventajas.
- Es multiplataforma (portátil): Un programa que escribas en Windows funcionará, en la mayoría de los casos, sin cambios en Linux o macOS. Esto es fundamental en entornos profesionales donde conviven distintos sistemas operativos.
- Enorme comunidad y librerías: Python viene con una «caja de herramientas» que ya incluye soluciones para tareas comunes. Además, cuenta con una comunidad global que ha creado miles de herramientas adicionales para cualquier cosa que puedas imaginar.
Cómo vamos a trabajar en el curso
La idea es ir de menos a más, construyendo una base sólida para que luego puedas crear cosas por tu cuenta.
La estructura general: Dos grandes etapas
Dividiremos el curso en dos mitades muy claras:
- Primera mitad: La caja de herramientas. En esta primera parte, nos centraremos en conocer los fundamentos de Python. Aprenderemos las «piezas» del lenguaje una a una: qué son las variables, cómo usar condicionales, para qué sirven los bucles, cómo crear funciones… El objetivo es que llenes tu caja de herramientas con todo lo necesario.
- Segunda mitad: Desarrollo de programas Una vez que conozcas las herramientas, empezaremos a usarlas para crear pequeños programas y scripts útiles. Aquí es donde aprenderás a programar «de verdad»: no solo haremos que el código funcione, sino que funcione bien. Hablaremos de buenas prácticas, de cómo diseñar una solución antes de escribir código y de cómo hacer que tus programas sean limpios y fáciles de entender. Al final del curso, aplicaremos todo lo aprendido en un proyecto un poco más grande.
El ritmo de cada semana
Cada semana seguiremos una estructura parecida para que te acostumbres al ritmo de trabajo:
- Una parte de teoría: Empezaremos con una explicación de los conceptos nuevos de la semana. Será directa y centrada en lo que necesitas para empezar a practicar.
- Ejercicios cortos: Después de la teoría, harás varios ejercicios pequeños y rápidos para poner en práctica justo lo que acabamos de ver y asegurarte de que lo has entendido.
- Prácticas más completas: Para terminar, te propondré un par de prácticas un poco más largas donde tendrás que combinar lo nuevo con lo que ya sabías de semanas anteriores.
El trabajo y la evaluación
- El trabajo de casa: Cada lunes te mandaré las tareas de la semana. Tendrás hasta el viernes por la noche para entregarlas. Para algunas tareas más complejas, daremos dos semanas de margen.
- Puestas en común: Iremos corrigiendo los trabajos en clase. Cada vez, uno de vosotros saldrá a la pizarra (o compartirá su pantalla) para explicar al resto cómo ha resuelto uno de los ejercicios. No se trata de buscar el error, sino de que todos aprendamos diferentes maneras de resolver un mismo problema, y seamos capaces de explicar nuestras soluciones a los demás. Es una de las mejores formas de aprender.
- Participación: Tanto en las sesiones más teóricas como en las prácticas, es fundamental la participación. Primero, porque ayuda a evaluar el progreso diario en la asignatura —tanto para el profesor como para el alumno— y, segundo, porque permite hacer la clase más amena y útil.
- Exámenes: Tendremos un pequeño examen en cada una de las tres evaluaciones para afianzar los conocimientos. Serán escritos, a mano, pero podrás usar apuntes. El objetivo no es que memorices cada comando, sino que demuestres que sabes encontrar la información y aplicarla para resolver un problema.
Un par de consejos (y avisos) importantes
Para que este curso funcione y le saques el máximo provecho, quiero ser muy claro en dos aspectos clave:
1. Tu responsabilidad es la clave
Por mi parte, quiero que sepas que estoy aquí para ayudarte. Puedo resolver cualquier duda, repetir una explicación las veces que haga falta o ajustar el ritmo de la clase. No todos aprendemos a la misma velocidad y mi objetivo es que nadie se quede atrás.
Pero hay una parte que depende enteramente de ti. La programación es acumulativa. Es como construir una pared de ladrillos: cada semana ponemos una fila nueva sobre la anterior. Si una semana un concepto no queda claro y no preguntas o no lo practicas lo suficiente, la fila de ladrillos de esa semana se queda floja. A la semana siguiente, cuando intentemos poner la nueva fila encima, todo se tambaleará. En dos o tres semanas, estarás completamente perdido.
Por eso, es tu responsabilidad asegurarte de que cada semana afianzas lo que vemos. Si te atascas, pregunta. Si algo no se entiende, dilo. No dejes que una pequeña duda se convierta en un impedimento.
2. Sobre el uso de la Inteligencia Artificial
Es poco menos que imposible controlar el uso de la IA para resolver los ejercicios. Pero hay una cosa cierta: es imposible aprender a programar si dejas que una IA resuelva los problemas por ti.
Aprender a programar no es tener el código correcto al final, eso ya llegará. Es el proceso mental de enfrentarte a un problema, romperlo en pedazos, equivocarte, buscar una solución y, finalmente, encontrarla. Si te saltas todo ese proceso, no aprendes absolutamente nada. Solo aprendes a copiar y pegar.
Siempre va a ser mejor, al menos en esta clase, entregar un ejercicio a medias y decir «he llegado hasta aquí y no sé seguir», que entregarlo completo usando una IA. Esos puntos en los que te atascas son las oportunidades de aprendizaje más valiosas. Trae los problemas a clase y los resolveremos entre todos. Así es como se aprende de verdad.