Skip to content
Elsa Culler edited this page Jul 31, 2023 · 20 revisions

Introduction to Earth Data Analytics Syllabus

Welcome to Introduction to Earth Data Analytics! This is the first course of three in the Earth Data Analytics -- Foundations professional graduate certificate program. Over the course of the semester, you will learn the basics of writing open, reproducible earth data science workflows using the Python programming language.


Important Links

Join your discussion section on zoom


Delta Aerial Image

Logistics

This class is fully remote, with synchronous (e.g. interactive and held at a particular time) discussion sections.

Discussion sections

Section times:

  • Wednesdays 1:00-2:30 US Mountain Time
  • Wednesdays 4:00-5:30 US Mountain Time
  • Thursdays 1:00-2:30 US Mountain Time
  • Thursdays 4:00-5:30 US Mountain Time
  • Asynchronous

Each week you will be required to either:

  • attend one 90 minute synchronous remote section
  • or complete an additional asynchronous post on GitHub by replying to the relevant discussion Issue.

If you are unable to attend the section you registered for, you may attend another one, provided you contact the teaching team. The sections will be small (4-8 students) and we need to ensure that there is enough attendance at each one to have a good discussion.

Teaching team

Email: [email protected]

I work Tuesday-Saturday so that I can meet with students on weekends. I will do my best to respond to emails by my next working day.

Office Hours:

  • Tuesdays 1-3pm in SEEC S346 (Earthlab Education Director office) or virtually on zoom
  • Sunday 3-5pm US Mountain Time virtually on zoom only
  • Schedule an appointment on zoom

Dr. Nathan Quarderer

Nathan Korinek

Dr. Lilly Sanovia

Accessing course content

Make sure that you have access to the following items. More details about how to complete these steps are available below.

  • ✅ Working computer with a reliable internet connection
  • ✅ University of Colorado email/identikey
  • ✅ Online Earth Data Science Textbook
  • ✅ GitHub

If you are reading this page, you probably already have an Identikey and GitHub account! You may also wish to check that you have access to the following before the course begins:

  • ✅ Customize your University of Colorado Zoom profile
  • ✅ Canvas Learning Management System

A working computer with internet access

Why do I need this? Access all course materials online, including live discussion sessions, video content, assignments, discussions, and our custom Python programming environment.

If your internet access is limited, you may wish to set up your own coding environment on your computer so you won't need consistent internet. Follow the instructions on Setting up Git, Bash, and Miniconda on your computer to install the necessary tools for your operating system (Windows, Mac, Linux).

University of Colorado Email/Identikey

Why do I need this? Use your University of Colorado email to contact the teaching team and access University of Colorado services like Zoom and Canvas.

Emailing the instructors

