Reproducible research in ecology and evolution

Author

Gaurav Kandlikar

About the course

Welcome to Biol [4800|7800] - Open and Reproducible Research in Ecology and Evolution.

You today?

In a few months

Course objectives

The content and structure of this course is designed to help you work towards the following objectives:

  1. Understand the trends and tools for reproducible and open research practices in science generally, and in ecology/evolutionary biology specifically;

  2. Develop and articulate your individual philosophy and workflow towards reproducible research;

  3. Integrate openly available datasets and tools to reproduce classic result(s);

  4. Envision and begin to implement the steps you will take towards ensuring reproducibility and robustness of your own research;

  5. Build a community of practice1 around reproducible and open research in ecology and evolution.

1 Communities of practices are “groups of people who share a concern or a passion for something they do and learn how to do it better as they interact regularly.” – ref

Who is this course for?

The target audience for this course is graduate students or advanced undergraduates with some past experience analyzing biological data with tools like R, python, or other programs called from the command line. The tools we will cover in this course are broadly applicable across fields, but many examples will refer to topics in ecology and evolution.

Pre-requisites

While there are no formal course pre-requisites, this course will likely be most valuable for participants who have a working knowledge of conducting data analysis/visualization in R (and/or Python) and executing commands from the command line. As a practical yardstick, if the material covered in chapters 1–5 of R for Data Science is not completely unfamiliar to you, then you should be able to complete all the exercises in this course.

If you have never before seen the material in the chapters mentioned above, you might be better served by signing up for LSU’s “Foundations for computational biology” course, which is more specifically designed as an introduction to using these tools.

If you are starting with zero prior experience in using R but want to take this course anyway, please meet with Dr. Kandlikar early in the semester to ensure that there a path for you to get the most out of this course.

Please come to class with a laptop capable of running R, RStudio, git, and other associated tools. LSU students can borrow a laptop for an entire semester through the LSU Library.

Course communication

Official communication about the course will occur over Moodle and LSU email. For informal communication (e.g. to seek help on a bug you are encountering, or to share a cool tool), I encourage all students to join the unofficial course discord server.

Calendar

Last updated: 2025-08-28

Week Pre-class exercises Class 1 (Tues) Class 2 (Thurs) Submission
Week 01
(26 & 28 Aug)
Pre-class readings listed here Course overview Set up tools and intro to semester project none
Week 02
(02 & 04 Sep)
Complete Episodes 1–3 of the Unix Shell SWC workshop Project organization and management Exercise: Data and project management none
Week 03
(09 & 11 Sep)
Watch Crump Lab tutorial on Quarto Writing with Quarto Exercise: research papers with Quarto none
Week 04
(16 & 18 Sep)
Work through https://learngitbranching.js.org/ Version control with git Exercise: Establishing a git presence for the class Activity 1 due on 21 Sep
Week 05
(23 & 25 Sep)
TBD Data visualization TBD none
Week 06
(30 Sep & 02 Oct)
TBD How data are stored in R TBD Activity 2 due on 05 Oct
Week 07
(07 & 09 Oct)
TBD Data archiving and storage Open work time for semester project none
Week 08
(14 & 16 Oct)
TBD Activity 3 due on 19 Oct
Week 09
(21 & 23 Oct)
TBD Crash course No class: Fall Break
Week 10
(28 & 30 Oct)
TBD Crash course Open work time for semester project None
Week 11
(04 & 06 Nov)
TBD Crash course Open work time for semester project none
Week 12
(11 & 13 Nov)
TBD Crash course Open work time for semester project
Week 13
(18 & 20 Nov)
TBD Crash course Open work time for semester project Activity 4 due on 23 Nov
Week 14
(25 & 27 Nov)
TBD Thanksgiving week Thanksgiving week none
Week 15
(02 & 04 Dec)
TBD Semester project presentations Semester project presentations Student presentations

: {.striped .hover tbl-colwidths=“[15,30,30,15]”}

  • Review/deeper dive into one of the core lessons of Weeks 1–7
  • Maintaining an open digital lab notebook
  • Introduction to high-performance computing
  • Accessing open databases through R
  • Wrangling text-based data with Regular Expressions
  • Writing user-defined functions
  • Advanced tools for collaborative programming (e.g. renv)
  • Advanced open science practices (pre-registration, pre-printing, etc.)
  • Unit testing and continuous integration
  • Student choice!

Grading

Letter grades will be determined through your activities (four activities worth 25 points each) and semester project (worth a total of 100 points; see semester project for details). Your final grade out of 200 points will determine your letter grade.

A+ for earning 194--200 points over the semester;    
A  for earning 186--193 points over the semester;  
A- for earning 180--185 points over the semester;   
B+ for earning 174--179 points over the semester;  
B  for earning 166--173 points over the semester;   
B- for earning 160--165 points over the semester;   
C+ for earning 154--159 points over the semester;  
C  for earning 146--153 points over the semester;   
C- for earning 140--145 points over the semester;  
D+ for earning 134--139 points over the semester;  
D  for earning 126--133 points over the semester;
D- for earning 120--125 points over the semester

Assignment deadlines

All assignments except the final semester project submission come with a 24-hour grace period (i.e. you can submit the assignment for full credit without any prior discussion with me). If you are unable to complete an activity submission during this grace period, please get in touch with me to discuss alternatives.

Guidelines for using AI-generated code

The goal for this course is for you to think through the principles and practice of conducting ethical, open, and robust science. In my experience, the casual use generative AI tools is largely antithetical to these goals, and I strongly discourage their use among students.

Instead, when your are stuck, consider turning to a human, whether it is through our unofficial course discord, a human–authored resource (books, blogs, package documentation, etc.), or forums like stack overflow. You are also welcome to come to Gaurav’s “office hours” (AKA hacky hours) to discuss any issues.

I don’t have the tools, capacity, or desire to monitor or penalize your use of AI tools in this course. But if I get the sense that you are relying on these sources to complete the coursework, I may ask for an individual meeting to discuss the extent to which your submissions reflect your own understanding of the material.

About this site

The source code of this website is available on gitlab: https://gitlab.com/gklab/teaching/reproducible-research-f25.