Postgraduate taught 

Conservation Management of African Ecosystems MSc

Fundamentals of Programming and Data Generating Processes BIOL5428

Fundamentals of Programming and Data Generating Processes BIOL5428

  • Academic Session: 2024-25
  • School: School of Biodiversity, One Health & Vet Medicine
  • Credits: 20
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Semester 1
  • Available to Visiting Students: Yes

Short Description

This course will introduce the students to the fundamental programming skills and how these apply to data generation and simulation, and statistical modelling. Emphasis will be on data simulation and analysis involving generalised linear models, statistical machine learning and spatial modelling.


This course is made up of lectures and practical classes in semester 1.

Excluded Courses





Students will submit annotated code and reports generated from small assignments during the course, reflecting participation and competencies learned in practical computer laboratories (50%). These summative assignments will comprise 4 individual grades, each requiring ~500 words commentary in addition to the code.

The remaining 50% will be based on an independent assignment (~1000 words in addition to the code) studied during the last day of class and completed after the course that will require integration of the evidence-based knowledge and skills learned, involving direct application of programming skills obtained.

Course Aims

The aim of this course is to provide hands-on training in programming techniques focussed on data generating processes; to write comprehensible software that can be understood by other people who examine it; to write reproducible software that can be run by third parties on their own computers without alteration; and to apply those skills to advanced data analysis.

Intended Learning Outcomes of Course

With reference to the evidence base, by the end of this course students will be able to:

  1. Use appropriate data structures to retrieve and store information
  2. Select and justify the appropriate loops and program structures when solving a problem
  3. Document code appropriately to explain program structure, functions, and versioning
  4. Design simple computer programs to generate data from random variables, linear and non linear equations
  5. Analyse simulated and real-world data with advanced statistical models
  6. Generate reports where code output is evaluated and interpretated.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course’s summative assessment.