- This event has passed.
Modular Design and Automated Testing with Python (Online)
November 7 @ 9:30 am - 11:30 am
This 4-hour course will be split over 2 days (11/7/23 & 11/9/23) and offered via Zoom. Attendance is required as the course will not be recorded.
Research is relying on increasingly complex code. However, most academics have not received formal training in software development. This course will introduce participants to some of the best practices of professional software development. Participants will learn to structure their Python code into reusable functions and store those functions as separate scripts and/or packages. Participants will learn to write automated tests for their functions, to help confirm that results are as expected and to ensure that future changes to code do not cause unexpected changes to results.
We will also discuss how to create reproducible “environments” that record package versions in use to help avoid package version incompatibilities and ensure that results can be replicated even months or years after the original analysis.
Modular design is best paired with a version control system. We will discuss how modular design practices integrate with Git and Github, and how to set up “continuous integration” so that automated tests are run each time code is changed.
The course will primarily consist of a hands-on exercise to restructure a single long analysis file into functions and automated tests.
The “Version Control with Git and Github” course is a prerequisite for this course.
Instructor: Matthew Wigginton Bhagat-Conway
Matthew Wigginton Bhagat-Conway is an Assistant Professor in the Department of City and Regional Planning and a consultant in the Odum Institute for Research in Social Science. His research interests are in travel behavior, urban transportation, and statistical methods for transportation data analysis. He is available to assist researchers with statistics and data analysis.
Dr. Bhagat-Conway has a PhD and MA in Geography from Arizona State University, and a BA in Geography from the University of California, Santa Barbara. Prior to graduate school, he was a software developer and project manager for Conveyal, a public transport planning consulting firm, and a fellow in the Data Science for Social Good fellowship at the University of Chicago.
- UNC Chapel Hill Students: $0, with a $25 deposit to hold your spot (deposit is refundable upon your attendance for at least 66% of the course)
- UNC Chapel Hill Faculty/Staff/Postdoc/Resident/Visiting Scholars: $50
- Non-UNC Chapel Hill University Student/Employee (must have active university email): $75
- Government/Non-Profit/Corporate: $100
Additional course information:
- Registration will close at 12:01am 11/4/2023 No late registrations will be accepted.
- Cancellation/ Refund Policy: A full refund will be given to those who cancel their registration no later than 10 days prior to the course. If you cancel within the 10 days prior to the class, no refund will be given. Please allow 30 days to receive your refund.
- Zoom link for this course will be sent prior to the course. Registration must be made at least 3 days prior to the course date to receive the Zoom link.
For questions regarding this class, please contact Jill Stevens at firstname.lastname@example.org