Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Geosciences : Ecological Science

Undergraduate Course: Data Science in Ecology and Environmental Science (ECSC10038)

Course Outline
SchoolSchool of Geosciences CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 10 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits20 ECTS Credits10
SummaryKey skillsets in ecological and environmental sciences include quantitative skills such as data manipulation, data visualization, coding, statistics, simulation, and more - together these skillsets can be called data science. With a growing emphasis on the importance of data science in ecological and environmental fields, students are seeking out these quantitative skills for their current academic programmes including dissertation research and future careers. The Data Science in ESS course will promote the development of quantitative skills among honours students (and MSc students when appropriate) using interactive workshops and an online learning platform.
Course description The course will introduce a variety of programming languages and coding to the students and we will teach the fundamentals of programming generically. Much of the course content will focus on the programming language R, which is dominant in the field of Ecology and Environmental Sciences, however we will expose students to other programming languages and will encourage them to seek out relevant programming languages and different skillsets as appropriate. Students will not be directly assessed on their command of programming languages (allowing more beginner and advanced students to participate on the same course), but rather how they engage with the quantitative skills being taught in the collaborative coding environment and how they design the teaching of any quantitative skills through the tutorial that they will develop.

Online framework and flipped classroom
The course will be run online using the Coding Club website ( and the GitHub platform for version control, reproducible workflows and collaborative working ( There will be no formal lectures in the course. Instead 1.5-hour tutorials and 2-hour online workshops with the teaching team will be held involving student-driven discussion and hands on learning. Students will need to complete Coding Club tutorials each week and study readings and additional resources so that they can bring questions to the tutorials and participate in discussions.

Key skills taught
1. Version control and collaborative coding
2. The basics of functional and object-oriented programming
3. Development of workflows for quantitative analysis
4. Data manipulation and organisation
5. Data visualisation and graphics
6. Big Data in Ecology and Environmental Sciences
7. Statistics and the linear model
8. An intro to hierarchical linear models
9. An intro to Bayesian statistics (using the linear model)
10. Computing intensive research
11. Careers in Data Science

Programming languages introduced

Week 1: Introduction to Data Science
Week 2: Version control and collaborative coding
Week 3: Functional and object-orientated programming
Week 4: Data manipulation and organisation
Week 5: Data visualisation and graphics
Week 6: Linear models
Week 7: Hierarchical models
Week 8: An intro to Bayesian statistics
Week 9: Big Data in Ecology and Environmental Sciences
Week 10: Computing intensive research
Week 11: Careers in Data Science
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Other requirements None
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Academic year 2023/24, Available to all students (SV1) Quota:  40
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 200 ( Lecture Hours 22, Programme Level Learning and Teaching Hours 4, Directed Learning and Independent Learning Hours 174 )
Assessment (Further Info) Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
Additional Information (Assessment) 100% coursework
Engagement via GitHub - maintenance of individual online repository - 20% - 12noon Friday week 11. All work provided in GitHub.
Development of a new tutorial- 40% - 12noon Friday week 11. GitHub plus PDF to Turnitin on Learn.
Weekly challenges (10% per challenge x 4 challenges) - 40%
Challenge 1 set in week 3 - due 12noon Thursday week 5 via GitHub
Challenge 2 set in week 5 - due 12noon Thursday week 7 via GitHub
Challenge 3 set in week 7 - due 12noon Thursday week 9 via GitHub
Challenge 4 set in week 9 - due 12noon Thursday week 11 via GitHub
Feedback Assessments

Engagement - 20%
Each student will create and maintain a GitHub repository that will contain their data, workflows, code and data visualizations. Students will fork online tutorials such that each student will have a copy of the course tutorials within their own online repositories. Each student will have a private repository that only the student and instructors will have access to and there will also be a course-level repository that will be accessible to all students and instructors on the course where group work will occur and students will be encouraged to share their personal code after they have complete the individual challenges.

Student will be encouraged to provide feedback to fellow students on their coding challenges and GitHub repository content by posting issues on fellow students; code and to work collaboratively with students on particular challenges through their GitHub repositories. The feedback that students provide and the contributions that individuals make to group challenges will be assessed.

At the end of the course, students will be assessed on both how they have structured and maintained their private repository and how they have contributed to the course repository and provided feedback to other students. Their work and also their engagement with the course material will be assessed through the repositories; engagement statistics and the nature and depth of those engagements. Work and engagement will be assessed for consistency across the course.

Weekly challenges - 40%
Students will be assessed on four challenges across the course. Some will be individual challenges, and some will be group challenges that students will need to work together to solve, but assessment will be for individual contributions. Groups will be asked to establish a project 'contract' contained within the course repository in their group's folder as a readme file. Group projects will include contributions from each individual student that can be clearly indicated in the structure of the repository files and code and the contributions that students make from their individual GitHub accounts. Students will be encouraged to work on their challenges during their tutorials and through independent study. Challenges will present a problem or research question that can be answered using a dataset and some sort of workflow development, data manipulation, data visualisation or code development. Challenges will match the quantitative skills being taught.

Development of a new tutorial - 40%
The final assessment on the course will be for each student to develop their own tutorial for the Coding Club website. The final hand in will include a GitHub repository for the tutorial including a markdown document of the tutorial, code extracts and visualizations of the tutorial content. The tutorial can be teaching introductory, intermediate or advanced quantitative skills in any programming language. The tutorial will be assessed on the way it teaches the quantitative skill including how clearly it is written, how well it is organised and the creativity used. Students will have completed 10 tutorials by the end of the course and will have access to all previous Coding Club tutorials as models for what can be produced. They will be asked to produce a tutorial on a unique quantitative skill and they will be encouraged to develop this tutorial as the course progresses and will receive formative feedback from the staff instructor and tutor as they progress throughout the course. Students will also be encouraged to get peer feedback on their tutorial as they develop it. Students can begin work on their tutorials at any time throughout the course. The earlier students begin the more time they will have for feedback from their peers.
No Exam Information
Learning Outcomes
On completion of this course, the student will be able to:
  1. Understand key quantitative skills in the disciplines of ecology and environmental sciences including data management, data visualization, programming, simulation and statistical analysis.
  2. Use data science tools to address research questions and challenges in ecology and environmental sciences.
  3. Implement version control to back up work, code collaboratively and write reproducible workflow reports.
  4. Practice teaching quantitative skills and develop an online tutorial.
  5. Learn about the field of data science and future careers in this area.
Reading List
Please see course outline on the Learn Page for a full breakdown of weekly reading requirements.
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsData Science,Ecology,Environmental Science,Coding,Programming,Version control,Statistics
Course organiserDr James Watt
Course secretaryMiss Francesca Nadal Finnegan
Tel: (0131 6)50 4842
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information