Lecture Sec 1: TF 9:50-10:55am. BK 010.
Sec 2: TF 1:35-2:40pm. RI 236.
Practicum (DS2001) CS Practicum 1. W 11:45am-1:25pm. WVH 212.

CS Practicum 2. W 2:50-4:30pm. WVH 210.

Science/Math Practicum 1. W 2:50-4:30pm. WVH 212.

Science/Math Practicum 2. W 4:40-6:20pm. WVH 212.

Social Science Practicum. W 11:45am-1:25pm. WVH 210.

Health Practicum. T 3:25-5:05pm. RY 128.


DS2000 Syllabus: Download (PDF)
DS2001 Syllabus (Social Science Practicum): Download (PDF)

Professors (Lecture and Practicum)

Laney Strange (Lecture)

Office WVH 310
Office Hours T 3-6pm (and by appointment)

Piotr Sapieżyński (Computer Science Practicum)

Office Hours M 3-6pm (KA005)

Sarah Shugars (Social Science Practicum)

Office 177 Huntington Ave., 2nd Floor
Office Hours W 1:30-3:00pm
(and by appointment)

Stephen Intille (Health Practicum)

Office 177 Huntington, Room 924
Office Hours M 8:30-9:30am
M 11:00am-12:00pm
(please email in advance so the building security will have your name and let you up)

Samuel Judge (Science Practicum)

Office Nightingale 530
Office Hours W 12:45pm - 2:30pm
W 6:30-8:30pm

Teaching Assistants

About DS2000

Introduces programming for data and information science through case studies in business, sports, education, social science, economics, and the natural world. Presents key concepts in programming, data structures, and data analysis through Python and Excel. Integrates the use of data analytics libraries and tools. Surveys techniques for acquiring and programmatically integrating data from different sources. Explains the data analytics pipeline and how to apply programming at each stage. Discusses the programmatic retrieval of data from application programming interfaces (APIs) and from databases. Introduces predictive analytics for forecasting and classification. Demonstrates the limitations of statistical techniques.

No prior programming experience is assumed; therefore, this course is suitable for students with little or no computer science background.

Course Goals
Lectures will focus on developing a conceptual understanding of programming and algorithmic thinking.
Homework will apply conceptual knowledge via problems and Python implementation.
Practicum will apply programming through case studies.
Project will analyze & visualize a dataset programmatically.


The final grade for this course will be weighted as follows.

  • Homework (lowest dropped): 30%
  • Practicum: 20%
  • Quizzes: 10%
  • Midterm: 15%
  • Final Project + Presentation: 25%


Homework sets will be assigned (almost) every week until around the midterm. They will be evaluated according to the DS2000 Grading Rubric. Your lowest homework score will be dropped and will not count towards your final grade. You may turn in ONE homework up to four days late (see the course policies page for details).


You must register for one practicum, in an area of interest for you. Your options are: science/math, computer science, social sciences, and health. You'll work on a problem set, alone or in a group, during your practicum section. You must be present during your practicum section to receive a grade.


There are 5-7 questions per quiz. Your quiz grade will be scaled, though (for example, getting one question wrong on a 6-question quiz doesn't mean your quiz score is 5/6 = 83%). Quiz scaling will be applied as follows:
  • Zero incorrect: Perfect
  • One incorrect: Good
  • Two incorrect: Satisfactory
  • Three or four incorrect: Unsatisfactory
  • More than four incorrect: Poor


There will be one midterm, about halfway through the semester. One lecture will be allocated for it. The midterm will evaluate your knowlege of computer science, programming, and problem-solving before we dive into the project-based part of the course. It will be entirely on paper. No makeups are permitted; you must be presented during the scheduled midterm.

Final Project + Presentation

The goal of the project is to gain hands-on experience with finding, importing, analyzing, visualizing, and presenting a dataset of your choosing. You can work alone or in a small group (of 2--3 members) -- you will first submit this group's topic, membership, and division of labor in a proposal.

At the conclusion of the class you will submit your Python code along with any datasets you used in the project. Additionally, you will present your work during the last week of class.

Classroom Environment

In my classroom, please ask questions, and answer questions! In computer science, we seldom get anything right on the first try. We see how an attempt turned out, and we try again. I like our classroom to reflect that approach as well; so please answer a question that's been posed, even if you're not sure of the answer.

To create and preserve a classroom atmosphere that optimizes teaching and learning, all participants share a responsibility in creating a civil and non-disruptive forum for the discussion of ideas.

Students are expected to conduct themselves at all times in a manner that does not disrupt teaching or learning. Your comments to others should be constructive and free from harassing statements.

When you come to class, I ask that you be fully present. No phones are permitted in the classroom. If you use a laptop, use it only to take notes. Please be respectful of your fellow students and me by participating attentively and non-disruptively.