Skip to content

Repository files navigation

Workflows for Earth Systems Science

Welcome to the course webpage for GEOG 463/563 at Oregon State University! This repository will contain all resources for the course.

Communication

Prof. James Watson will be your instructor. That's me. Communicate with me in class, or email me at james.watson@oregonstate.edu.

Course Description

This course explores data science methods used to gather, validate, organize, analyze, and summarize large amounts of environmental and ecological information. Focuses on developing analytical workflows that are efficient, reproducible, and modular using scientific coding languages, and version control and collaborative coding environments. Examines case studies including climate change, biodiversity assessments, epidemic modeling, marine spatial planning, and natural resource management.

Learning Outcomes

Upon completion of this course, students will be able to:

  1. Design and conduct a research project involving the analysis of environmental data
  2. Apply best practices in data collection, cleaning, wrangling, analysis, and visualization
  3. Read and write scientific code
  4. Implement best practices in scientific programming to promote reproducible research
  5. Manage collaborative research projects using a version control system

In addition, graduate students will be able to:

  1. Select and cite relevant research articles
  2. Synthesize their findings into a broader environmental context

How each week works

This is a flipped course where students will learn by doing. The two main learning mechanisms are 1) weekly github repo development and 2) a term project (that can be done in teams).

Weekly Github Development

Every week, students will work in teams to create Github repos for various topics. The instructor will provide instruction for the challenge of the week. Then, students will work on the weekly assignment in class. The weekly assignments are focused on gaining experience working with Github, through collaborative coding/writing and version control. Specifically, each week

  1. The instructor will provide a short primer (~10mins) on the week's challenge. Weekly challenges will focus on developing Github README.md pages for different topics of relevance to analytical workflows
  2. Students will then break into groups and start working on the challenges in class time. This will involve Forking the class repo and working collaboratively.
  3. At the end of the week, students will merge their contributions to the class repo
  4. The following week, students will conduct peer-review on each other's repo's, and provide feedback. Students then have an opportunity to make updates before submitting their repo as an assignment in Canvas.

Term-Project

The term project is the main focus on the course. Students will work on their term project in small groups, and there will be assignments periodically through the term on their projects. The project assignments are:

  • 1-page project pitch (Week 3)
  • Mid-term 10 min presentation (Week 5)
  • End-term 15 min presentation (Week 10)
  • Project GitHub Repo (by end of Finals)

In addition, every Monday and Thursday, the instructor will hold "open" and "close" meetings: this will involve students detailing what they will individually work on in the week, and what they have done respectively. This will be documented on this google doc:

https://docs.google.com/document/d/16Rht2inZYq5yl8y89sqppsBJeLIvgdFAI-DV6jqCMfE/edit?usp=sharing

The Course at a Glance

  • Week 0:

    • Lecture: Introduction to the course, learning how to learn, getting to know each other, starting term projects
    • Review these Repos: 1) Weekly assignments, 2) Github version control
  • Week 1:

    • Lecture: the 1-page pitch, project management (setting up your project GitHub repo, operating as a team)
    • GitHub topics: Terminal_IDEs_Shell, Scientific_coding_in_R
  • Week 2:

    • Lecture: getting data, wrangling data, QCQA, Exploratory data analysis, LLMs
    • Github topics: Exploratory_data_analysis, Plotting using code
  • Week 3:

    • Lecture: making good short presentation, plotting with code, workflow viz
    • Github topics: Workflow visualization, LLMs
  • Week 4:

    • Project assignment 10 minute presentation
    • Independent work on projects
  • Week 5:

    • Lecture: project reporting (GitHub repo README / report writing), GEE, HPC
    • GitHub topics: Google_earth_engine, High performance computing
  • Week 6:

    • Lecture: Your choice
    • GitHub topics: Your choice, Your choice
  • Week 7: Machine Learning I

    • Dr. Jack Buckner to give lectures on Machine Learning that will blow your mind
    • GitHub topics: none
  • Week 8:

    • Independent work on projects
  • Week 9:

    • Independent work on projects
  • Week 10:

    • End-term project GitHub Repo and presentations

Schedule

Week Mon Lecture Tues Lab Wed Lecture Lead Instructor Project Milestones
0 X 24-Sep X James NA
1 29-Sep 30-Sep 1-Oct James NA
2 6-Oct 7-Oct 8-Oct James NA
3 13-Oct 14-Oct 15-Oct James 1-page project pitch
4 20-Oct 21-Oct 22-Oct James NA
5 27-Oct 28-Oct 29-Oct James Mid-term presentation
6 3-Nov 4-Nov 5-Nov James NA
7 10-Nov 11-Nov 12-Nov Jack NA
8 17-Nov 18-Nov 19-Nov Jack NA
9 24-Nov 25-Nov 26-Nov James NA
10 1-Dec 2-Dec 3-Dec James End-term presentation, Project GitHub Repo finished

Notes

  • No finals (go do some research and publish a paper instead)
  • X means no class

Grading

Assignments will be managed on Canvas. Points are as follows

Weekly GitHub assignments

Week 2: 5 points (5%)

Week 3: 5 points (5%)

Week 4: 5 points (5%)

Week 6: 5 points (5%)

Week 7: 5 points (5%)

Project

Week 3: 1-page pitch 12 points (12%)

Week 5: mid-term presentation 16 points (16%)

Week 10: end-term presentation 10 points (10%)

Week 10: Project Report 17 points (17%)

Week 10: Project GitHub Repo finished 20 points (20%)

Total points: 100 (100%)

Course Icon

About

Geog_563

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages