*Advanced Academic Programs*
*Zanvyl Krieger School of Arts and Sciences*
*Johns Hopkins University*
*430.618.81 - Advanced Python Scripting for GIS*
Instructor Information
Instructor: Andrew Chapkowski
Email Address: andrew (dot) chapkowski (at) jhu.edu
Office Hours: Online
This course focuses on advanced uses of Python as a scripting tool to automate workflows in GIS and create customized applications. This includes the development of script tools, utilizing advanced ArcPy modules, working with third-party modules, customizing GIS applications, and more advanced Python functionality. Offered once a year. Prerequisites: 430.606 Programming in GIS.
The goal is that each week there will be a geospatial concept along with a fundamental programming concept so students learn both foundational and geospatial programming skills.
- Learn Python and understand how to use it to solve geospatial problems
- Encourage the use of Python through relevant examples and assignments
- Encourage students implementing it in their own research projects using geospatial technologies.
- (Required) Kushal Das. Python for you and me THIS IS FREE
Learning online requires some basic knowledge of computer technology. At a minimum, you need to be able to:
- User Jupyter Notebooks
- Navigate in and use Blackboard; the Blackboard Student Orientation course on your “My Institution” page
- Open, create, and save Jupyter Notebooks
- Critically Think
- Find basic resources on Internet
- Create and organize files & folders on your computer
- Send, receive, and manage email on your computer
Below is a description of the number and type of assignments in this course:
- Computer Assignments: There will be a computer-based assignment every week which will be due every Sunday at 11:59 pm ET. These exercises are designed to provide hands-on experience with programming in GIS
- Projects are student driven projects with guidances in the project pages.
- Discussion Forums: You are required to have at least 1-2 meaningful posting per week on the discussion forums, additional postings and participation are highly advised.
Week | Start Date | Topics |
---|---|---|
Week 1 | 1/21/2020 | Introduction to Python |
Week 2 | 1/27/2020 | Introduction to Python |
Week 3 | 2/3/2020 | OOP Overview & Python Toolboxes |
Week 4 | 2/10/2020 | ArcPy Lesson |
Week 5 | 2/17/2020 | ArcPy Lesson |
Week 6 | 2/24/2020 | ArcPy Lesson |
Week 7 | 3/2/2020 | Arcpy Lesson (Raster data) |
Week 8 | 3/9/2020 | Project 1 Due |
Week 9 | 3/16/2020 | Spring Break No Class |
Week 10 | 3/23/2020 | Introduction to Data Science |
Week 11 | 3/30/2020 | Data Visualization |
Week 12 | 4/6/2020 | Python API for ArcGIS 1 of 2 |
Week 13 | 4/13/2020 | Python API for ArcGIS 2 of 2 |
Week 14 | 4/20/2020 | Select Advanced Topics in GIS |
Week 15 | 4/27/2020 | Final Project Released |
Week 16 | 5/4/2020 | Final Project Due |
Assignment | Date |
---|---|
Lab 1 | 2/9/2020 |
Lab 2 | 2/23/2020 |
Midterm^ | 3/8/2020 |
Lab 3 | 4/4/2020 |
Final^ | 5/10/2020 |
Note
^ Midterm opens two weeks before due date
^ Final opens two weeks before due date
Below is the break down of assignments percentages:
Weight | Type |
---|---|
15% | Forum Posting |
15% | Labs |
35% | Midterm Project |
35% | Final Project |
Any late assignment will be penalized
Weight | Type |
---|---|
98% and 100% | A+ |
94% and Less Than 98% | A |
90% and Less Than 94% | A- |
89% and Less Than 90% | B+ |
84% and Less Than 88% | B |
80% and Less Than 84% | B- |
70% and Less Than 80% | C |
0% and Less Than 70% | F |