This is a forkable set of teaching materials for teaching an undergraduate general ecology course.
This repository contains the complete teaching materials (excluding exams and answers to assignments) and [website](link here) for a university style and self-guided course teaching general ecology.
The course is designed to work primarily as a flipped classroom, with students reading and viewing videos before coming to class and then spending the bulk of class time working on exercises with the teacher answering questions and demoing the concepts.
The basic design of this website is based on the Programming for Biologists course developed by Ethan White (@ethanwhite) at the University of Florida. His course materials can be found and forked here
Core teaching materials are stored in exercises/
, lectures/
, and
materials/
.
Class specific materials are stored in the syllabus
, schedule
and assignments/
.
Most of the other folders and files support creating the course website using Jekyll.
The website is setup to be easy to run automatically through GitHub:
- Fork
or import the repository
- In a few minutes you should be able to see the site at:
https://yourusername.github.io/semester-biology/
- In a few minutes you should be able to see the site at:
- Edit any of the markdown (.md) files
- Commit and push the changes
- The changes should now be reflected on the website
- If you want to use a custom domain name instead of
github.io
, follow GitHub's instructions for setting up a custom domain.
If you have any problems please let us know and we'll be happy to help.
If you want to view your changes locally, before pushing them to the live website, you'll need to setup Jekyll locally. GitHub provides a good introduction on how to do this.
If you have Jekyll properly installed, you can then run
bundle exec jekyll serve --baseurl ''
from the command line and navigate to http://localhost:4000/ in your browser to preview the current state of the website.
If you want to add new exercises, lecture notes, etc. you do this by creating a markdown file in the appropriate directory. Each markdown file needs to start with some information that tells Jekyll what the page is. This is done using something called YAML, and the standard YAML for a new exercise would look like this:
---
layout: exercise
topic: Topic group of exercise
title: Name of exercise
language: [R, Python, SQL]
---
This is placed at the very beginning of the markdown file and provides information on what kind of content it is (e.g., exercise, page, etc.), the title of the page, and what language it applies to.
The page should then be available at a url based on where the file is located
and what the file name is. So if you created a new exercise in the exercises/
folder called my_awesome_exercise.md
it would be located at:
Locally: http://localhost:4000/exercises/my_awesome_exercise
After pushing to GitHub:
https://yourusername.github.io/semester-biology/exercises/my_awesome_exercise
Development of this material is funded by the National Science Foundation as part of a Postdoctoral Research Fellowship in Biology awarded to Andrew Tredennick.