### Working language
Portuguese and English
### Goals
It is intended that students acquire skills and knowledge of programming/scientific computing that will allow them to develop tools and applications dedicated to the areas of Remote Sensing (RD).
### Learning outcomes and skills
The program covers the Python language as a programming language, as well as the use of scientific computing libraries for manipulation and visualization of geospatial information for the development of applications.
### Working mode
In person
### Prerequisites (prior knowledge) and co-requisites (concurrent knowledge)
No prerequisites.
### Program
Introduction to the Python language
Introduction to the command line for interactive computing – IPython
Data Types (variables of type int, float, byte…, strings, lists, dictionaries…)
Control flow (loops, if-then conditions)
Code organization (functions, modules, packages)
File writing and reading, data input-output
Introduction to the _numpy_ module
Understand data structuring with N-dimensions
array creation
Array indexing, joining and cutting with indexes, masks
Basic operations and manipulation of N-dimensional arrays
Introduction to the 2D visualization module – _matplotlib_
Control of colors, axes and legends
Creating scatter, line, and bar charts
Statistical graphs, histograms
Level curves, 2.5D visualization
Sub-figures, graphic organization
Introduction to the _s__ci__p__y_ module for scientific computing
trigonometric functions
statistical functions
Linear Algebra, vectors and matrices
Linear, polynomial and spline interpolation
data input-output
Visualization of georeferenced information – _b__asemap_ and _c__artopy_
map creation
cartographic projections
Coastlines, political boundaries, land-sea, lakes and rivers
Mapping of vector information through shapefiles
Data structuring in time series and dataframes – module _p__andas_
Data input-output in pandas
Structured information 1D (series) and 2D (dataframes)
Data organization, aggregation and indexing criteria
Computing and analyzing information in pandas
Control of dates and times, module _astropy_
2D visualization and matplotlib integrated in Pandas
Multi-dimensional arrays and datasets with _pandas_ and _xarray_
Input-output of structured information in netCDF
Data indexing and selection
Extraction and manipulation of variables
Statistical analysis by dimensions and time series
Reorganization and visualization
### Mandatory Bibliography
Mark Lutz; [Programming Python](http://catalogo.up.pt/F/-?func=find-b&local_base=FCUP&find_code=SYS&request=000228063 "Programming Python (Opens in a new window)"). ISBN: 0-596-00085-5
### Complementary Bibliography
Mark Lutz; [Python pocket reference](http://catalogo.up.pt/F/-?func=find-b&local_base=FCUP&find_code=SYS&request=000189758 "Python pocket reference (Opens in a new window)"). ISBN: 978-1-56592-500-7
Matt A. Wood; [Python and Matplotlib essentials for scientists and engineers](http://catalogo.up.pt/F/-?func=find-b&local_base=FCUP&find_code=SYS&request=000855875 "Python and Matplotlib essentials for scientists and engineers (Opens in a new window )"). ISBN: 978-1-62705-619-9
Hans Peter Langtangen; [A primer on scientific programming with Python](http://catalogo.up.pt/F/-?func=find-b&local_base=FCUP&find_code=SYS&request=000291612 "A primer on scientific programming with Python (Opens in a new window)" ). ISBN: 978-3-642-02474-0
### Teaching methods and learning activities
Classes are based on Powerpoint presentations and Notebooks with practical exercises exemplifying the use of the various modules addressed.
### Software
Python interpreter
virtualbox
### Type of evaluation
Evaluation by final exam
### Assessment Components
Exam: 100.00%
**Total:**: 100.00
### Occupation Components
Self-study: 50.00 hours
Frequency of classes: 50.00 hours
**Total:**: 100.00
### Get Frequency
Class attendance is mandatory.
Students may lose attendance if they exceed the number of absences provided by law.
### Final classification calculation formula
Final exam (100%).
More information at: https://sigarra.up.pt/fcup/pt/ucurr_geral.ficha_uc_view?pv_ocorrencia_id=479402