EDICIÓN ED23
INSCRIPCIÓN Y MATRÍCULA (Plazo Finalizado)
Información general
Instrucciones (Matrícula y Pago)
Pago electrónico (PayPal y tarjetas)
CURSOS THALES - ONLINE - XXVIII Edición - Primera Convocatoria (Mayo - Junio 2023)
INFORMACIÓN GENERAL
Código: | 04-PYTHON |
Título: | Python: Programación y aplicación a la enseñanza |
Descripción: | Python es un lenguaje de programación bien establecido actualmente y bien conocido en el ámbito técnico internacional. Habitualmente figura entre los 10 lenguajes de programación más utilizados y que mayor demanda de trabajo genera. Propuesto inicialmente hace más de 20 años, ha ido evolucionando, y actualmente se ha consolidado la versión Python 3, lo que ha permitido que haya madurado como lenguaje y que se hayan establecido grupos muy activos de desarrollo y mejora. Por sus propias características, Python es un buen candidato a su utilización como primer lenguaje para aprender programación informática. De hecho, ya en 2002 una tesis de máster de la Universidad de Amsterdam analizaba la aplicación de Python como primer lenguaje de aprendizaje de la programación en niveles educativos preuniversitarios, y desde entonces se han documentado múltiples iniciativas dirigidas a la utilización de Python en distintos niveles educativos. Incluso el mismo creador del lenguaje, Guido von Rossun, propuso en 1999 el proyecto CP4E (Computer Programming for Everybody - Programación Informática para todos) que fue aceptada por DARPA. Adicionalmente, la amplia comunidad de desarrollo que está trabajando con Python ha creado múltiples librerías especializadas en distintos ámbitos. Por ejemplo, en el campo de la matemática se pueden citar los paquetes NumPy (programación científica), SciPy (para matemáticas, ciencias e ingeniería), PIL (para procesado de imágenes), SymPy (para matemática simbólica), etc. Este curso pretende llevar a cabo una visión general del lenguaje Python, pensando tanto en personas que no tengan ningún conocimiento previo de programación informática o que puedan tener algún conocimiento de programación informática (en otros lenguajes como Java, PHP, C, etc.). Para ello, se asume una estrategia de curso autocontenido que empieza desde los mismos fundamentos básicos del lenguaje y cubre las principales características del lenguaje, de forma que el participante en el curso obtenga la capacidad para poder profundizar en las líneas de interés específico que pueda tener. |
Profesorado: | Luis Miguel Marín Trechera Fernando Sancho Caparrini José Francisco Quesada Moreno Alejandro Ruiz Martínez |
Programa: | Bloque 1: Introducción, Instalación y Fundamentos Tema 1.-Introducción: Aprender a programar con Python - Programación, Creatividad y Resolución de Problemas - Python: un gran lenguaje de programación Tema 2.-Instalación, Entorno de trabajo y Primeros pasos - Preliminares - Instalación - Primeros pasos con Python Tema 3.-Los fundamentos de Python - Los elementos del lenguaje - Asignación - Datos, clases y conversiones - Lectura y escritura - Condiciones - Import: usando elementos de un script en otros - Iteraciones indefinidas: el bucle while - Recursión - Iteraciones definidas: el bucle for - Ejemplo práctico: Números primos Bloque 2: Programación estructurada en Python. Datos y Control Tema 4. Tipos de datos básicos en Python: booleanos y numéricos - Tipos booleanos: verdadero - falso - Valores numéricos: enteros y reales - Ejemplo: Adivinar números con búsqueda binaria - La librería matemática - Ejemplo: Adivinar números con búsqueda binaria (versión mejorada) Tema 5. Listas - Definición - Longitud, indexado y particionado de listas - Añadir elementos a una lista - Ejemplo: el triángulo de Pascal - Extender listas - Inserción posicional - Ejemplo: contando dígitos - Buscar y contar valores en una lista - Eliminación de elementos en una lista - Iteradores sobre listas: el operador in - Ordenar: sort() y sorted() - Ejemplo: números capicua. Invertir listas - Listas en contextos booleanos - Simulando matrices: listas de listas Tema 6. Tuplas, Conjuntos y Diccionarios - Tuplas - Conjuntos - Diccionarios - Restricciones en conjuntos y claves de diccionarios: Objetos hash Tema 7. Cadenas de Caracteres, Bytes y Codificación - Cadenas de caracteres - Métodos para operar con cadenas - Formateo de cadenas de caracteres - Bytes y bytearrays - Codificación Tema 8. Ficheros - Introducción - Abrir ficheros: control de rutas - Directorio de trabajo - Rutas de acceso a ficheros - Operaciones con ficheros - Ejemplo: justificar un texto a una anchura dada - Formatos de ficheros: Texto plano, CSV, HTML Bloque 3: Programación avanzada en Python Tema 9: Clases: Programación Orientada a Objetos con Python - Clases y Objetos: Atributos y Métodos - Creación de clases e instanciación de objetos - Coherencia, encapsulamiento y ocultación de la información - Herencia y polimorfismo - Métodos especiales - El juego de las tres en raya Tema 10: Módulos y Paquetes. Iteradores y Generadores - Organización del código - Módulos - Paquetes - Iteradores - Generadores - Organización del código |
Objetivos: |
|
Calendario: | El curso se impartirá entre el 22 de Febrero y el 22 de Junio de 2017, requiriendo una dedicación de 110 por parte de los participantes. Al inicio del curso se entregará una agenda detallada para el seguimiento del mismo, aunque las directrices generales serán las siguientes.
Se realizarán 6 entregas progresivas de material, correspondientes a cada uno de los bloques del temario, y se irán introduciendo los ejemplos y ejercicios asociados: |
Metodología: | El curso se basa en la utilización de una plataforma Web para la enseñanza-aprendizaje a través de Internet. Dicha plataforma permite la organización del material de acuerdo con los objetivos y los contenidos programados. Es decir, el curso se organiza a través de un conjunto de temas, para cada uno de los cuales se facilitará tanto el desarrollo del tema correspondiente, así como un conjunto de ejemplos ilustrativos de la materia del tema. Puesto que se trata de un curso muy práctico dirigido a presentar y adquirir una serie de competencias en el campo de la programación de aplicaciones informáticas con el entorno Python, se facilitan el código fuente de estos ejemplos para agilizar la implementación y estudio de cada tema. Así mismo, cada tema incluye un conjunto de ejercicios que será necesario realizar para superar el curso. Los ejercicios se han diseñado pensando en el modelo progresivo de aprendizaje de un entorno y lenguaje de programación. Para facilitar la resolución de las dudas y la colaboración en un entorno integrado de enseñanza-aprendizaje, el curso contará con una serie de mecanismos de comunicación tutor-alumno, entre los que destacan la creación de una serie de foros, tanto genéricos (dudas y comentarios acerca del curso y su seguimiento) como específicos por temas o tópicos de especial interés. |
Evaluación: | De acuerdo con las directrices generales especificadas para la metodología del curso, la evaluación para la superación del mismo se basa en la realización de los ejercicios propuestos en cada tema. Cada alumno debe realizar estos ejercicios individualmente y enviar la solución al profesor del curso mediante los canales de control de tareas internos al propio entorno virtual de enseñanza-aprendizaje, en el que quedan reflejadas las fechas y valoración de cada una de las tareas. |
Requisitos: | No existen requisitos previos específicos para la realización de este curso. El curso se impartirá de forma que pueda ser seguido tanto por usuarios y programadores de entornos Windows como Linux. No obstante, se recomienda un nivel de competencias mínimo para la realización de tareas tales como descargar, instalar y configurar los sistemas que forman el entorno sobre el que se desarrolla el curso. |
Bibliografía: | La bibliografía sobre Python es muy amplia. No obstante, merece la pena resaltar:
|
Otros: | |
Descripción reducida del curso |