MSE Master of Science in Engineering

The Swiss engineering master's degree

Each module contains 3 ECTS. You choose a total of 10 modules/30 ECTS in the following module categories: 

  • 12-15 ECTS in technical scientific modules (TSM)
    TSM modules teach profile-specific specialist skills and supplement the decentralised specialisation modules.
  • 9-12 ECTS in fundamental theoretical principles modules (FTP)
    FTP modules deal with theoretical fundamentals such as higher mathematics, physics, information theory, chemistry, etc. They will teach more detailed, abstract scientific knowledge and help you to bridge the gap between abstraction and application that is so important for innovation.
  • 6-9 ECTS in context modules (CM)
    CM modules will impart additional skills in areas such as technology management, business administration, communication, project management, patent law, contract law, etc.

In the module description (download pdf) you find the entire language information per module divided into the following categories:

  • instruction
  • documentation
  • examination 
Geoprocessing (TSM_GeoProc)

After studies had shown that 80% of all decisions in business and private life are based on geodata, this now also applies increasingly to Big Data. Modern programming languages such as Python have developed into an easy-to-learn and powerful tool for processing this data. Python is the most frequently used programming language for processing geographical data, especially because of its simplicity, the extensive standard library and the large number of extensions.

Python was used, for example, for Space Shuttle Mission Design or for processing images from the Hubble Space Telescope. Python is also used for highly scalable web applications such as YouTube or the internal Google infrastructure.

At the same time, the availability of (geospatial) data has changed drastically in the last decade. There are more and more data sources - especially thanks to Open Data initiatives. In addition, there is an increasing number of mobile, Internet-enabled devices that make it possible to access data from anywhere and at any time. The availability of storage and computing capacity through cloud computing services has helped to make new data-centric services possible, especially on mobile devices and in web browsers.

A major challenge today, however, is the explosion of data volumes. Traditional methods for data storage, data processing and data evaluation using relational databases and SQL have been the way to work with large amounts of data for decades. For some years, however, there have been alternatives such as Hadoop, NoSQL or Map-Reduce, which can handle this much more efficiently within their area of application.
This module shows the possible uses of Python for (geo)data processing, for handling big data, for data handling and analysis and in cloud computing. This module shows the application possibilities of Python for (geo) data processing, for handling big data, for data handling and analysis and in cloud computing, as well as the combinability of the individual building blocks to an entire workflow.

In the first part, the programming language Python is introduced, and Python modules for handling and processing data are discussed.

The second part deals with big data, data analysis, and cloud computing.


Basic IT knowledge
Interest in dealing with geodata
Interest in cloud environments and processing of very large data sets

Learning Objectives

Technical goals:

  • Learning the programming language Python and the Jupyter Notebook
  • Using Tools & Python modules from the field of geo data processing
  • Dealing with Python modules in the area of Big Data, NoSQL and Map-Reduce
  • Gain the ability to develop your own programs to analyze data sets
  • Processing of data records in the cloud

Methodological objectives:

  • Develop, compare and present solution concepts, structure and document developed solutions, find online forums and use them to solve problems.

Contents of Module

Part 1: Python & (geo-)data & geo-libraries

  • Introduction to the programming language Python with the Jupyter Notebook
  • Introduction to Numpy and Pandas
  • Introduction to spatial reference and geographical data (reference systems, projections, transformations etc.)
  • Processing of spatial data (reading, creating and modifying raster and vector data)
  • Analysis and visualization of spatial data
  • Working with spatial databases (import, export, data manipulation)
  • Processing of (spatial / OGC) web services

Part 2: Big Data Processing & Cloud Computing

  • Introduction Big Data
  • Big Data data model (compute, modeling, storage)
  • Data storage of very large data sets
  • Hadoop (Python API, HDFS, Map-Reduce, Cluster processing)
  • NoSQL database systems (application-oriented, focus on geodata)
  • Scaling using cloud computing and parallel computing

Teaching and Learning Methods

Lectures (2 lessons per week)
Exercises (1 lesson per week)


  • Wes McKinney, 2012. Python for Data Analysis: Data Wrangling with Pandas, Numpy and IPython.
  • Erik Westra, 2013. Python Geospatial Development. Second Edition. Packt Publishing, Birmingham
  • Joel Lawhead, 2013. Learning Geospatial Analysis with Python. Packt Publishing
  • Chris Garrard, 2015. Geoprocessing with Python, Manning, ISBN: 9781617292149.

Download full module description