THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2020/2021

Information in the Degree Programme Tables may still be subject to change in response to Covid-19

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 (https://ourcodingclub.github.io/) and the GitHub platform for version control, reproducible workflows and collaborative working (https://github.com/). 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
R
Git
Markdown
Html
Stan
JavaScript
Python

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
Pre-requisitesNone
High Demand Course? Yes
Course Delivery Information
Academic year 2020/21, Available to all students (SV1) Quota:  27
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 and peer feedback on other students' work - 20% - 12noon Friday week 10. All work provided in GitHub.
Development of a new tutorial- 40% - 12noon Friday week 10. 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 student's 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
Week Session Readings
1 Introduction to data science
https://ourcodingclub.github.io
https://datascienceees.github.io/


2 Version control and collaborative coding
Coding Club: Intro to git and version control
https://ourcodingclub.github.io/2017/02/27/git.html

Readings:
https://en.wikipedia.org/wiki/Data_science
https://guides.github.com/activities/hello-world/
https://en.wikipedia.org/wiki/GitHub

Bryan J. (2017) Excuse me, do you have a moment to talk about version control? PeerJ Preprints 5:e3159v2
https://doi.org/10.7287/peerj.preprints.3159v2

R for Data Science Chapter 4 Workflow
http://r4ds.had.co.nz/workflow-basics.html

R for Data Science Chapter 27 Markdown
http://r4ds.had.co.nz/r-markdown.html

Tutorial: Introduction to Markdown
https://ourcodingclub.github.io/2016/11/24/rmarkdown-1.html


3 Functional and object-oriented programming
Coding Club: Getting started with R and RStudio
https://ourcodingclub.github.io/2016/11/13/intro-to-r.html

Troubleshooting and how to find help
https://ourcodingclub.github.io/2016/11/15/troubleshooting.html

Coding Etiquette
https://ourcodingclub.github.io/2017/04/25/etiquette.html

Readings:
https://en.wikipedia.org/wiki/Computer_programming
https://en.wikipedia.org/wiki/Programming_language
https://en.wikipedia.org/wiki/Functional_programming
https://en.wikipedia.org/wiki/Object-oriented_programming
https://en.wikipedia.org/wiki/R_(programming_language)

R for Data Science Chapter 1
http://r4ds.had.co.nz/introduction.html


4 Data manipulation and organisation
Coding Club: Efficient data manipulation in R
https://ourcodingclub.github.io/2017/01/16/piping.html

Readings:
https://www.tidyverse.org/

R for Data Science Chapter 5 Data transformation
http://r4ds.had.co.nz/transform.html

R for Data Science Part II Wrangle Chapters 9 - 16
http://r4ds.had.co.nz/wrangle-intro.html


5 Data visualisation and graphics
Coding Club: Beautiful and informative data visualisation in R
https://ourcodingclub.github.io/2017/01/29/datavis.html

Readings:
R for Data Science Chapter 3 Data visualisation
http://r4ds.had.co.nz/data-visualisation.html

R for Data Science Chapter 28 Graphics for communication
http://r4ds.had.co.nz/graphics-for-communication.html


6 Linear models
Coding Club: Intro to model design
https://ourcodingclub.github.io/2019/04/06/model-design.html

Parker, T.H., Forstmeier, W., Koricheva, J., Fidler, F., Hadfield, J.D., Chee, Y.E., Kelly, C.D., Gurevitch, J. and Nakagawa, S., 2016. Transparency in ecology and evolution: real problems, real solutions. Trends in ecology & evolution, 31(9), pp.711-719.
https://www.sciencedirect.com/science/article/pii/S0169534716300957

Open Science Framework
https://osf.io/


7 Hierarchical models
Coding Club: Intro to mixed effects models
https://ourcodingclub.github.io/2017/03/15/mixed-models.html

Readings:
There's Madness in our Methods: Improving inference in ecology and evolution
https://methodsblog.wordpress.com/2015/11/26/madness-in-our-methods/

R for Data Science Part IV Model Chapters 22 - 25
http://r4ds.had.co.nz/model-basics.html


8 Intro to Bayesian statistics
Coding Club: Intro to Bayesian statistics
https://ourcodingclub.github.io/2019/04/17/stan-intro.html

Generalised linear models using Stan
https://ourcodingclub.github.io/2019/04/30/stan-2.html

Meta-analysis using MCMCglmm
https://ourcodingclub.github.io/2019/01/22/mcmcglmm.html

Readings:
Bayesian statistics: What¿s it all about?
http://andrewgelman.com/2016/12/13/bayesian-statistics-whats/


9 Big Data in Ecology and Environmental Sciences
Coding Club: Introduction to the Tidyverse
https://ourcodingclub.github.io/2016/01/01/data-synthesis.html

Readings:
Hampton, S.E., Strasser, C.A., Tewksbury, J.J., Gram, W.K., Budden, A.E., Batcheller, A.L., Duke, C.S. and Porter, J.H., 2013. Big data and the future of ecology. Frontiers in Ecology and the Environment, 11(3), pp.156-162.
http://onlinelibrary.wiley.com/doi/10.1890/120103/full

R for Data Science Chapter 7 Exploratory Data Analysis
http://r4ds.had.co.nz/exploratory-data-analysis.html


10 Computing intensive research
Coding Club: Intro to the Google Earth Engine
https://ourcodingclub.github.io/2019/11/26/earth-engine.html
https://earthengine.google.com/

Tutorial: Intro to the Google Earth Engine and JavaScript
https://developers.google.com/earth-engine/tutorial_js_01
https://developers.google.com/earth-engine/tutorial_forest_03

Readings:
Gorelick, N., Hancher, M., Dixon, M., Ilyushchenko, S., Thau, D. and Moore, R., 2017. Google Earth Engine: Planetary-scale geospatial analysis for everyone. Remote Sensing of Environment, 202, pp.18-27. https://www.sciencedirect.com/science/article/pii/S0034425717302900

Spatial data manipulation
http://rspatial.org/spatial/index.html
http://rspatial.org/analysis/index.html


11 Careers in Data Science
Coding Club: Intro to spatial analysis in R
https://ourcodingclub.github.io/2019/03/26/spatial.html

Readings:
Non-academic careers for ecologists: data science
https://dynamicecology.wordpress.com/2014/10/27/non-academic-careers-for-ecologists-data-science-guest-post/

Profile of Data Scientist Jenny Bryan
https://ropensci.org/blog/2017/12/08/rprofile-jenny-bryan/
Additional Information
Course URL https://datascienceees.github.io/
Graduate Attributes and Skills Not entered
KeywordsData Science,Ecology,Environmental Science,Coding,Programming,Version control,Statistics
Contacts
Course organiserDr Isla Myers-Smith
Tel: (0131 6)50 7251
Email: Isla.Myers-Smith@ed.ac.uk
Course secretaryMrs Nicola Clark
Tel: (0131 6)50 4842
Email: nicola.clark@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information