Columbia SIPA banner


Syllabus#

Python for Public Policy - Spring 2026

This is the syllabus for the Spring editions of the course. Find information about the Fall editions (SIPA6650IA) in Vergil.

Course Information#

Instructor Information#

Description#

Alternate title: “How to Use a Bit of Code to Do Things That Would Be Really Hard in Spreadsheets.” Students will learn data analysis through the Python programming language — exploring, manipulating, visualizing, and interpreting open data to answer policy questions. The class incorporates use of generative AI for coding problems, helping students understand its strengths and weaknesses. No coding experience required.

Homework#

Homework assignments will consist of two different formats:

  1. Online tutorials: In advance of classes, online tutorials will be assigned as homework. These online tutorials will introduce students to critical Python concepts. The following lecture will then focus on applying those concepts to real public policy data questions.

  2. Coding: Students will complete Python coding exercises that apply new concepts they have learned in lecture. Coding assignments will build off of concepts covered in previous assignments.

These are expected to take 5-10 hours per week.

Learning Objectives#

By the end of the course, students will know:

  • Python fundamentals

    • Common data types

    • Functions

    • Reading technical documentation

    • Troubleshooting

  • How to use pandas and other packages for data exploration, manipulation, visualization, and analysis

  • How to use a (Jupyter) notebook coding environment

  • How to work with open data

  • How these tools and skills can be leveraged in a policy context

Schedule#

*This is a Monday, same time slots.

In general, assignments are due at the time class starts. These will all be reflected in the Assignments in Gradescope.

Communications#

  • Assignments, due dates, and other aspects of the course may be modified mid-course.

    • As much advance notice will be given as possible.

  • Troubleshooting and other communications between class sessions will be through Ed Discussion, so that other students can respond and/or benefit from the answers.

    • Email is also an option, though please only use for questions that aren’t appropriate for others to see.

  • The instructor/Reader will try to respond within 24 hours, 48 hours max, if someone else hasn’t already.

Assignments and Evaluation#

The Course Grade is based on the following:

The overall grade is curved; see the methodology.

Assignment scoring#

If the submission showed effort, written feedback will be provided through Gradescope.

Final Project#

The Final Project score will be the median of peer grades. For the Final Project peer review score, the following apply per review:

  • Minimal feedback: -10 points

  • Not reviewed: -20 points

Extensions#

Requests for extensions will only be considered if made via email before the deadline, up to the late submission cutoff shown above. Late submission deadlines will only be extended if there is accomodation requested through the school.

Participation#

To encourage consistent, deeper thought about the Assignments, relevance to the broader world, etc., students are expected to do Between-Class Participation. This includes:

  • Asking a question of substance

  • Answering a question

  • Posting a useful/interesting resource

  • Sharing an insight

in either:

  • Office hours

  • Ed Discussion

    • When starting a new Conversation, please use a descriptive Title to make them easier to navigate.

  • Email

A student’s overall Between-Class Participation score is calculated based on some form of participation every week. The following don’t count:

  • In-class participation, due to:

    • The difficuly of tracking participation live

    • Some students being more shy

  • The Final Project proposal

  • Homework revisions

  • Communications about grades or other administrivia

Letter Grades#

Letter grades for the entire course will be assigned as follows:

Letter Grade

GPA Points

Description

Criteria

A

4.0 points

Excellent

Exceptional work for a graduate student. Work at this level is unusually thorough, well-reasoned, creative, methodologically sophisticated, and well written. Work is of exceptional, professional quality.

A-

3.7 points

Very good

Very strong work for a graduate student. Work at this level shows signs of creativity, is thorough and well-reasoned, indicates strong understanding of appropriate methodological or analytical approaches, and meets professional standards.

B+

3.3 points

Good

Sound work for a graduate student; well-reasoned and thorough, methodologically sound. This is the graduate student grade that indicates the student has fully accomplished the basic objectives of the course.

B

3.0 points

Adequate

Competent work for a graduate student even though some weaknesses are evident. Demonstrates competency in the key course objectives but shows some indication that understanding of some important issues is less than complete. Methodological or analytical approaches used are adequate but student has not been thorough or has shown other weaknesses or limitations.

B-

2.7 points

Borderline

Weak work for a graduate student; meets the minimal expectations for a graduate student in the course. Understanding of salient issues is somewhat incomplete. Methodological or analytical work performed in the course is minimally adequate. Overall performance, if consistent in graduate courses, would not suffice to sustain graduate status in “good standing.”

C+

2.3 points

Deficient

Inadequate work for a graduate student; does not meet the minimal expectations for a graduate student in the course. Work is inadequately developed or flawed by numerous errors and misunderstanding of important issues. Methodological or analytical work performed is weak and fails to demonstrate knowledge or technical competence expected of graduate students.

C

2.0 points

C-

1.7 points

F

0.0 points

Fail

Work fails to meet even minimal expectations for course credit for a graduate student. Performance has been consistently weak in methodology and understanding, with serious limits in many areas. Weaknesses or limits are pervasive.

Class Policies#

  • All submissions must be made from a Jupyter notebook file, following these instructions.

Attendance#

Attending class is mandatory, but most importantly, important. Learning programming requires commitment from the part of the student and the skills are built out of practice. If you miss attending class in person, you miss an important learning moment and the class misses your contribution.

Missing class counts as an absence, regardless of the reason or notifying the instructor(s) beforehand. Missing more than 20 minutes of a class session will be treated as an absence. The first absence is treated as a “freebie”. Your final Attendance score will be calculated as:

\[\text{maximum_score} = \text{total_classes} - \text{freebies} = 7 - 1 = 6\]
\[\text{your_score} = \min(\text{maximum_score}, \text{number_of_classes_you_attended})\]

If you do miss class, we trust that it’s for a good reason. If you’re sick, please use that freebie and stay home and rest.

Requests for viewing lectures remotely will be considered on a case-by-case basis. These will still count as an absence/freebie.

You are responsible for getting caught up on what was covered in class. You may want to ask a classmate for notes.

Devices#

To encourage focus and participation, students are asked to keep laptops closed and phones away in lecture by default. (Accommodations for students with disabilities are an exception.) You’ll be asked to open the laptops for in-class exercises.

Academic Integrity#

For coursework in this class:

  • If you are copying and pasting from a source (see below), it must be cited. This doesn’t need to be in a formal style like APA - a comment (and link, where possible) is fine.

  • If you did most of the work yourself, it’s ok. If most of the work was copied from elsewhere, we are considering that plagiarism.

    • You will get a zero on that gradebook item, with no opportunity to make up points.

    • It will be reported to the school.

Sources#

Anything outside of the provided course materials is considered a “source”. This includes:

  • Other students

  • Online resources

  • Books

  • Generative AI (ChatGPT, Claude, Copilot, Gemini, etc.)

Other notes#

  • Students are welcome to work with one another, as long as:

    • You indicate who you worked with

    • The submissions are different

  • Students are more than welcome to share approaches and code snippets in the Discussions, so long as they aren’t giving the full solution away.

  • Students may post their open-ended assignments publicly (on GitHub, LinkedIn, etc). Other assignments (with “correct answers”) cannot be posted publicly, to avoid cheating in future semesters. You are more than welcome to share any of your notebooks with specific people, such as future employers.

  • Tips for working with generative AI

SIPA Academic Integrity Statement#

The School of International & Public Affairs does not tolerate cheating or plagiarism in any form. Students who violate the Code of Academic & Professional Conduct will be subject to the Dean’s Disciplinary Procedures. Familiarize yourself with proper citation methods using the resources available online at https://www.sipa.columbia.edu/sipa-education/bulletin/academic-policies. Report violations to the Associate Dean for Student Affairs.

SIPA Disability Statement#

SIPA is committed to providing reasonable accommodations for students registered with Columbia University’s Disability Services (DS). Students with DS-certified accommodation letters should discuss their accommodations with their instructor. Contact SIPA’s DS liaison for additional questions: disability@sipa.columbia.edu or 212-854-8690.