As an urban planning student, I learned some great technical skills and software but I didn’t prioritize learning much about coding at the time. A couple of years ago, though, I was looking for a challenge and started hearing about how learning to code could help me automate boring workflows, analyze data, customize my GIS maps. I figured it would be a fun thing to try, even if I didn’t know exactly what I would do with that knowledge. I am glad I did.
If you’re interested in getting started yourself, here’s what I did:
- I took the first three courses of the “Python for everybody” specialization on Coursera. This was a great introduction to writing code, and I learned a lot of Python basics this way. You can audit the course for free and watch all the videos, or pay $49/month for access to quizzes and assignments, which will deepen your learning.
- I then took a free data science bootcamp prep course online through the Flatiron School. Though it assumed no prior experience with Python, it was worth starting from the beginning because it filled in some gaps in my knowledge. This was a great introduction to Jupyter notebooks, a more interactive coding method, and their applications to data science specifically. I did not actually take the bootcamp itself, opting instead to see what else I could learn on my own.
Though it was tempting to just keep taking courses and learning, I felt at this point that it was time to start a project so I could apply what I was learning. I’ve heard it recommended that you do this as soon as possible.
I thought about what kind of data would be interesting to analyze. I looked around at the City of Seattle’s Open Data portal and found a dataset of pedestrian and bicycle counts at a local park which interested me, because I am a transportation planner. If you Google “open data” + your city’s name, you will probably find something similar.

The courses I had taken helped me know where to start, but I still spent a great deal of time googling how to do things. Stack Overflow is a forum specific to coding questions and was a life-saver. Usually, when you have a question, somebody else has already asked it and other commenters often offer sample code that you can copy and use yourself.
I am still working on the project, and perhaps will always be improving it, but I publish my progress here on Github, a website for people to share their code. I also watched a video or two about how to use this site, as it’s an important way to get and share information with others.
As I look back, learning Python has not quite been what I expected. Here’s a slightly snarky graph that sums it up, with the code below.

As I’ve continued learning, some other resources have been helpful as well:
- The Planetizen course on Coding for Planners
- Towards Data Science has been a good source of instruction and sample code for various problems I’ve faced, though the quality of the articles varies.
- Mustafa Rezazada shared on LinkedIn that the EdX course Using Python for Research, offered through Harvard, was a great resource as well.
Not convinced that Python can add value to your work? My grad school friend Autumn Florek notes that the data analysis capabilities are great for cleaning up spatial data prior to mapping. In her example, she analyzed assessed values compared to market values of real estate parcels. Perhaps I’ll do another series on applications of Python for planners.
What resources have you found useful?
