Open GIScience

Joseph Holler's Open GIScience Curriculum at Middlebury College

Syllabus

Feb-10 : In this lesson, we will explore the course goals and design.

Welcome to Open Geographic Information Science!

Middlebury College Geography Course GEOG0361

Contact and Availability

For assistance outside of office hours, your resources include:

  1. The GitHub issues for any assignment repository
  2. Classmates
  3. Documentation, Issues, Forums, or Support/FAQs for the data or software we are using
  4. Stack Exchange or similar
  5. Only private/confidential concerns should be sent to email

Course Description

In this course we will study geographic information science (GIS) with open-source software and critical GIS scholarship. In labs, we will practice techniques to include: data acquisition and preparation for analysis, spatial SQL database queries, automating analysis, spatial interpolation, testing sensitivity to error and uncertainty, and data visualization. We will read and apply critical research of GIS as a subject and with GIS as a methodology. Spatial data sources for labs and independent research projects may include remote sensing, micro-data, smart cities and open government data, and volunteered geographic information (e.g. OpenStreetMap and social media).

Prerequisite: Human Geography with GIS or Mapping Global Environmental Change or Data Sciences Across the Disciplines (Geography) or approval based on other experience in geographic analysis. Programming experience is not assumed or required! You just need to be willing to learn how to translate the spatial analysis that you know from desktop GIS (QGIS, ArcGIS, etc.) into code.

The major emphasis this spring will be learning how to manage a full GIScience research workflow in an open science framework. We will achieve this through:

Learning Goals

Expectations

Student Work & Evaluation

Open science requires researchers, universities, and publishers to change the way they value intellectual work and intellectual property, and the same goes for instructors and students. Traditional means of evaluating and grading student work that are based on individualism, competition, and secrecy are counterproductive to an open science learning environment.

Throughout this course you will develop a set of personal and group pages and repositories on GitHub, containing all of your work for the course. You will receive qualitative feedback on your GitHub portfolio work from peers and from your professor throughout the semester, and you will be given opportunities to self-evaluate as-well. My goal and expectation for your work is that through revision based on feedback, most students should develop a portfolio suitable to show potential employers or graduate schools, earning at least a B+ or A-.

Through mid-semester self- and peer-evaluations, you will set goals and accrue qualitative feedback to serve as a roadmap to your personal level of achievement. At the end of the semester, you will submit a final self-evaluation and proposed grade for the course based on your personal goals and the general expectations outlined below. The instructor reserves the right to adjust the final grade determination. Some people call this an ungrading approach to assessment.

We will interpret the quality of work as follows:

Gr Description
A Work is excellent and complete. Your work is ready to show to employers or graduate schools. In addition, you have contributed positively to the collective learning and knowledge base of the class.*
A- Work is excellent and complete. Your work is ready to show to employers or graduate schools with very minor revisions.
B+ High quality work. Your work is ready to show to parents and friends, and almost ready to show employers or graduate schools—pending minor revisions.
B Good work. Your work needs a fair amount of revision to remedy errors and/or full effort to some more cursory components. You could use one more round of feedback and revision before sharing with employers.
B- Decent work. There are a few significant errors and/or gaps that need addressing before you can share the work with a potential employer.
C’s You have demonstrated learning and intellectual growth, but important components of your GitHub portfolio are not working or in need of complete revisions. C+ needs at least one additional round of feedback prior to sharing work with a potential employer, whereas C or C- may need more.
D Work is incomplete and/or cursory
F Not attempted

* The best way to ensure a public record of your contributions is to post and reply to GitHub Issues or Discussions.

Approach to learning

Materials & resources

Expectations for Reproduction/Reanalysis Studies

Expectations for blog posts

In weeks in which no spatial analysis is due (roughly biweekly), please write a short blog post reflecting on new class content (readings, discussions, activities, workshops) connecting them to their significance for you, in terms of any internships, independent research, other courses, personal experience, or career aspirations you may have. You will have reminders and suggested prompts with the associated lessons.

A draft of the posts should be committed to GitHub prior to the relevant class meeting. As is the case for all of your content on GitHub, revisions are permitted until the end of the course.

Posts should include references to relevant readings by listing them at the end (similar to how I have done in this course site) and linking to their DOI, if one is available.

Spring 2025 Checklist

Honor Code

The following honor code principles have been written and debated by students enrolled in this course.

General Principles

  1. Sharing & Collaboration
    1. Be willing and open to collaborate and share resources with others.
    2. Work to create an atmosphere of “we’re all in this together” — willingness to both offer and ask for support should be lauded
    3. Overcoming stigma about asking for assistance to model real-world interactions in this open-source field by having a platform available to resolve issues when we get “stuck”
    4. Implicit consent, as a class there should be an underlying trust that we should be able to use others code/tools without directly asking
    5. Many suggestions for a collaborative communication channel.
      1. GitHub has an Issues feature to share problems and solutions.
      2. Open to suggestions on using other channels, but whatever you use should be inclusive.
  2. Citation and documentation of work
    1. In collaboration, document what you contribute/what others contributed. Giving credit helps lift everyone up.
    2. Thorough documentation of where help was given/received and where it came from in workflow (including both peers and other external sources)
    3. “Cite your sources”, thoroughly! Especially related to collaboration with peers
    4. A key takeaway from this class should be learning how to attribute collaboration or contributions to others who help you along the way in the context of Open Source GIS.
    5. Citing other people’s code (specifying where in their repository you’re sourcing for)
  3. Avoid gatekeeping.
    1. Conversely, welcome diverse contributions.

Regarding Blog Posts

  1. Later posters may react and respond to earlier students’ contributions
    1. This is not a required expectation, but if you do look at others’ contributions, you should link to them if they’re influencing your thought process.
  2. Informal citation is encouraged through inclusion of hyperlinks.
  3. Aim to finish writing when you’re proud of the work you’ve produced. This length may look different for different people and different topics, and that’s okay.

Regarding Reproduction/Reanalysis/Replication Projects

  1. Transparency and reproducibility
    1. For assessment: readability/clarity of code and documentation
    2. Documentation for reproducibility/replicability
  2. Citation / Acknowledgement
    1. Acknowledging and citing others’ work if used or referenced either by linking directly or otherwise
  3. Community
    1. Actively share helpful resources that you used with your classmates
    2. Building a collaborative/shared data clearinghouse
    3. Sharing is caring
    4. Be willing to share resources (code, explanations of concepts, papers, etc.) with the rest of the class
  4. Balance honest individual effort with collaboration
    1. Time divisions: time to try on your own (take a reasonable crack at it, but once you hit a wall…) → time to discuss with others/pose questions → time to finalize/ look at others’ code
    2. Friendly competition
    3. No fear of only one to two people constantly getting results
      1. Even if others discover solutions first, there is always more to do in terms of organization, documentation, testing, replicating, etc.
  5. Options for group workflows as well as individual
    1. Yes, there definitely will be some collaboration by design in the analyses.

This honor code statement is the product of collaborative discussion by the class in breakout groups on March 1, 2021, with some organization and additions by Professor Holler.

Regarding Artificial Intelligence

Let’s debate!

Main Page