{"id":20927057,"url":"https://github.com/achapkowski/adv_py_scripting_for_gis_course","last_synced_at":"2025-08-08T08:31:56.595Z","repository":{"id":38895994,"uuid":"229461104","full_name":"achapkowski/Adv_Py_Scripting_for_GIS_Course","owner":"achapkowski","description":"430.618.81 - Advanced Python Scripting for GIS","archived":false,"fork":false,"pushed_at":"2024-10-11T12:46:54.000Z","size":67356,"stargazers_count":9,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-01T12:49:10.644Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/achapkowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-21T17:31:14.000Z","updated_at":"2024-10-11T12:46:58.000Z","dependencies_parsed_at":"2022-08-18T14:02:44.188Z","dependency_job_id":null,"html_url":"https://github.com/achapkowski/Adv_Py_Scripting_for_GIS_Course","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achapkowski%2FAdv_Py_Scripting_for_GIS_Course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achapkowski%2FAdv_Py_Scripting_for_GIS_Course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achapkowski%2FAdv_Py_Scripting_for_GIS_Course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achapkowski%2FAdv_Py_Scripting_for_GIS_Course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/achapkowski","download_url":"https://codeload.github.com/achapkowski/Adv_Py_Scripting_for_GIS_Course/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229103148,"owners_count":18020819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T20:45:18.592Z","updated_at":"2024-12-10T17:38:48.122Z","avatar_url":"https://github.com/achapkowski.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 430.618.81 - Advanced Python Scripting for GIS\n\n## Instructor, Course Information \u0026 Objectives\n```\n    *Advanced Academic Programs*\n    *Zanvyl Krieger School of Arts and Sciences*\n    *Johns Hopkins University*\n    *430.618.81 - Advanced Python Scripting for GIS*\n    \n    Instructor Information\n    Instructor: Andrew Chapkowski\n    Email Address: andrew (dot) chapkowski (at) jhu.edu\n    Office Hours: Online\n\t\n```\n\n----------------------\n## Course Description\n\n\nThis 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.\n\n----------------------\n## Course Goal\n\n\nThe 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.\n\n---------------------\n## Course Objectives\n- Learn Python and understand how to use it to solve geospatial problems\n- Encourage the use of Python through relevant examples and assignments\n- Encourage students implementing it in their own research projects using geospatial technologies.\n\n----------------\n## Textbooks:\n\n- (Required) Kushal Das. [Python for you and me](https://pymbook.readthedocs.io/en/latest/)  **THIS IS FREE**\n\n\n\n----------------------\n## Online Resources:\n\n- [Python documentation](https://docs.python.org/3/index.html)\n- [ArcPy documention](http://desktop.arcgis.com/en/arcmap/latest/analyze/arcpy/what-is-arcpy-.htm)\n\n---------------------\n## Specific Technology Requirements \u0026 Skills for this Course\n\nLearning online requires some basic knowledge of computer technology. At a minimum,\nyou need to be able to:\n- User Jupyter Notebooks\n- Navigate in and use Blackboard; the Blackboard Student Orientation course on\nyour “My Institution” page\n- Open, create, and save Jupyter Notebooks\n- Critically Think\n- Find basic resources on Internet\n- Create and organize files \u0026 folders on your computer\n- Send, receive, and manage email on your computer\n\n---------\n## Assessments and Grading Policy\n\n------------------\n### Assignments\n\nBelow is a description of the number and type of assignments in this course:\n- Computer Assignments: There will be a computer-based assignment every week\nwhich will be due every Sunday at 11:59 pm ET. These exercises are designed to\nprovide hands-on experience with programming in GIS\n- Projects are student driven projects with guidances in the project pages.\n- Discussion Forums: You are required to have at least **1-2** meaningful posting per week on the\ndiscussion forums, additional postings and participation are highly advised.\n\n-------------\n### Tentative Course Schedule\n\n| Week    | Start Date | Topics |\n|---------|------|--------|\n| Week 1  | 1/21/2020 | Introduction to Python | \n| Week 2  | 1/27/2020 | Introduction to Python |\n| Week 3  | 2/3/2020 | OOP Overview \u0026 Python Toolboxes|\n| Week 4  | 2/10/2020  | ArcPy Lesson |\n| Week 5  | 2/17/2020 | ArcPy Lesson  |\n| Week 6  | 2/24/2020 | ArcPy Lesson | \n| Week 7  | 3/2/2020 | Arcpy Lesson (Raster data) |\n| Week 8  | 3/9/2020 | **Project 1 Due**  |\n| Week 9  | 3/16/2020 | **Spring Break No Class** |\n| Week 10  | 3/23/2020 | Introduction to Data Science |\n| Week 11 | 3/30/2020 | Data Visualization |\n| Week 12 | 4/6/2020 | Python API for ArcGIS 1 of 2 |\n| Week 13 | 4/13/2020  | Python API for ArcGIS 2 of 2  |\n| Week 14 | 4/20/2020  | Select Advanced Topics in GIS |\n| Week 15 | 4/27/2020 | **Final Project Released**  |\n| Week 16 | 5/4/2020 | **Final Project Due**  |\n\n### Assignment Due Dates\n\n| Assignment    | Date | \n|---------|------|\n| Lab 1  | 2/9/2020 |\n| Lab 2  | 2/23/2020 |\n| Midterm^  | 3/8/2020 |\n| Lab 3  | 4/4/2020 |\n| Final^  | 5/10/2020 |\n\n\n\n**Note**\n\n    ^ Midterm opens two weeks before due date\n    ^ Final opens two weeks before due date\n\n\n---------\n\nBelow is the break down of assignments percentages:\n\n### Assignment Weights\n| Weight | Type |\n|--------|------|\n| 15% | Forum Posting | \n| 15% | Labs |\n| 35% | Midterm Project |\n| 35% | Final Project |\n\n**Any late assignment will be penalized**\n\n------------------------\n### Grade Break Down\n\n| Weight | Type |\n|--------|------|\n| 98% and 100% |A+|\n|94% and Less Than 98% | A|\n|90% and Less Than 94% | A-|\n|89% and Less Than 90% | B+|\n|84% and Less Than 88% | B|\n|80% and Less Than 84% | B-|\n|70% and Less Than 80% | C|\n|0% and Less Than 70% | F|","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fachapkowski%2Fadv_py_scripting_for_gis_course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fachapkowski%2Fadv_py_scripting_for_gis_course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fachapkowski%2Fadv_py_scripting_for_gis_course/lists"}