Syllabus

Class Details

Class Time: Tuesday / Thursday 10:10-11:25

Location: 506 Schermerhorn

Instructor

Ryan Abernathey
Dept. of Earth & Environmental Sciences
Office: Oceanography 205C, LDEO
Email: rpa@ldeo.columbia.edu Phone: 845 365-8185
Office Hours: Thursday, 3:30 - 4:30 pm (DEES Faculty Office)

Teaching Assistant

Xiaomeng Jin
Dept. of Earth & Environmental Sciences
Email: xjin@ldeo.columbia.edu
Office: Oceanography, 207F, LDEO
Office Hours: Wednesday, 6:00 - 7:00 pm (DEES student lounge)

Overview

Computing has become an indispensable tool for Earth Scientists. This course will introduce incoming LDEO graduate students to modern computing software, programming tools and best practices that are broadly applicable to carrying out research in the Earth sciences. This includes an introduction to Unix, version control, basic programming in the open-source Python language. The bulk of the course will be devoted to in-depth exploration of the numerical analysis and visualization packages which comprise the modern Scientific Python ecosystem, including Numpy, Scipy, Matplotlib, Pandas, Xarray, and Holoviews/Geoviews. Student learning will be facilitated through a combination of lectures, in-class exercises, homework assignments and class projects. All topics will be taught through example datasets or problems from Earth Sciences. The course is designed to be accessible for Earth Science graduate students in any discipline.

Course Structure

The course will meet twice a week. New material will be presented by the instructor on Thursday, with an assignment due the following week (students will work in pairs). On Tuesday, the classroom will be “flipped”: students will work first in small groups and then individually on assignments.

Textbook: There is no required textbook. All necessary material will come from free online resources and the course website itself.

Computers: Students will use their laptop to access a cloud-based JupyterLab environment, from which they will complete the assignments. Students will also be given an educational account on the Habanero cluster computer.

Grading: Weekly assignment (70%), final project (30%)

Assignment Grading Rubric:

  • Total: 100
  • All questions complete: 50
  • All questions correct: 30 (e.g., if there are 10 questions, each questions has 5 points for completeness and 3 points for correctness)
  • Clean, elegant, efficient code: rate between 0 and 10
  • Clear comments and explanations: rate between 0 and 10
  • Late penalty: -20 per day (24 hrs)

Schedule