Topics in Introductory Programming is designed to give a general introduction to programming as related to data analysis across many fields. Students will be introduced to standard introductory programming imperative and object oriented techniques as well as data structures necessary to create efficient and understandable algorithmic solutions to problems. Data for analysis will be drawn from a single discipline that will vary per semester, forming a theme for topical study. Topical investigations will include the ethics of data use in that field, how data is commonly generated and used, and implementation of important discipline-specific algorithms.
Topics in Introductory Programming: Social Inquiry is designed to give an introduction to programming with a focus on data analysis and ethical considerations for social inquiry.
The course repository can be found at https://github.com/sorelle/dataintrocourse. Students should all have a copy of this repository already in their home directory on the CS lab computers and should use that to modify and submit assignments.
Labs make up a major and important portion of the work for this course. For due dates, please see the calendar below. While some are given in advance, modifications may be made throughout the semester (including changing, cutting, or adding other labs), so any work done in advance is at your own risk. Labs will be officially distributed one or two weeks before their due date.
Labwork should be done on the computers in the computer science teaching lab (KINSC H110) either in person or by logging in remotely. We will help you learn how to login and access the lab during your first lab session. You may also find the following documents useful:
A directory full of information on accessing the lab (accessible when logged into a haverford.edu account)
There are also some resources on Python conventions that you might find useful once you've learned the basics in class:
All course times, lab due dates, and office hours are listed on the calendar below as well as on the syllabus above. In addition to the listed office hours, lab monitors are available for help in KINSC H110 every Sunday - Thursday from 7-11pm.
If you are a professor who would like to use these course materials, contribute to them, or have access to further private materials (e.g., the pptx version of the slides or the labs key) please contact Sorelle Friedler.
This course was developed with the support of the Data & Society Research Institute and the following thoughtful folks helped directly with its development:
Solon Barocas, Microsoft Research
danah boyd, Data & Society and Microsoft Research
Anika Collier Navaroli, Color of Change
Fernando Diaz, Microsoft Research
John Dougherty (JD), Haverford College
Colleen Lewis, Harvey Mudd College
Arvind Narayanan, Princeton University
Leigh Ann Sudol-DeLyser, CSNYC
Many thanks to all!