ENV859 - Geospatial Data Analytics

ENV 859 - Geospatial Data Analytics   |   Fall 2023   |   Instructor: John Fay  
Course Format Grading Calendar Deliverables Duke Community
Standard
AI Policy Diversity
Statement
Native Lands
Acknowledgement
               

Instructor

John Fay (he/him)
3112 Grainger Hall
Office Hours: Tu/Th 2-3pm & by appt

TAs

Sarah Deland (she/her) Office Hours: 2-3 M/W, Bookhout 201

Meixin Wang (she/her) Office Hours: 1:30-2:30pm M/W, TBA


Course Description

ENV 859 is a 3-credit laboratory based course intended for those using geospatial data in their research. The course covers a range of geospatial techniques and technologies that go beyond what is taught in the first year GIS courses (ENV 559 and ENV 761/765) and fulfills the requirement of an elective GIS course for the Certificate in Geospatial Analysis Certificate at the Nicholas School. The course is subject to revision each year as the technologies change to meet student needs. Topics for the current semester will likely include:

  • Data Engineering in ArcGIS Pro
  • Introduction to Python
  • Writing Python scripts
  • Spatial analysis in Python
  • Introduction to Spatial Data Science
  • Cloud-based GIS

The goals in examining these topics area not so much on becoming an expert in each, as that would require far more time than we have. Instead, the hope is to provide enough guidance and understanding on each so that students are able to pursue these topics in greater depth with little difficulty. In other words, this course is intended to teach students how to teach themselves various advanced techniques relating to spatial analysis.


Course Format

This course is intended to be as hands on as possible. We’ll spend 2-3 weeks on a specific topic with material presented as series of tutorials (usually 2-4) followed by a problem set. These tutorials are provided as a set of readings and recordings for you to review outside of class time. We will meet twice weekly to collectively discuss any questions, ideas, or issues you had with these tutorials. Attending these synchronous sections is encouraged, but not mandatory; they will be recorded if you are unable to attend them.

Students are welcome to work with others on completing the tutorials. Problem sets, however, should be done independently, though students are encouraged to seek the help of the instructor or teaching assistant, if needed. Problem sets are designed to be completed within one week of being assigned.

In addition to the tutorials and problem sets, students are also required to submit an independent project on his or her choosing that incorporates topics addressed in class. Some students will have a better idea of what they want to pursue than others so we will spend some time in the first several weeks outlaying and refining your project’s objectives, workflow, and deliverables throughout the course. More information on the course project is provided in a separate document.

The “Hybrid” Format

This course takes a hybrid format meaning much of the material is delivered asynchronously, e.g. via recorded videos and guided tutorials. We’ll use our synchronous (i.e. live) sessions to review the highlights of the asynchronous materials, answer any questions, and generally clarify any remaining points of confusion. If all questions/concerns have been addressed, the remaining time will just be an open work session and you are welcome to leave.

You are strongly encouraged, but not required to attend the synchronous sessions. They too will be recorded for later viewing, but they are our opportunity for interactive learning. The sessions will be your chance to address any topics that weren’t clear in the videos and discuss topics in more detail. You will get the most out of these sessions if you come prepared, meaning you’ve worked through the video exercises and have thought about the discussion points provided within them.

Exercising patience

Geospatial Data Analytics, by its very nature of embracing new technologies the moment they emerge, can be chaotic and fraught with technical issues at times. It’s an understatement that this semester can be exceptionally challenging on that front, with technical glitches and workarounds. I will make every effort to keep the class running as smooth as possible, to keep the focus on learning GIS, but it’s likely we’ll have to make adjustments on the fly. In some regards, I look forward to this, as these curveballs often provide great learning opportunities. However, I’ll need your patience at times, and I will myself be sympathetic to any and all unique circumstances that you happen to encounter, collectively or individually. Please never hesitate to approach me with thoughts or ideas on how the course is run or particular concerns you have.


Grading

Assignment Pct.
Problem Sets (x6)
Each major unit of the course will be accompanied by an assignment which should be completed individually. Each assignment will be graded on successful completion (on time, correct format), application of concepts and code, and appropriate discussion of topics. The format of each problem set will vary and will be described separately when assigned. Each problem set will count as 14% of your grade; with 6 problem sets assigned, this totals to 84%.
84%
Course Project
In addition to the problem sets, you will execute a course project. The course project could take several forms. If you have an interesting dataset, you may choose to work with it using existing methods and software tools to run your geospatial data analysis. Students are encouraged to work in teams of two or three for a project. Students should work with students in the same lab section, but exceptions can be made. More detail and a grading rubric is supplied in course projects section.
16%

Calendar

[See the full calendar for a more detailed view - Dates are subject to change]

Dates Topic
Aug 28 Course Introduction & Overview
Aug 30 - Sep 11 1. Data Engineering
Sep 13 - Sep 25 2. Python 101: Intro to Python
Sep 27 - Oct 11 3. Scripting with Python
Oct 18 - Nov 1 4. GIS & Python
Nov 6 - Nov 15 5. Spatial Data Science
Nov 20 - Nov 27 6. Cloud-based GIS
Nov 30 Course wrap-up

Deliverables

Dates beyond two weeks out may change…

PROBLEM SETS DUE 85%      |      COURSE PROJECT DUE 15%
PS 1 - Problem Set 1 Sep-18 15% | Course Survey Aug-30 0%
PS 2 - Problem Set 2 Oct-02 15% | Course Project Dec-14 15%
PS 3 - Problem Set 3 Oct-20 15% |    
PS 4 - Problem Set 4 Nov-03 15% |    
PS 5 - Problem Set 5 Nov-28 15%        
PS 6 - Problem Set 6 Dec-04 10%        

DEADLINES

All deadlines are at 11:59pm on the date specified unless told otherwise. Contact me if you are likely to miss a deadline for any of the problem sets. Failure to contact me and arrange for an extension will incur a 5% penalty if submitted late without an excused reason.


The Duke Community Standard

Duke University is a community dedicated to scholarship, leadership, and service and to the principles of honesty, fairness, respect, and accountability. Citizens of this community commit to reflect upon and uphold these principles in all academic and nonacademic endeavors, and to protect and promote a culture of integrity.

To uphold the Duke Community Standard:

  • I will not lie, cheat, or steal in my academic endeavors;
  • I will conduct myself responsibly in all my endeavors; and
  • I will act if the Standard is compromised.

Policy on use of Artificial Intelligence

“In the dynamic realm of spatial analysis, the integration of Artificial Intelligence (AI) has revolutionized the way we perceive and interpret geographical data. Encompassing this innovative approach within a Python-driven spatial analysis class opens doors to unparalleled learning experiences. As students delve into the intricacies of geospatial data, they are empowered to harness the capabilities of AI to uncover hidden patterns, predict trends, and generate insightful visualizations. By leveraging Python’s versatile libraries and frameworks, students can seamlessly fuse their programming skills with AI techniques, enabling them to develop predictive models, perform clustering and classification, and even automate complex spatial tasks. This synergy between Python and AI not only equips students with a profound understanding of spatial analysis principles but also nurtures a skillset crucial for addressing real-world challenges in fields ranging from urban planning and environmental monitoring to disaster management and beyond. Through this class, students not only grasp the theoretical foundations but also gain the practical expertise needed to navigate the evolving landscape of spatial analysis in the modern AI-driven era.” – Generated by ChatGPT with the prompt “Write a paragraph on the use of Artificial Intelligence for a spatial analysis class that teaches Python and allows the use of AI”

In my own words: you are welcome to use AI to assist you in your lab exercises and problem sets in this class. Do be sure to (1) verify the products generated by AI (they are not always correct!), and (2) be transparent where you used AI. A citation along with the prompt(s) used as I have done above should be adequate in most cases.


Diversity Statement

We all bring unique backgrounds, experiences, and perspectives to the classes we take. Collectively, these enrich the learning pathways, but only if we show each other the proper respect and allow each other to share new and different viewpoints. As your instructor, I will do my best to foster inclusive and equitable conversations on all aspects of the material covered and to overcome any implicit biases I may have. I encourage students to point out shortcomings that I or others may have on this front so we can work through them.


Native Lands Acknowledgment

It’s important to contemplate that Duke University occupies land that once supported other communities, and that these communities were likely displaced by unfriendly means. Have a look at his web mapping app (or the map below) to discover what native communities once existed throughout the US. (And if you’re curious, we can explore how that app was built in class!) Shout out to https://native-land.ca for the source of these data.