Through this course, students will learn how to publish, consume, and analyze web services using Python, Javascript, and HTML. They will be introduced to more powerful, more advanced Python libraries such as Pandas, Numpy, and ArcGIS in addition to learning advanced geographic data visualization techniques that leverage Python, Javascript, and web APIs. They will also learn how to use the Javascript to create their first stand-alone web applications. Topics will include using GitHub to host web applications, using Javascript and HTML to create web applications, and using Python for spatial data science. This class builds on what students learned in GIS 4090\5090 and helps them develop knowledge and skills that they will use throughout their careers.
- Students will develop programming skills that are beyond the fundamentals of Introduction to Programming for GIS and remote sensing learned through GIS 4090\5090.
- Students will learn how to work with geographic web services, including, but not limited to automating publishing web services, consuming web services, and performing analysis directly on geographic web services.
- Students will learn modern data science methods and tools that can be used to augment their research in geography and remote sensing.
- Students will begin implementing it in their own research projects such as theses and capstones.
Course Materials will be shared using Blackboard. Slides, labs, and homework are in the folders that correspond to the specific units covered in class.
- Learning objectives will be assessed through homework assignments and a series of projects, each of which will focus on a different aspect of programming and its applications to GIS and remote sensing.
- Understanding of web development, Javascript, and HTML will be assessed through a project where students will develop a web application that consumes or uses geographic web services (Project 1).
- Students understanding of working with geographic web services will be assessed by completing a project where they automate the creation and analysis of web services (Project 2)
- Understanding of advanced analytical techniques and data science techniques will be assessed by a project where student will leverage techniques to perform spatial statistics or analysis (Project 3)
- Understanding of how geographic web services, advanced analytical techniques, and web development will be assessed through a student defined Final Project that will be presented to the class.
In order to ensure that students are on track to achieve the course objectives, students will have weekly coding assignments. The coding assignments will be graded and returned before the next online lecture, where the solutions will be reviewed, and questions will be addressed. Feedback on respective assignments will also be given to each student through Blackboard. Weekly assignment will become the foundation for student projects which will serve as the benchmarks for whether students understand how to use programming to solve GIS and remote sensing problems. There will be 3 projects over the course of the semester. Project one will assess whether students understand how to build and host web applications that contain maps and spatial data. Project two will instruct students on writing advanced imagery analysis algorithms and data science techniques. Project three will assess whether students understand the entire lifecycle of spatial data analysis, from data discovery and analysis to data sharing via a web application. For projects one and three, discussion with classmates and me is encouraged as each student has the opportunity to shape his or her own project and goals. The instructor will make himself available for virtual office hours weekly on Mondays from 4 to 5 PM using Zoom. If you have questions or concerns, don’t hesitate to meet with me during office hours, send me an email, or schedule an ad-hoc meeting with me outside of our regular meetings or office hours. For week 1 of class, please post your name, discipline of study, and academic interests in the Introductions discussion channel in Blackboard. If you ever need to talk, do not hesitate to reach out to me.
Week | Topics | Date |
---|---|---|
Unit 1 | Web Mapping with Leaflet and Github | |
Unit 2 | Creating GIS Applications with the ArcGIS Javascript API | |
Unit 3 | GIS Web Application and 3D Scenes | |
Unit 4 | Calcite, Popups, and Widgets | |
Unit 5 | Back to Python | |
Unit 6 | ArcGIS API for Python | |
Unit 7 | Numpy | |
Unit 8 | Pandas | |
Unit 9 | Spatial Data Science | |
Unit 10 | Agile, Scrum, and Project Management | |
Unit 11 | Spatial DataFrames and Data Viz | |
Unit 12 | Rasters and Imagery | |
Unit 13 | Geoenrichment, Demographics, and Machine Learning |
Weight | Type |
---|---|
25% | Weekly Assignments |
25% | Project 1 - GIS Web Development |
25% | Project 2 - Numpy and Pandas |
25% | Project 3 - Spatial Data Science |