- Lecture Slides: Introduction (Programming and Python)
- Solutions: Introduction (Programming and Python)
- Handout: Edina Digimap
- Handout: Anaconda
- Handout: Anaconda for MacBooks with M1 and M2 Chips
- Practical Notebook: Anaconda, Python Notebooks and Python Basics
- Practical Notebook with Solutions: Anaconda, Python Notebooks and Python Basics
- Lecture Slides: Python and Version Control
- Solutions: Python and Version Control
- Handout: Using a Virtual Machine
- Practical Notebook: Python Basics (II), Git and GitHub
- Practical Notebook with Solutions: Python Basics (II), Git and GitHub
- Lecture Slides: Python Data Structures, IDE and Debugger
- Solutions: Python Data Structures, IDE and Debugger
- Practical Notebook: Python Data Structures and PyCharm
- Practical Notebook with Solutions: Python Data Structures and PyCharm
- Lecture Slides: Object-Oriented Programming
- Solutions: Object-Oriented Programming
- Practical Notebook: Object-Oriented Programming
- Practical Notebook with Solutions: Object-Oriented Programming
- Lecture Slides: Geometry with Python
- Practical Notebook: Drawing with Python
- Practical Notebook with Solutions: Drawing with Python
- Lecture Slides: Geospatial Modelling
- Practical Notebook: NumPy and Pandas
- Practical Notebook with Solutions: NumPy and Pandas
- Lecture Slides: Vector and Raster Representations
- Practical Notebook: PyProj, Shapely, GeoPandas, and Rasterio
- Practical Notebook with Solutions: PyProj, Shapely, GeoPandas, and Rasterio
- Lecture Slides: Tree and Graph Representations
- Practical Notebook: RTree and NetworkX
- Practical Notebook with Solutions: RTree and NetworkX
- Lecture Slides: Advanced Topics
- Practical Notebook: Advanced Topics
- Practical Notebook with Solutions: Advanced Topics
- Lecture Slides: Remote Sensing
- Practical Notebook: Remote Sensing