Topic outline

  • Programación en Python (2020)

     

     

    Profesores

    Michael González Harbour
    José Javier Gutiérrez García
    José Carlos Palencia Gutiérrez
    José Ignacio Espeso Martínez
    Adolfo Garandal Martín

    Departamento de Ingeniería Informática y Electrónica


     

     

     

     


    La asignatura trata de que alumnos sin experiencia previa en la programación de computadores sean capaces de diseñar y escribir aplicaciones sencillas en el lenguaje de programación Python. Para ello será importante ser capaz de diseñar algoritmos sencillos y usar estructuras de datos básicas. La asignatura se orienta hacia una visión orientada a objetos de las aplicaciones informáticas y el lenguaje Python. Este lenguaje es uno de los más más populares actualmente.


    Palabras Clave de la Asignatura

    Programación, Python, Lenguajes de programación, Programación orientada a objetos, Informática.

  • Programa


    Datos identificativos de la Asignatura

    • Asignatura: Programación

    • Código: G40 / G47

    • Departamento / Área: Departamento de Ingeniería Informática y Electrónica

    • Título: Grado en Física / Grado en Matemáticas

    • Centro: Facultad de Ciencias

    • Créditos ECTS: 6

    • Idioma de impartición: Español

    • Profesores: Michael Gonzáez Harbour / José Javier Gutiérrez García / José Carlos Palencia Gutiérrez / José Igancio Espeso Martínez / Adolfo Garandal Martín



    Programa de la asignatura

     

     

    1. Introducción a los lenguajes de programación

    Lenguajes de programación. Compiladores e intérpretes. El lenguaje Python. El ciclo de vida del software. Concepto de algoritmo. Encapsulamiento de datos y algoritmos. Estructura de un programa. Funciones. Estilo de codificación.


    2. Datos y expresiones

    Números. Operaciones y expresiones. Variables. Booleanos. Strings. Uso de funciones matemáticas. Variables y paso de parámetros. Listas y tuplas.


    3. Clases

    Concepto de clase y objeto. Definición de clases. Creación y uso de objetos. Atributos y métodos de instancia y de clase. Espacios de nombres. Módulos y paquetes.


    4. Estructuras algorítmicas

    Instrucción condicional. Instrucción condicional múltiple. Instrucciones de bucle. Recursión. Descripción de algoritmos mediante pseudocódigo.


    5. Estructuras de datos

    Tablas. Algoritmos de recorrido. Algoritmos de búsqueda. Conjuntos. Tablas multidimensionales. El paquete NumPy. Diccionarios. Tipos enumerados.


    6. Tratamiento de errores

    Excepciones. Tratamiento de excepciones. Patrones de tratamiento de excepciones. Lanzar Excepciones. Usar nuestras propias excepciones. Acciones de limpieza.

    7. Entrada/salida

    Escritura de texto con formato. Lectura de números con formato. Ficheros. Lectura de ficheros de texto. Escritura de ficheros de texto.

     

    8. Herencia y polimorfismo

    Jerarquía de clases. Herencia. Clases abstractas. Polimorfismo.

     

    Apéndice A: uso de un entorno integrado de desarrollo de programas

    Entorno de desarrollo de programas spyder. Gestión de proyectos. Analizar, cargar y ejecutar el programa. La depuración. Generación de documentos

     

    Apéndice B: Paquete fundamentos

    Lectura de datos desde una ventana. Escritura de resultados en una ventana. Mensaje de texto sencillo en una ventana. Menú que presenta botones en una ventana. Dibujo, para mostrar dibujos e imágenes en una ventana.

  • Bibliografía

     

     Básica 

     


      Libros de consulta 

     

    • Otro tutorial de Python: https://python-course.eu/python3_course.php

    • Alex Martelli, Anna Ravenscroft, Steve Holden. "Python in a Nutshell: A Desktop Quick Reference" 3rd edition. O'Reilly Media; 3 edition (May 4, 2017), ISBN-10: 144939292X, ISBN-13: 978-1449392925Eric Matthes. "Python Crash Course: A Hands-On, Project-Based Introduction to Programming". No Starch Press. Edición 1 (noviembre 2015), ISBN-10: 1593276036, ISBN-13: 978-1593276034

    • Mark Lutz. "Learning Python", 4th Edition. O'Reilly Media, October 2009, Ebook: September 2009. Print ISBN: 978-0-596-15806-4, ISBN 10: 0-596-15806-8. Ebook ISBN: 978-0-596-80598-2, ISBN 10: 0-596-80598-5

    • Sébastien Chazallet. "Python 3. Los fundamentos del lenguaje - 2ª edición, dic 2016. Eni. ISBN-10: 2409006140, ISBN-13: 978-2409006142

    • Ángel Pablo Hinojosa Gutiérrez. "Python. Paso A Paso", mar 2016, RA-MA S.A. ISBN-10: 8499646115, ISBN-13: 978-8499646114

    • Mike Pirnat. "How to Make Mistakes in Python". O'Reilly, October 2015. ISBN139781491934470. https://www.oreilly.com/programming/free/how-to-make-mistakes-in-python.csp

    • Zed A. Shaw, "Aprenda a programar con Python 3", Anaya Multimedia. Octubre de 2017, ISBN-10: 8441539413, ISBN-13: 978-8441539419

  • Materiales de Clase

     

     

  • Prácticas

     

     

  • Ejercicios

     

     

    • EJ-F-001. Hoja 1. Datos en Python; Literales; Sangrados

    • EJ-F-002. Hoja 2. Expresiones y conversiones de tipo

    • EJ-F-003. Hoja 3. Funciones, expresiones, strings y listas

    • EJ-F-004. Hoja 4. Clases y objetos

    • EJ-F-005. Hoja 5. Practicar con strings, instrucciones condicinales y bucles

    • EJ-F-006. Hoja 6. Practicar con tuplas, listas y conjuntos

    • EJ-F-007. Hoja 7. Practicar con tablas multidimensionales y arrays de numpi

    • EJ-F-008. Hoja 8. Excepciones

  • Pruebas de Evaluación

     

    • PE-F-001. Examen de Programación (junio 2019)

    • PE-F-002. Examen de prácticas de Programación (junio 2019)

    • PE-F-003. Materiales para el examen de prácticas (julio 2019). Archivo .zip

    • PE-F-004. Examen de Programación (septiembre 2019)

    • PE-F-005. Examen de prácticas de Programación (septiembre 2019)

    • PE-F-006. Materiales para el examen de prácticas (septiembre 2019). Archivo .zip

    • PE-F-007. Ejercicio de examen de Programación

  • Guía de Aprendizaje

     

     

    Aquí puede descargarse la Guía de Aprendizaje en formato pdf .

  • Sobre el Profesor

     

     

    logo_UC 

    Michael González Harbour

     

    Departamento de Ingeniería Informática y Electrónica

    UNIVERSIDAD DE CANTABRIA
     
    Más información

    logo_UC 

    José Javier Gutiérrez García

     

    Departamento de Ingeniería Informática y Electrónica

    UNIVERSIDAD DE CANTABRIA
     
    Más información

     

    logo_UC 

    José Carlos Palencia Gutiérrez

     

    Departamento de Ingeniería Informática y Electrónica

    UNIVERSIDAD DE CANTABRIA
     
    Más información

    logo_UC 

    José Ignacio Espeso Martínez

     

    Departamento de Ingeniería Informática y Electrónica

    UNIVERSIDAD DE CANTABRIA
     
    Más información

     

    logo_UC 

    Adolfo Garandal Martín

     

    Departamento de Ingeniería Informática y Electrónica

    UNIVERSIDAD DE CANTABRIA
     
    Más información