Se encuentra usted aquí

MAT17 - Descripción completa de curso

Descripción completa de curso

Descripción Curso: 13-PYGRAF

Código: 13-PYGRAF
Título: Programación gráfica con Python
Descripción:
  • De acuerdo con varios estudios llevados a cabo por especialistas en ciencias de la computación y en didáctica de la programación, Python es uno de los lenguajes de programación que mejor se adaptan para la enseñanza y aprendizaje de las técnicas y principios básicos de programación. Por otro lado, algunas de las características del lenguaje como su orientación multiparadigma (que incluye desde la programación estructurada hasta la programación funcional pasando por la orientación a objetos y cierta funcionalidad de tipo metaprogramación), o la utilización de un mecanismo de interpretación lo hacen muy adecuado para el prototipado rápido y por tanto para su utilización en el ámbito de la enseñanza.

  • El desarrollo de interfaces gráficas se ha convertido progresivamente en un campo cada vez más atractivo. Si a los programas y algoritmos que desarrollamos los dotamos de una interfaz gráfica de usuario que sea amigable, mejoraremos la usabilidad y la capacidad de interacción con el sistema.

  • Este curso se centra en la programación gráfica con Python. Realmente existen múltiples alternativas (librerías, paquetes, entornos) que permiten añadir programación gráfica en Python. Y evidentemente cada uno de estos entornos presenta características que los pueden hacer más o menos adecuados según las necesidades que se presentan en cada caso.

  • La idea general que se persigue en este curso es presentar los conceptos básicos sobre programación gráfica, sin asumir conocimientos previos sobre este dominio. Por tanto, se ha elegido como principal herramienta de programación gráfica tkinter. Esta librería está incluida en la instalación básica de Python, y por tanto no exige complejidades adicionales o adaptaciones específicas a determinados sistemas operativos. Además, la estrategia y filosofía general que se encuentra tras tkinter sigue los principios y conceptos básicos generales de la programación gráfica, por lo que constituye un excelente punto de entrada al aprendizaje de la programación gráfica en general, y en particular con Python.

  • Con el objetivo de facilitar y mejorar el proceso de aprendizaje, el curso incluye una cantidad considerable de ejemplos que ilustran progresivamente los conceptos que se van introduciendo en cada capítulo
Profesorado: Fernando Sancho Caparrini
José Francisco Quesada Moreno
Juan Galán Páez
Programa:
  1. Introducción: Programación gráfica con Ptyhon
    • Interfaces gráficas de Usuario: GUI
    • Diseño de Interfaces Gráficas
    • tkinter
    • Python
  2. Instalación, Entorno de trabajo y Primeros pasos
    • Preliminares
    • Instalación
    • Primeros pasos con Python
  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
  4. Primeros pasos con tkinter
    • Arrancando
    • Pintar interfaces gráficos
    • Un interfaz gráfico para comprobar si un número es primo
    • Conceptos básicos y definiciones
    • Procesamiento dirigido por eventos
  5. Geometría, etiquetas y botones
    • Gestores de geometría
    • Preliminares
    • Gestor de geometría: Packer
    • Gestor de geometría: Grid
    • Gestor de geometría: Placer
    • Ejemplo: Calculadora gráfica versión 1
    • Etiquetas: Label
    • Ejemplo: Calculadora gráfica versión 2
  6. Menús
    • Menús: Opciones en cascada
    • Submenús
    • PopUp menús
    • Toolbars
    • Un simple editor de textos
  7. Canvas
    • El widget Canvas
    • Líneas
    • Ejemplo: Gráfico de barras mensual
    • Texto
    • Ejemplo: Gráficos mensuales con textos explicativos
    • Rectángulos
    • Ejemplo: Gráfico mensual con rectángulos
    • Ovales
    • Arcos
    • Ejemplo: Gráfico circular o de pastel
    • Polígonos
    • Imágenes
    • Window
    • Ejemplo: Fractales: el triángulo de Sierpinski
  8. Gráficos, registros y bases de datos
    • Bases de datos
    • ttk: Themed widgets
    • Treeview
    • Ejemplo: Tabla de países con datos mundiales
    • Ejemplo: Agenda (libro de direcciones)
  9. Eventos, binding y handlers
    • Eventos y Callbacks
    • Widgets, Eventos y Manejadores
    • La estructura de un evento
    • Focus
    • Mezclando bind y command
    • Traspaso de información entre capturadores y manejadores de eventos
    • Ejemplo: Jugando a las tres en raya
