MSc Geographical Information Science
Year of entry: 2018
Course unit details:
|Unit level||FHEQ level 7 – master's degree or fourth year of an integrated master's degree|
|Teaching period(s)||Semester 2|
|Available as a free choice unit?||No|
As GIS technologies become increasingly available to the general public, the users of those technologies are becoming increasingly detached from the ‘geographical information science’ behind the software. Understanding GIS seeks to remedy this by using Python programming to explore how common GIS operations actually work.
The course will teach students the main paradigms and algorithms that underpin modern GIS, achieved by writing GIS scripts in Python, and so removing any reliance upon ‘black box’ software such as ArcGIS. In doing so, students will learn how to program in Python, whilst simultaneously gaining ‘expert’ level of understanding of the ‘how it works’ that is absent in most users of GIS software.
- to offer students insight into how GIS software really works.
- to teach students valuable skills in the Python programming language.
- to enable students to automate data processing and analytical tasks.
- to allow students to examine a number of common GIS operations and produce their own implementations of them.
Teaching and learning methods
The course unit will be delivered through hybrid lecture and practical sessions. Each of the teaching weeks will involve both a one-hour lecture and a two-hour practical in a computer lab.
Each week, the lecture will introduce a theoretical grounding for the related practical, which will be followed up by a Python-based practical where that knowledge can be applied. The course will progressively build skills in Python-based GIS by visiting a new topic area each week: this will begin with a basic introduction to Python and GIS, and will end with the creation of software capable of performing complex GIS operations.
Sessions will draw upon a range of resources, including PowerPoint slides for lectures, web-based walkthrough guides for practical sessions, links to relevant web resources, and example code.
Knowledge and understanding
Understand how common GIS operations work, rather than simply being able to implement them in desktop software.
Gain a deeper understanding of the geographical information science paradigms that underpin geographical information systems.
Demonstrate competency in the handling of multiple types of spatial data.
Be able to produce map outputs programmatically.
Transferable skills and personal qualities
Demonstrate skills in the Python programing language, specifically in the context of geospatial applications.
Learn new skills in advanced problem solving and ‘debugging’.
For Assessment 1, marks for the project will be divided into Python code (67%) and a reflective essay of up to 1,000 words (33%) describing the context of the project, the motivation for its production, and reflections upon the design and programming process. Website + 1500 words, weighted at 40%
For Assessment 2, marks for the project will be divided into Python code (67%) and a reflective essay of up to 2,000 words (33%) describing the context of the project, the motivation for its production, and reflections upon the design and programming process. Website + 2000 words, weighted at 60%.
Feedback provided via Blackboard, 15 working days after submission.
- Carver, S. J., Cornelius, S. C., & Heywood, D. I. (2011). An Introduction to Geographical Information Systems (4th ed.). Prentice Hall.
- Iliffe, J. and Lott, R. (2008) Datums and Map Projections for Remote Sensing, GIS and Surveying (2nd ed.). Taylor and Francis.
- Lawhead, J. (2013). Learning Geospatial Analysis with Python. Pakt.
- Longley, P. A., Goodchild, M. F., Maguire, D. J., & Rhind, D. W. (2015). Geographic information science and systems (4th ed.). John Wiley & Sons.
- Python (2016). The Python Tutorial: https://docs.python.org/2.7/tutorial/
- Westra, E. (2010). Python Geospatial Development. Pakt.
|Scheduled activity hours|
|Independent study hours|
|Jonathan Huck||Unit coordinator|