Universidad Pública de Navarra



Año Académico: 2015/2016 | Otros años:  2017/2018  |  2016/2017 
Máster Universitario en Sistemas de Información Geográfica y Teledetección
Código: 73118 Asignatura: Programación avanzada en Python
Créditos: 3 Tipo: Obligatoria Curso: 1 Periodo: 1º S
Departamento: Automática y Computación
Profesores
BUSTINCE SOLA, NICANOR HUMBERTO (Resp) LOPEZ MOLINA, CARLOS

Partes de este texto:

 

Módulo/Materia

Módulo 1. SIG / Materia 1.3 Programación SIG

Subir

Descriptores

Programación orientada a objetos. Lectura y escritura de ficheros. Gestión automática de información geográfica. 

Subir

Competencias genéricas

Las competencias que los estudiantes desarrollarán en esta asignatura son:

  • CG2. Tener la autonomía suficiente para organizar y planificar un proyecto profesional, de investigación o de desarrollo tecnológico en el ámbito de los SIG y la teledetección.

  • CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.

  • CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio;

Subir

Competencias específicas

 

Las competencias que los estudiantes desarrollarán en esta asignatura son:

  • CE4. Diseñar, programar y utilizar de forma eficiente los algoritmos, tipos y estructuras de datos más adecuados a la resolución de problemas de análisis espacial. 

Subir

Resultados aprendizaje

Al terminar con éxito esta asignatura, los estudiantes serán capaces de:

  • RA1. Explicar conceptos avanzados de programación orientada a objetos, incluyendo tipos complejos y jerarquías de clases.

  • RA2. Desarrollar aplicaciones y scripts en lenguaje Python.

  • RA3. Diseñar e implementar un sistema básico de gestión de información estructurada a través de ficheros y objetos representables.

Subir

Metodología

Metodología - Actividad
Horas Presenciales
Horas no presenciales
A-1 Clases expositivas/participativas
 14
 
A-2 Prácticas
 14
 

A-3 Actividades de aprendizaje cooperativo

 
 5

A-4 Realización de proyectos individuales o en grupo

 
12 

A-5 Estudio y trabajo autónomo del estudiante

 
25 

A-6 Tutorías

 

A-7 Pruebas de evaluación

 2
 
   
 
 
 
 
Total
30 
 45

Subir

Relación actividades formativas-competencias

Competencia
Actividad formativa
 CG2
 A-4, A-5, A-6
 CB6 
 A-1, A-2, A-3, A-4 
 CB7 
 A-4, A-5 
 CE4 
 A-1, A-2, A-5, A-6 
 
 
 
 
 
 
 
 

Subir

Idiomas

Castellano.

Subir

Evaluación

Sistema de evaluación  Resultados de Aprendizaje Peso (%)
 E-1 Pruebas de duración corta  RA1 10
 E-2 Pruebas de respuesta larga  RA2, RA3 50
 E-3 Presentaciones orales  RA1 20
 E-4 Trabajos e informes  RA2,RA3 20
   

Subir

Contenidos

 
  • Lenguaje Python: Objetivos y características. Comparación con otros lenguajes.

  • Implementación de programas estructurados en Python: Gestión de variables. Estructuras alternativas e iterativas. Funciones y procedimientos en Python.

  • Gestión de información en Python: Uso de tipos complejos predefinidos. Declaración y estructuración de clases. Lectura, modificación y creación de ficheros.

Subir

Temario

Tema 1.- Entorno de programación Python

  • Fundamentos de lenguaje compilado e interpretado;

  • Instalación y Configuración de una máquina interprete de Python;

  • Características del entorno de programación Python.

     

Tema 2.- Programas básicos en Python

  • Ejecución de código en Python;

  • Gestión de variables en Python;

  • Estructuras alternativas en Python;

  • Estructuras iterativas en Python.

 

Tema 3.- Descomposición de programas en Python

  • Principios de divide y vencerás;

  • Programación de funciones en Python;

  • Gestión de memoria en funciones de Python.

 

Tema 4. Tipos de datos definidos

  • Tipos avanzados de datos;

  • Estructuración de información;

  • Declaración de variables estructuradas;

  • Programación orientada a objetos;

  • Definición de clases;

  • Nociones básicas de diseño de clases.

     

Tema 5.- Encapsulación y distribución de código

  • Concepto de módulo;

  • Creación de módulos;

  • Creación de documentación;

  • Distribución y preparación de código.

 

Subir

Bibliografía

Acceda a la bibliografía que su profesor ha solicitado a la Biblioteca.


Bibliografía Básica:

  • Recurso On-line; The Python Language Reference (Official) https://docs.python.org/3.5/reference/;

  • J. Cannon, Python Programming for Beginners: An Introduction to the Python Computer Language and Computer Programming; CreateSpace Independent Publishing Platform (2014);

  • G. Witt, Writing Effective Business Rules; Morgan Kaufmann (2012).


Bibliografía Complementaria:

  • A. Sweigart, Automate the Boring Stuff with Python: Practical Programming for Total Beginners; No Starch Press (2015);

  • Recurso On-line; Curso Python (Codecadamy) http://www.codecademy.com/?locale_code=es;

  • R. Backhouse, Algorithmic Problem Solving; Wiley (2011).

Subir

Lugar de impartición

Aulas a asignar por el Servicio Informática de la UPNa.

Subir