If your email is not personal in nature, but rather a question about the homework, issues with the course website, or issues with Python, please:

  1. See if the question has already been asked on GitHub.
  2. If the question hasn’t already been asked, please [post your question](###

Online Earth Data Science Textbook

Why do I need this? The textbook contains lessons related to each week's topic.

The textbook for this course  -  online textbook for Intro to Earth Data Science  is free and available for you to use at any time.

GitHub

Why do I need this? You will need a GitHub account to access course materials. Use GitHub to access, complete, and submit your assignments and discussion posts.

We will be using the class GitHub repository to host class discussions and technical Q&A.

Rules For Posting Online

It is important that you follow the course guidelines when posting questions to GitHub.

Do:

  • Post questions that you have about homework assignments.
  • Post issues that you find with the website – typos, errors, points of confusion.
  • Answer other questions if you can (you will receive participation points for posting, so use it!)
  • Upvote questions that you have as well or that you think are written well.
  • Be respectful of your peers. All questions related to data and earth analytics are good questions.

Do not:

  • Post any content that is in any way offensive or that violates University codes of conduct (see links below).
  • Post explicit solutions to homework assignments (help each other out but don’t post the answer).
  • Post an entire homework document - rather post a small snippet of code that is causing problems and the associated code error.

When posting questions about coding issues, please do your best to provide an example of the specific code error that you are encountering. An example of an appropriate way to post code errors is provided below.   

The Code:

import pandas as pd
pd.read_cs("filename")

returns this error:

AttributeError: module 'pandas' has no attribute 'read_cs'

In the example above, the fix would be to make sure your function name is correct (code should be read_csv, rather than read_cs).

Get Help

There are several ways that you can get help when you get stuck in this class.

  • Ask questions during hands-on exercises in class.
  • Attend office hours or make an appointment.
  • Post your question on GitHUB.

Zoom

Zoom info: Zoom information

On zoom, it will be important to participate actively each week either by speaking or typing in the chat. We understand you may not be able to have video on all the time due to internet limitations. Please use a profile picture showing your face and change your screen name to the name and pronouns you would like to use in class so that we can identify you even if the video feed needs to be turned off. Technical details about how to change identifying information are listed below.

You can access Zoom via any of these methods:

To update name, pronouns, and profile picture:

Visit the zoom profile page

  1. If you are not logged in, click the ‘SSO’ button, enter ‘cuboulder’ as the domain, and sign in with your IdentiKey
  2. Click on the profile photo box in the upper left to change your profile picture to one showing your face.
  3. Edit your Display Name and Pronouns
  4. Select either ‘Always share in meetings and webinars’ or ‘Ask me every time after joining meetings and webinars’ for ‘How would you like to share your pronouns.

If you need assistance with running Zoom, please contact IT.

Canvas Learning Management System

Why do I need this? If you would like to see your current calculated grade, it will be available on Canvas as we assess your work throughout the semester.

You can log into the Canvas page for this course with your Identikey.

Course Overview

This introductory, multidisciplinary course will provide core scientific programming skills required to efficiently work with a suite of earth systems data in Python.

In this course, you will learn how to:

  • Write modular code using Python to process and visualize different types of data.
  • Use version control to backup and track changes to code.
  • Use Shell to access Git (version control) at the command line and to create and organize directories.
  • How to work collaboratively with colleagues using Git and GitHub.

This course is technical. You will use the Python programming environment and the Jupyter Notebook interface to work with data. You will code every day! No programming experience is required to take this course.

Learning Outcomes

At the end of this course, you will learn to program in Python and be able to:

  • Write code to process data using the Python programming language and Jupyter notebooks.
  • Design and write a basic algorithm to solve a scientific challenge or process data.
  • Write modular efficient code in Python using functions and loops.
  • Write pseudocode or flow diagrams to organize and outline workflows.

You will also learn principles and tools for developing open reproducible science workflows, and be able to:

  • Organize documents and directories using sound data management approaches.
  • Write well documented, modular code to support open science workflows.
  • Use Git/GitHub.com to track chances in your code and collaborate with interdisciplinary colleagues.
  • Use Shell to interact with Git and to create and interact with directories and files.

Course Components

Online Participation

Course participation will be evaluated as a part of this course. Your course participation grade is calculated using a combination of:

  • Answering questions posted by students on GitHub
  • Responding to questions on GitHub
  • Completing peer reviews of other students' code
  • Identifying issues with the course website or materials and posting these issues on GitHub

Coding Challenges

Each week there will be an assignment due by Tuesday evening. There will be a GitHub Milestone with the assignment link . Follow the instructions for submitting your assignment.

Discussions

Each week you will need to contribute to a discussion post on GitHub by Tuesday evening. If you a zoom discussion section you will complete the discussion during class.

Final Project/Assignment

Assignments that you complete will provide you with the skills and resources needed to complete the final assignment. Graduate students will be assigned a more intensive notebook to complete by default. Graduate students may also choose to complete a final project in which they retrieve their own data. If you plan to bring your own data, you will still need to demonstrate the key skills of writing functions, for loops, and plotting.

Important: Please note that the course schedule and content on Canvas is subject to change. This course content schedule is not designed as a contract. Rather, it is an overview guide to the materials that you will review during the semester. Please make sure to attend class and/or check Canvas regularly for final information on deadlines and course content.

Grading

All grading for this course will follow the CU grading policies.

Late assignments will cost 10% of your score on that assignment unless you discuss this with the teaching team in advance of the due date. We will happily make accommodations for late work from any student, regardless of the circumstances. If we think you are getting too far behind to reasonable finish the course on time, however, we will ask you to meet with us to come up with a plan and get the support you need to finish.

Grades are calculated using the following percentages:

  • Weekly Assignments 50%
  • Weekly Discussions 15%
  • Final Assignment or Project 20%
  • Participation 15%

Final Letter Grades

Please use the table below to understand how your numeric grade listed on Canvas relates to your final letter grade in this course. 

Score | Grade

A | 93-100 A- | 90-92 B+ | 87-89 B | 83-86 B- | 80-82 C+ | 77-79 C | 73-76 C- | 70-72 D+ | 67-69 D | 63-66 D- | 60-62 F | 0-59

University of Colorado Course Policies

Classroom Behavior

Both students and faculty are responsible for maintaining an appropriate learning environment in all instructional settings, whether in person, remote or online. Those who fail to adhere to such behavioral standards may be subject to discipline. Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy.  For more information, see the classroom behavior policy, the Student Code of Conduct, and the Office of Institutional Equity and Compliance.

Requirements for COVID-19

As a matter of public health and safety, all members of the CU Boulder community and all visitors to campus must follow university, department and building requirements and all public health orders in place to reduce the risk of spreading infectious disease. CU Boulder currently requires COVID-19 vaccination and boosters for all faculty, staff and students. Students, faculty and staff must upload proof of vaccination and boosters or file for an exemption based on medical, ethical or moral grounds through the MyCUHealth portal.

The CU Boulder campus is currently mask-optional. However, if public health conditions change and masks are again required in classrooms, students who fail to adhere to masking requirements will be asked to leave class, and students who do not leave class when asked or who refuse to comply with these requirements will be referred to Student Conduct and Conflict Resolution. For more information, see the policy on classroom behavior and the Student Code of Conduct. If you require accommodation because a disability prevents you from fulfilling these safety measures, please follow the steps in the “Accommodation for Disabilities” statement on this syllabus.

If you feel ill and think you might have COVID-19, if you have tested positive for COVID-19, or if you are unvaccinated or partially vaccinated and have been in close contact with someone who has COVID-19, you should stay home and follow the further guidance of the Public Health Office ([email protected]). If you are fully vaccinated and have been in close contact with someone who has COVID-19, you do not need to stay home; rather, you should self-monitor for symptoms and follow the further guidance of the Public Health Office ([email protected]). {Faculty: insert your procedure here for students to alert you about absence due to illness or quarantine. Because of FERPA student privacy laws, do not require students to state the nature of their illness when alerting you. Do not require "doctor's notes" for classes missed due to illness; campus health services no longer provide "doctor's notes" or appointment verifications.}

Accommodation for Disabilities

If you qualify for accommodations because of a disability, please submit your accommodation letter from Disability Services to your faculty member in a timely manner so that your needs can be addressed.  Disability Services determines accommodations based on documented disabilities in the academic environment.  Information on requesting accommodations is located on the Disability Services website. Contact Disability Services at 303-492-8671 or [email protected]  for further assistance.  If you have a temporary medical condition, see Temporary Medical Conditions on the Disability Services website.

Preferred Student Names and Pronouns

CU Boulder recognizes that students' legal information doesn't always align with how they identify. Students may update their preferred names and pronouns via the student portal; those preferred names and pronouns are listed on instructors' class rosters. In the absence of such updates, the name that appears on the class roster is the student's legal name.

Honor Code

All students enrolled in a University of Colorado Boulder course are responsible for knowing and adhering to the Honor Code. Violations of the Honor Code may include, but are not limited to: plagiarism, cheating, fabrication, lying, bribery, threat, unauthorized access to academic materials, clicker fraud, submitting the same or similar work in more than one course without permission from all course instructors involved, and aiding academic dishonesty. All incidents of academic misconduct will be reported to Student Conduct & Conflict Resolution ([email protected]); 303-492-5550). Students found responsible for violating the Honor Code will be assigned resolution outcomes from the Student Conduct & Conflict Resolution as well as be subject to academic sanctions from the faculty member. Additional information regarding the Honor Code academic integrity policy can be found on the Honor Code website.

Sexual Misconduct, Discrimination, Harassment and/or Related Retaliation

CU Boulder is committed to fostering an inclusive and welcoming learning, working, and living environment. University policy prohibits sexual misconduct (harassment, exploitation, and assault), intimate partner violence (dating or domestic violence), stalking, protected-class discrimination and harassment, and related retaliation by or against members of our community on- and off-campus. These behaviors harm individuals and our community. The Office of Institutional Equity and Compliance (OIEC) addresses these policies, and individuals who believe they have been subjected to misconduct can contact OIEC at 303-492-2127 or email [email protected]. Information about university policies, reporting options, and support resources can be found on the OIEC website.

Please know that faculty and graduate instructors have a responsibility to inform OIEC when they are made aware of any issues related to these policies regardless of when or where they occurred to ensure that individuals impacted receive information about their rights, support resources, and resolution options. To learn more about reporting and support options for a variety of concerns, visit Don’t Ignore It.

Religious Holidays

Campus policy regarding religious observances requires that faculty make every effort to deal reasonably and fairly with all students who, because of religious obligations, have conflicts with scheduled exams, assignments or required attendance. In this class, notify the instructor so we can establish a reasonable timeline for making up work.

See the campus policy regarding religious observances for full details.

Clone this wiki locally