Python for Public Policy#
Alternate course title: How to Use a Bit of Code to Do Things That Would Be Really Hard in Spreadsheets
This site contains content for Columbia University’s Python for Public Policy class.
The materials are also available for public consumption. If you are not part of the class, see information about running the notebooks.
Produced and taught by Aidan Feldman. Largely based on a previous iteration by Hannah Kates.
Important links#
This site
Lecture slides
Homework templates
CourseWorks site, which students will use for:
Submitting assignments
Viewing grades
Ed, which is used for:
Accouncements
Discussions
Google Colab, where work will be completed
Why this class?#
There are countless resources out there to learn Python and pandas — books, videos, etc. — and many are free. Relative to other Python/pandas courses, this class:
Doesn’t expect any prior technical experience
Puts the data/code in a public policy context
There’s a specific emphasis on learning coding for data analysis rather than software engineering
Teaches you how to work with open data
Optimizes for minimal setup
All the lectures and assignment templates are available for download through this site, so you could go through them on your own. The benefits of enrolling are:
Additional content
You get access to lectures, which includes commentary that isn’t available here
You get access to assignment solutions
Support
There is an instructor to answer questions, both during and between lectures
You get feedback on your assignments
You have peers you can work with
You invest money and are expected to show up to class and turn in assignments on time, which makes it far more likely you will complete it
Comparison to Computing in Context#
Python for Public Policy can be thought of as a subset of the SIPA sections of Computing in Context.
Python for Public Policy |
Computing in Context |
|
---|---|---|
Offered |
Every Spring |
Every Fall |
Duration |
Second half of term |
Full term |
Credits |
1.5 |
3 |
Meetings per week |
One 110-minute lecture |
Two 75-minute lectures plus one 90-minute recitation |
Topics covered |
See syllabus |
See syllabus |
Student body |
Mainly SIPA |
Mix of SIPA and other schools |
Best suited for |
Students who just want a taste of coding |
Students who are interested in coding being part of their lives/careers |
Other differences |
We speed through Python fundamentals, spending most of the time on data analysis in Python. |
Spends more time on Python fundamentals, such as control flow and functions. Allows students to take more advanced DAQA courses, as it’s a prerequisite. |
Testimonials#
This class has been extremely helpful and my only regret is that I didn’t take it sooner … In fact, I’ve already put python to use for my final thesis. … In writing my thesis, I used python for descriptive statistics that would have otherwise taken much longer in excel … Writing code for these analysis probably saved me about a day or two of work.
Thank you for an incredible semester. I truly took away a lot that I feel will help me dive deeper into a career in public service, while having unique skills that will help me deliver a much greater impact into the communities I’m serving.
The in-class assignments and homework provided many opportunities to practice the Python concepts we learned in class. … Professor Feldman was able to present difficult concepts in a way that was easy to digest as someone who knew very little about Python prior to this course. This course achieved its goal of removing the uneasiness I felt towards Python and coding in general, and for a 7-week course, that is no easy feat!
Everything controllable by the professor was fantastic. The objectives were straightforward and value-added. The professor helped make sure that we were coming away from assignments with real tangible understanding of the code rather than focusing on completion. I was challenged, but the professor was always around to answer questions.
From Tess Edwards:
Though I’ve only been in Python class for less than a month, I’ve already learned so much that has empowered me beyond the classroom. Since I was an intern in 2017, the office of Congresswoman Kathleen Rice (formerly D4-NY) has contacted me annually to judge submissions for the “Congressional App Challenge”. This challenge invites high school students to create apps and showcase their coding skills. Historically, I’ve graded these as an outsider with very little understanding for coding languages like Python (they knew that by the way!). However, this year is different. I am grading the submissions from a brand new perspective that is empowering and definitely making me a better judge. I’m so excited to be learning a skill that has already shown to be fruitful in such an unexpected way!