Objetivos:
  • Llevar a cabo una introducción general a Python, de forma que los participantes que no conozcan este lenguaje tengan unos conocimientos mínimos genéricos
  • Presentar los conceptos básicos relativos a las técnicas de programación gráfica
  • Analizar los componentes básicos de creación de entornos gráficos: widgets y sus tipos.
  • Creación de ventanas, menús y sistemas de interacción o diálogo.
  • Manipulación de eventos y su integración en entornos gráficos; así como tratamiento de imágenes.
  • Realizar múltiples ejercicios que permitan un aprendizaje práctico de todos los conceptos y modelos de programación introducidos.
Calendario: El período lectivo del curso se desarrollará entre los días 5 de Octubre y 30 de Noviembre de 2017.
El calendario se desarrollará siguiendo las siguientes directrices:
  • 5 de octubre:
    • Tema 1: Introducción, Programación gráfica con Python
    • Tema 2: Instalación, entorno de trabajo y primeros pasos
    • Tema 3: Los fundamentos de Python
    • Tema 4: Primeros pasos con tkinter
    • Actividad obligatoria número 1: MCD y MCM
  • 12 de octubre:
    • Tema 5: Geometría, etiquetas y botones
    • Actividad obligatoria número 2: Calculadora
    • Tema 6: Menús
    • Actividad obligatoria número 3: Ejercicio libre
  • 26 de octubre:
    • Tema 7: Canvas
    • Actividad obligatoria número 4: Evolución histórica de la población
    • Tema 8: Gráficos, registros y bases de datos
    • Actividad obligatoria número 5: Agenda electrónica mejorada
  • 9 de noviembre
    • Tema 9: Eventos, binding y handlers
    • Actividad obligatoria número 6: Tarjetas de memoria
Metodología:
  • El curso es fundamentalmente práctico, y está dirigido a introducir, practicar y usar el entorno propuesto: programación gráfica con Python.
  • Para ello, se proporcionan una serie de temas o unidades, cada uno de los cuales presenta unos conceptos básicos que se explican a través de un texto, el cual a su vez va acompañado de una serie de ejemplos que ilustran didácticamente dichos conceptos.
  • Los ejemplos propuestos en cada unidad o tema deben ser realizados adicionalmente por los participantes.
  • A lo largo del curso se proponen a su vez determinadas actividades cuya entrega es obligatoria para superar el curso y mediante los cuales los participantes debe aplicar según un criterio muy práctico los conocimientos introducidos en las unidades.
  • Todo este modelo está a su vez soportado a través de las herramientas de soporte a la educación virtual, mediante foros de consulta y colaborativos entre participantes, correo electrónico, etc.
Evaluación:
  • El seguimiento se realizará a través de las tareas y actividades propuestas por los tutores en cada uno de los temas, así como de la actividad final que tendrán que desarrollar.
  • La evaluación se realizará a través de un cuestionario online para los asistentes y a través de los correspondientes informes que emitirán los tutores y el coordinador de la actividad.
Requisitos: Aunque el curso incluye un primer módulo de introducción a Python como lenguaje de programación, es útil tener conocimientos previos de uso de este lenguaje para sacarle el máximo partido al curso.
Bibliografía: La bibliografía sobre Python es muy amplia. No obstante, merece la pena resaltar:

  • Libros o manuales actuales (en Inglés)
    1. John V. Guttag (2013): Introduction to Computation and Programming using Python. The MIT Press
    2. Wesley J. Chun (2012): Core Python applications programming Prentice Hall
    3. Hans Petter Langtangen (2012): A Primer on Scientific Programming with Python. Springer.
    4. Necaise, Rance, D; Hoboken, N.J. (2011) Data structures and algorithms using Python. John Wiley and Sons.
  • Libros o manuales actuales (en español)
    1. Arturo Fernández (2012): Python 3 al descubierto. RC Libros.
  • Un libro interesante por su vinculación con el ámbito de la enseñanza es:
    1. Jason R. Briggs (2013): Python for Kids : a playful introduction to programming. San Francisco, CA : No Starch,
  • En Internet se pueden encontrar multitud de manuales y cursos que abordan distintos aspectos de Python.

Otros:
  Descripción reducida del curso