Taming Python – New Online Tool Helps Students Write Better Code

Paul Schrum uses the Py4All tool at the North Carolina State University Center for Geospatial Analytics

For students learning the popular programming language Python, mastering the art and science of writing code just got a whole lot simpler.

A team led by Center Faculty Fellow Dr. Laura Tateosian has just released Py4All, an online tool that lets Python learners check their code for errors and learn from their mistakes. The tool complements Dr. Tateosian’s recent textbook, Python for ArcGIS. As readers complete any of the 175 classroom-tested exercises in the book, they can now upload their Python code to Py4All for instantaneous, automated feedback – using the system to repeatedly check whether they have done the exercise right and written code that works.

“This is not meant to replace grading,” Dr. Tateosian explains. “Instead of a grader, think of Py4All as a helping hand when you’re first learning to script.” Py4All helps students master essential skills by comparing the uploaded script to a solution script and providing suggestions if it detects errors.

Dr. Tateosian’s 2015 book, Python for ArcGIS, thoroughly describes how to automate workflows in Geographical Information Systems (GIS) by creating scripts using Python­­­. In the field of geospatial analytics, this is a crucial task, particularly when working with large amounts of data. The book was written as a primary textbook for advanced students familiar with ArcGIS tools and also serves as a helpful resource for working professionals. Anyone using the Python for ArcGIS textbook can use Py4All. “The primary purpose of this is to help students improve scripts prior to submitting them for a grade,” Dr. Tateosian points out. “Those not enrolled in a course can still use Py4All to improve Python for ArcGIS skills.”

Dr. Tateosian has been teaching Python programming for GIS for over eight years. This semester, she is using a beta version of Py4All in her GIS 540 class, Geospatial Programming Fundamentals, a core course for students in the professional Master of Geospatial Information Science and Technology (MGIST) degree program. “It’s pretty exciting to see it in action,” she reports.

The Py4All tool emerged from a year-long collaboration between the Center for Geospatial Analytics and DELTA team members; its development was supported by a DELTA Exploratory Grant awarded to Dr. Tateosian. Center students Molly Foley and Paul Schrum along with DELTA team members Stephen Bader, Benjamin Huckaby, Cathi Phillips, and Jeff Webster contributed substantial effort to designing and creating the tool.


Interested in learning more?

Check out the instructional video for Py4All