Welcome to GIS Programming, my third course in the GIS Certification Program at the University of West Florida! This is my first experience with Python, as well as my first taste of coding since I was about 15 years old. At that age, I bought a "C++ For Dummies" book and wanted to learn computer programming. I managed to code a CD music player for Windows 98, but that was the extent of my pursuit. I've always had an interest in coding, but I never learned anything beyond that.
As I worked through this first module, the excitement was reignited, and I can't wait to learn more.
Module 1 introduces us to Python and its various coding environments, from the basic Python Command Prompt to Integrated Development Environments (IDEs) such as IDLE and PyCharm. IDEs are applications that facilitate the writing, editing, and execution of code. They include features like syntax checking and debugging, which help users test their code in real time and fix any errors.
We were also introduced to Notebooks, specifically ArcGIS Notebooks. ArcGIS Notebooks are contained within ArcGIS Pro and have similar capabilities to an IDE (minus syntax checking and debugging). What Notebooks offer that IDEs do not is the ability to save your scripting file as a .ipynb file type, which allows for the inclusion of media such as images, hyperlinks, and HTML pages—capabilities that the .py file type does not allow. Because ArcGIS Notebooks is part of the ArcGIS Pro software, it also allows real-time interaction with the current project data you're working with, helping improve workflow.
Flow charting is another aspect of programming we were introduced to. I must admit, I'm not always the best at planning and preparing for a project. I often jump right in, and because of that, I find myself running into issues I wasn't prepared for. I can see how creating a flow chart using pseudocode before writing your code is important and helpful.
We were also tasked with reading "The Zen of Python," a mantra authored by Tim Peters that can be accessed by typing "import this" at the command prompt, and sharing our interpretation.
To me, “The Zen of Python” emphasizes that Python was created to be a more simple and intuitive way of programming and urges the user to remember this as they code. It is saying “don’t overcomplicate when unnecessary, but find a balance in complexity.” If a program you are writing is becoming chaotic, maybe there are other, better ways to write the script, and you should strive to be well-read and prepared for what you’re writing. It’s saying write cleanly, beautifully, and in a way that is not only easy for you to read, but also for others. In my opinion, it is a beautifully written set of philosophical guidelines to abide by when coding, and it makes me feel excited.
On to Module 2!