Accessibility statement

Solving Environmental Problems with Code - ENV00046I

« Back to module search

  • Department: Environment and Geography
  • Module co-ordinator: Dr. Jon Hill
  • Credit value: 20 credits
  • Credit level: I
  • Academic year of delivery: 2023-24

Module summary

This module will teach the basics of writing code via one of two scripting languages: Python or R. We will use these to solve simple problems linked to the environment via data analysis, statistical modelling, or numerical modelling. No previous experience of R or Python is required.

Module will run

Occurrence Teaching cycle
A Semester 2 2023-24

Module aims

  • To introduce students to software engineering concepts such as testing, revision control, software licences

  • To introduce students to how a computer works, including processing, filesystems, and the command line

  • Introduce students to either Python or R as a scripting language to solve problems

  • Build simple, but commonly used, algorithms to analyse and visualise data

  • Build simple, but commonly used statistical models or be able to set-up and run numerical models

  • Be able to write short scripts to load, analyse and save data

Module learning outcomes

By the end of this module students will be able to:

  • Write scripts in Python or R to solve problems

  • Be able to use a revision control system to track code changes

  • Write appropriate algorithms to carry out analyses

  • Have an understanding of software development techniques and be able to use them effectively

Module content

Flipped teaching structure, with taught material available online in both written and video format. Contact hours are based around practical tasks, exercises and assessment (summative and formative).


Task Length % of module mark
Open Examination
A Python or R script, with a revision control history, that passes a supplied test suite.
N/A 100

Special assessment rules



Task Length % of module mark
Open Examination
A Python or R script, with a revision control history, that passes a supplied test suite.
N/A 100

Module feedback

Feedback will be supplied via a feedback sheet on individual work on the summative assessment, alongside an automatically generated report. There will be feedback on progress provided on a one-on-one basis and class basis throughout the module. Feedback will also be automated through completion of exercises given in the teaching period.

Indicative reading

A Beginners Guide to Python 3 Programming. Hunt 2019.

A Beginner's Guide to R, Zuur et al, 2009. ISBN: 978-0-387-93836-3

A website with all material will be provided and is the essential reading.

The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.