Columbia SIPA banner


Syllabus#

Computing in Context, Fall 2024

Course Description#

This introductory course will explore computing concepts and coding in the context of solving policy problems. Such problems might include troubleshooting sources of environmental pollution, evaluating the effectiveness of public housing policy or determining the impact that local financial markets have on international healthcare or education. Using policy scenarios as examples, students will be exposed to topics including: requirements gathering, data collection, data cleansing, writing pseudocode and code, using Python packages to help solve policy problems, presenting technical solutions and the constraints of computing. The hands-on nature of the class will help students to develop a strong, transferable skill-set that could be applied to both current coursework and future employment. Between the computer science and policy context lectures, students will see how computer science will become a fundamental component of their policy analysis education.

Course Information#

  • Course Number: INAFU6006

  • Credits: 3

  • Prerequisites: none

Instructors#

Teaching Assistants (TAs)#

Section 1:

Section 2:

Meeting Information#

Students should bring a laptop to all labs. See Contexts and Structure for more details on how the course is organized. Office hour information.

Section 1#

Component

Meeting days

Meeting times

Part of term

Start

End

Led by

Contexts

Location

Lecture

Tuesdays and Thursdays

1:10-2:25pm

First half

Sep 3

Oct 17

Adam Cannon

Combined

IAB room 417

Second half

Oct 22

Dec 5

Aidan Feldman

SIPA only

IAB room 410

Lab

Fridays

1-2:30pm

Full

Sep 6

Dec 6

TAs

SIPA only

IAB room 411

Section 2#

Component

Meeting days

Meeting times

Part of term

Start

End

Led by

Contexts

Location

Lecture

Tuesdays and Thursdays

2:40-3:55pm

First half

Sep 3

Oct 17

Adam Cannon

Combined

IAB room 417

Second half

Oct 22

Dec 5

Aidan Feldman

SIPA only

IAB room 410

Lab

Fridays

2:40-4:10pm

Full

Sep 6

Dec 6

TAs

SIPA only

IAB room 411

Course Overview#

Contexts and Structure#

Computing in Context has multiple sections, each of which correspond to a different “context”. Most are listed under the course number COMS1002W, SIPA’s are INAFU6006.

The lectures in the first half of the semester have students from multiple contexts, and are taught by Adam Cannon. The lectures in the second half of the semester are context-specific; SIPA’s are taught by Aidan Feldman. The labs (recitations) are context-specific are context-specific the entire semester.

For example, let’s say a student is in SIPA (INAFU6006) section 1. The first half of the semester, they will attend combined lectures with students from Biology, Linguistics, etc., while doing labs with just their SIPA section. The second half of the semester, they will have both lectures and labs with their SIPA section only.

See the Meeting Information for more details.

Discrepancies#

If there is any conflicting information between the syllabi, course sites, etc:

  • For the first half of the course, the combined syllabus / Professor Cannon / the Lead TAs will take precendence.

  • For the second half of the course, this syllabus / this site / Professor Feldman will take precendence.

If you aren’t sure, please ask.

Grading#

  • 30% Homework: 5% x (3 Assignments + 3 Projects)

  • 40% In-Class Tests: 20% x 2

  • 20% Lab Exercises: There are 12 labs. Each is worth 0-2%, up to 20%.

  • 10% Lab Attendance: There are 12 labs. Each one you attend you earn 1%, up to 10%. See lab attendance for more details.

See the late policy in the combined syllabus. Grace days may not be used for labs. That said, you get two “freebies” for both Lab Exercises and Attendace.

The final grades for each section will be curved.

Readings#

No textbook purchase is required. We will be using free online sources, primarily How to Think like a Computer Scientist: Interactive Edition in the first half.

Schedule#

For weeks 1-7, see the combined syllabus.

Reading should be completed before the lab session that week (Friday). For example: Week 8 reading should be completed before Lab 8.

See also: Academic Calendar

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 Discussions, 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/TAs will try to respond within 24 hours, 48 hours max, if someone else hasn’t already.

Course Policies#

Wait List#

If there ends up being a wait list:

Joining Late#

Go through the following as soon as possible:

  1. This syllabus

  2. Once registered:

    1. The Courseworks homepage — let us know if you have any trouble accessing

    2. The combined syllabus

    3. Lecture materials (ignore the .ipynb files) and Assignments to get caught up

We don’t give extensions on the Assignments - see the late policy in the combined syllabus.

If you get confused/stuck on any of the material, check out the discussion board and office hours.

Auditing#

See the school policies. Students must be officially registered. If there’s a wait list, priority for spots in the class will be given to students taking it for credit. Once registered: To receive R-credit, every assignment should at least be attempted and submitted. At the end of the course, please remind the instructor that you were auditing.

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 an experience in class, you miss an important learning moment and the class misses your contribution.

Attendance is only taken for the lab sessions; see below and grading for details. If you are absent, we trust that it’s for a good reason: scheduling conflicts, religious observance, etc. We don’t excuse absences beyond that, except in exceptional circumstances. If you’re sick, please stay home and rest.

You are responsible for getting caught up on what was covered, without asking the instructors/TAs to re-teach the material to you. You may want to ask a classmate for notes.

Labs#

For the second half of the course, at least:

Missing 15+ minutes of lab counts as an absence, regardless of the reason or notifying the instructor(s) beforehand. If you complete the lab work before the end of the session, you may leave early.

See grading for more details.

Academic Integrity#

A student may work with other students. However, assignment solutions should not be identical to / copied-and-pasted from one another, and each student should submit theirs separately. In addition, students need to indicate who they worked with with each submission.

Similarly, it is common practice to use code snippets found on the internet; these sources must be cited.

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 the Projects publicly (on GitHub, LinkedIn, etc.), since they’re open-ended. Other assignments (with “correct answers”) cannot be posted publicly, to avoid cheating in future semesters. You are, however, more than welcome to share any of your work with specific people, such as future employers.

Generative AI#

For this course, generative AI tools like ChatGPT, Copilot, Gemini, etc. are treated the same as other sources. For any code that’s copied, reference the use of the tool and link to the discussion (where supported).

These tools can be incredibly useful, but the code they provide is often incomplete or wrong. Knowing enough about code to critically interpret their results can turn them from a crutch to a superpower.

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.

Please familiarize yourself with the proper methods of citation and attribution. The School provides some valuable resources online; we strongly encourage you to familiarize yourself with these various styles before conducting research. Cut and paste the following link into your browser to view the Code of Academic & Professional Conduct and to access useful resources on citation and attribution: http://bulletin.columbia.edu/sipa/academic-policies/

Violations of the Code of Academic & Professional Conduct should be reported to the Associate Dean for Student Affairs.

SIPA Disability Statement#

SIPA is committed to ensuring that students registered with Columbia University’s Disability Services (DS) receive the reasonable accommodations necessary to participate fully in their academic programs. If you are a student with a disability and have a DS-certified accommodation letter, you may wish to make an appointment with your course instructor to discuss your accommodations. Faculty provide disability accommodations to students with DS-certified accommodation letters, and they provide the accommodations specified in such letters. If you have any additional questions, please contact SIPA’s DS liaison at disability@sipa.columbia.edu.