Schedule - Online Only - See Links Below

For the remainder of the semester, we'll post a couple of short videos each week, along with sample code and a handout or two (everything will be on the schedule page). Watch the videos, read the handout, and then pop into the remote meetings linked below if you have questions. Same process for the remaining practicum sessions, too!

Lecture Sec 1: TF 9:50-10:55am.
Sec 2: TF 1:35-2:40pm.
Practicum (DS2001) CS Practicum 1. R 9:50-11:30am.

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

Science Practicum 2. R 11:45am-1:25pm.

SS Practicum 1. W 9:50-11:30am.
SS Practicum 2. W 2:50-4:30pm.

Health Practicum. R 2:50-4:30pm.

Business Practicum 1. W 11:45am-1:25pm.
Business Practicum 2. W 2:50-4:30pm.
Business Practicum 3. R 11:45am-1:25pm.
Business Practicum 4. R 2:50-4:30pm.


DS2000 Syllabus: Download (PDF)
DS2000 Grading Rubric: Download(PDF)

Professors (Lecture and Practicum)

Laney Strange (Lecture)

OH Link
Office Hours TR 3-5pm (and by appointment)

John Rachlin (CS Practicum)

Taylor Braswell (Social Science Practicum)

OH Link
Office Hours R 1-3pm

Shun-Yang Lee (Business Practicum)

Vance Blankers (Science Practicum)

Brecia Douglas (Health Practicum)

OH Link
Office Hours WF 8-10am

Farrah Nekui

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. 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. Applies data visualization techniques to summarize and communicate the analysis of data.

Beginning programmers are welcome; we don't assume any previous knowledge and we'll start from the very beginning.

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 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 are allocated two "late date" passes; each of which gives you an additional 24 hours to submit a homework without penalty. You can apply both passes to a single homework or split it betweent two homeworks. A late day pass grants you 24 hours and cannot be broken into smaller chunks.


You must register for one practicum, in an area of interest for you. Your options are: science/math, programming, social science, business, 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 incorrect: Fair
  • 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 present 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.

Letter Grades

Your final grade for DS2000 will use the following breakpoints when we convert from letter to number grades.
93 - 100
90 - 92
87 - 89
83 - 86
80 - 82
77 - 79
73 - 76
70 - 72
60 - 69
59 and below

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.