Skip to content

Latest commit

 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Curso de programación

EP Ingeniería Geográfica

Un curso de Python orientado a los estudiantes de la escuela de Ingeniería Geográfica de la UNMSM, investigadores y profesionales que trabajen o desean trabajar con las ciencias de la Tierra.

Docente Ing. Roy Yali S.


Resumen


En las últimas décadas la computación se ha convertido en un pilar de la ingeniería y el desarrollo científico-tecnológico. En la mayoría de las áreas, el trabajo computacional es un complemento fundamental de la experimentación tradicional y de la teoría, ya que cada vez más se involucra simulaciones numéricas y modelado computacional. Frecuentemente, la tarea de los profesionales involucra el uso de aplicaciones específicas que requieren un gran trabajo de procesamiento de los datos de entrada y un post-procesamiento de los resultados utilizando otras herramientas.

Este curso brinda una introducción sólida al poderoso lenguaje de programación Python (http://python.org) y a las herramientas fundamentales del "ecosistema científico" (Jupyter, Numpy, Matplotlib, Scipy, entre otras) que conforman un entorno de programación interactivo de vanguardia, simple, libre, gratuito y multiplataforma.

Sobre el docente


Roy Yali Samaniego (25) es ingeniero geógrafo de la Universidad Nacional Mayor de San Marcos; tiene experiencia en el sector público y privado en las disciplinas de geomática y ciencias atmosféricas. En la actualidad se desempeña como desarrollador GIS en el Instituto Geológico, Minero Metalúrgico de Perú - INGEMMET. Anteriormente ha laborado en importantes proyectos como parte del Servicio Nacional de Meteorología e Hidrología - SENAMHI, el Instituto Nacional de Estadística e Informática - INEI y la Autoridad Nacional del Agua - ANA. Programador desde hace algunos años, y cree ser especialista en Desarrollo GIS y ciencia de datos tanto para proyectos como para investigación geocientífica.

Más información en su blog

Programa


Clase 1:

ARQUITECTURA DE LA COMPUTADORA
●   La unidad central de proceso y memoria
●   Funcionamiento de la computadora e internet (hardware y software)

INTRODUCCIÓN A LA PROGRAMACIÓN
●   Lenguajes de programación
●   Programación orientada al desarrollo web y desktop
●   Programación orientada al análisis de datos

Clase 2:

TÉCNICAS DE PROGRAMACIÓN 
●   Programación modular
●   Programación estructurada
●   Programación orientada a objetos
●   Diagramas de flujo y Pseudocódigo

CONCEPTOS FUNDAMENTALES
●   Tipos de datos
●   Identificadores, constantes y variables.

Clase 3:

    SINTAXIS Y ESTRUCTURAS DE DATOS
●   Expresiones Aritméticas y Lógicas
●   Programas secuenciales
●   Estructura general del lenguaje Python
●   Tuplas, Listas, Diccionarios
●   Operaciones: Actualización, inserción, eliminación, modificación

Clase 4:

    ESTRUCTURAS DE CONTROL SELECTIVAS
●   La estructura simple (SI-ENTONCES)
●   La sentencia if, elif
●   Estructuras Anidadas
●   Estructuras múltiples (SI-MÚLTIPLE)

Clase 5:

ESTRUCTURAS DE CONTROL REPETITIVAS
●   Bucles y loops
●   Sentencia WHILE
●   Sentencia FOR
●   Contadores y acumuladores
●   Instrucciones BREAK, PASS, CONTINUE

Clase 6:

    FUNCIONES
●   Parámetros y argumentos
●   Funciones predefinidas
●   Funciones definidas por el usuario
●   Importación de paquetes

Clase 7:

ARCHIVOS
●   Lectura de archivos
●   Sentencia WITH, AS
●   Modificación y creación de archivos
●   Ejemplos

Clase 8:

PRIMER EXAMEN PARCIAL

Clase 9:

 ANÁLISIS DE DATOS
●   Introducción a Numpy.
●   Subsetting Numpy Arrays
●   Estadísticas básicas en numpy
●   Introducción a Pandas.
●   Matrices y Data Frames

Clase 10:

TRATAMIENTO DE DATOS
●   Creación de data.frames
●   Reshaping data
●   Resumen de datos.
●   Manejo de valores vacíos.
●   Agrupamiento de datos

Clase 11:

REPRESENTACIÓN GRÁFICA
●   Introducción a Matplotlib
●   Manipulación de datos
●   Indexación avanzada
●   Agrupación y filtrado
●   Gráficos básicos

Clase 12:

ÁLGEBRA LINEAL EN PYTHON 
●   Placeholders.
●   Creación de arrays.
●   Ordenamientos de arrays.
●   Subsetting, slicing, indexing
●   manipulación de arrays.

Clase 13:

GEOPANDAS - MANEJO DE DATOS VECTORIALES EN PYTHON
●   WKT
●   GeoJSON
●   Operaciones geoespaciales.
●   Placeholder (shapely)

Clase 14:

GOOGLE EARTH ENGINE
●   Programación cliente-servidor
●   Estructuras de datos en GEE.
●   ee.Image vs ee.ImageCollection
●   ee.Feature vs ee.FeatureCollection.

Clase 15:

INTRODUCCIÓN A MACHINE LEARNING
●   Análisis de Componentes principales
●   Clasificación supervisada
●   Clasificación no supervisada

Clase 16:

EXAMEN FINAL

Licencia


Licencia Creative Commons

Créditos


Parte de este material ha sido inspirado y/o adaptado de múltiples fuentes

  • Scipy Lectures <http://scipy-lectures.github.io/>
  • Scientific Python Lectures <https://github.com/jrjohansson/scientific-python-lectures> de J.R. Johansson
  • El tutorial de Python <http://docs.python.org.ar/tutorial/2/contenido.html> traducción al castellano por la comunidad Python Argentina <http://python.org.ar/>
  • Matplotlib tutorial <http://webloria.loria.fr/~rougier/teaching/matplotlib/> por Nicolas P. Rougier
  • Numba vs Python, take 2 <http://nbviewer.ipython.org/url/jakevdp.github.io/downloads/notebooks/NumbaCython.ipynb> de Jake Vanderplasf

*En desarrollo

About

Curso de programación para la EP Ingeniería Geográfica - UNMSM

Resources

Stars

14 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages