Módulo 1. En el módulo reflexionamos sobre las razones para aprender a programar y definimos qué es un programa informático, comentando las razones por las que hemos elegido Python para aprender a programar. Luego veremos una serie de cuestiones prácticas sobre las herramientas a utilizar en el curso, como la navegación por el sistema de directorios, la instalación del entorno Anaconda, el uso del intérprete de Python, qué son los Jupiter notebooks y cómo descargar el material del curso para trabajar en local y cómo usar la interfaz de desarrollo Spyder, para acabar hablando de la estructura de Python y de los tipos de errores que aparecen al programar.
Módulo 2. En el módulo tratamos el concepto de variable y los distintos tipos de datos que pueden utilizarse en Python, desde los sencillos como los números enteros a los más complejos como los diccionarios o las tuplas. Veremos también las expresiones matemáticas y su precedencia y las expresiones lógicas con sus operadores AND, OR y NOT.
Módulo 3. En el módulo se comenta el concepto de flujo de ejecución y los distintos tipos que existen, empezando con el más simple, el flujo secuencial. Luego pasamos a como utilizar decisiones en Python con el comando if, y cómo permite desviar el flujo del programa, para acabar tratando los flujos iterativos, donde conocemos los bucles for y while. Comentamos también dos comandos básicos, print() para mostrar resultados e input() para introducir parámetros, y vemos cómo se usa el indentado del código para agrupar las instrucciones en los comandos anteriores y cómo incluir en el código mecanismos para tratar los posibles errores de ejecución que puedan producirse.
Módulo 4. En el módulo tratamos de forma práctica como resolver problemas simples usando bucles iterativos y decisiones. Trabajaremos como clasificar números en pares o impares, encontrar números divisibles por uno dado, contar elementos, sumar valores o calcular medias de una lista, ver si existe un elemento concreto o encontrar el mayor o el menor valor de la lista.
Módulo 5. En el módulo introducimos el concepto de función como mecanismo de reutilización de código y vemos cómo pasarle parámetros a una función y hacer que devuelva resultados. También veremos como agrupar las funciones en módulos y paquetes para estructurar nuestro código y para incorporar código de otros programadores con facilidad. Finalmente trataremos la notación orientada a objetos que podemos usar en Python para llamar a ciertas funciones.
Módulo 6. En el módulo tratamos las cadenas de texto, cómo se almacenan en memoria y cómo pueden manipularse. Veremos como extraer un trozo de una cadena, cómo encontrar una cadena en otra (por ejemplo una palabra en una frase) y como manipularla con diversas funciones que nos permiten convertirla a mayúsculas o minúsculas, dividirla en varios trozos o quitar los espacios del principio y del final. Finalmente hablaremos de los códigos de caracteres y de la importancia de manejarlos correctamente a la hora de trabajar con ficheros de texto.
Módulo 7. En el módulo tratamos cómo se almacena el texto en ficheros, las distintas formas que tiene Python de abrir un fichero de texto y las funciones y métodos necesarios para cargar el contenido del fichero en variables, moverse por el fichero de texto y escribir en él. También veremos un ejemplo práctico de cómo afecta la selección del código de caracteres al abrir el fichero.
Examen final.