Officially, you are required to have taken CMPINF 2100: Introduction to Data-centric Computation. Unofficially, we are accepting students even if they haven't taken this course. However, I will be assuming you are familiar with the core skills covered in that course: python, numpy, matplotlib, scipy, pandas, and jupyter notebooks. If you aren't familiar with these tools, the course is going to be difficult to follow.

Here is a good guage of whether you are prepared to take this course: can you complete the following workflow?

  1. Create a virtual environment and install all the packages listed above (either manually or using a .yml file)
  2. Activate your virtual environment and open up a notebook in Jupyter lab
  3. Import all of the packages listed above.
  4. Read data from a csv file into a Pandas data frame
  5. Plot a histogram of the values in the first column of the data frame.

Grading Scheme

By default we will use the following standard scale:

These cutoffs may be lowered if need be, but they will never be raised. Your grade will be rounded to the nearest integer percentage when we compute your grade.

Below we describe all of the components that we will use to calculate your score. You may notice that the percentages add up to 110%, which is more than 100%. This is because different people learn in different ways, and different people succeed at different forms of evaluation. By structuring the class like this, you will have some leeway, and with enough effort you can earn a high grade without having to be perfect on every component of the course.

Note: The best way to think about this is that you have 110 chances to get 100 points. This grading scheme does NOT mean that you get 10 "free" percentage points. It means you get 10 "free" opportunities to earn percentage points. If you have any questions about how to calculate the grade, you should email me for clarification.

Attendance and Participation (10%)

10% of your grade will be based on simply showing up to class and participating. If you can't or don't want to come to class for whatever reason, you are by no means obligated to attend - you can get full points without this. But if you show up and participate, you will have a 10% buffer. Attendance will be taken using Top Hat.

Homework Assignments (50%)

The main way we will evaluate you in this course is through homework assignments. We will provide you a dataset, and you will apply techniques from class to the data. You will submit a Jupyter notebook with your code and visualizations, and we will verify that your results match the expected output.

Final Project (25%)

Throughout the semester, you will conduct an independent data science project. You will pose a question, find a dataset, clean the data, apply several predictive models to the data, and coalesce your results into a compelling story. At the end of the semester you will present your results to the class.

Final Exam (25%)

We need some way to evaluate your personal understanding of the material without the help of your instructor or classmates. That said, I am not a fan of timed exams. Thus, at the end of the semester I will administer an open-note, open-book quiz on Canvas. This will not be a programming quiz; it will simply be a quiz on what techniques are applicable to what kinds of problems, and what assumptions are made by different kinds of models. This exam is mostly for checking that you don't just understand how to plug your data into different models, but how to think about which model to use.

Academic Integrity

We want you to succeed in this course, but we also want you to succeed with integrity. We want to make sure that you actually learn the material, so that the impact of the course doesn't disappear once the quarter ends. We also want to make sure that every student has a fair chance to succeed, and isn't being taken advantage of by his or her peers. You worked very hard to get into a prestigious school like Pitt, and without enforcing academic integrity that very prestige would quickly crumble. Finally, it would be cartoonishly malicious and cynical to take advantage of the Covid pandemic to circumvent normal academic integrity violations. I can assure you that any grade increase that you receive in this class due to cheating will not benefit you nearly enough to offset the guilt of knowing that you tried to use a global pandemic for grade profiteering.

In this course we expect students to adhere to the University of Pittsburgh of Scholarship Policy. This means that you will complete your work honestly, with integrity, and support and environment of integrity within the class. Here are few examples of what is considered as reasonable and unreasonable collaboration.



Late Policy

Late Penalty

I will accept late work; however, I will impose a late penalty of 0.5% for each hour that an assignment is late. This means that if an assignment is a full day late, you will lose 24 * 0.5% = 12%. Note that canvas rounds up to the next hour, so if you are just 5 minutes late, this will be rounded up to 1 hour and you will still lose 0.5%. This late penalty applies to all assigned work. There is, however, a way to avoid late penalties...

Late Tokens

I understand that circumstances come up - family or medical situations, tough work in other classes, extracurricular commitments, your social life, etc. For this class, you have three (3) late tokens. A late token grants you the ability to turn in an assignment 24 hours late without incurring any penalties. You may use a late token on any assignment, and you may use multiple tokens on the same assignment. Late tokens are cannot be transferred from one student to another. Late tokens cannot be split into fractional tokens.

Extenuating Circumstances

If you have a family or a medical emergency (including a mental health emergency), I can grant you an extension without using a late token. In most circumstances, however, I will probably ask you to simply use a late token or take the late penalty. I reserve the right to request some sort of doctors or parent's note should you make such a request.

Grade Appeals

Grades can be appealed up to two weeks after they have been posted; no appeals will be considered after that time. Please note that the entire assignment will be regraded upon appeal.

Audio/Video Recordings

To ensure the free and open discussion of ideas, students may not record classroom lectures, discussion and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can be used solely for the student's own private use.

Copyrighted Materials

All material provided through course websites is subject to copyright. This applies to class/recitation notes, slides, assignments, solutions, project descriptions, etc. You are allowed (and expected!) to use all of the provided material for personal use. However, you are strictly prohibited from sharing the material with others in general and from posting the material on the web or other file sharing venues in particular.

Religious Observances

In order to accommodate the observance of religious holidays, students should inform the instructor (by email, within the first two weeks of the term) of any such days which conflict with scheduled class activities.

Students with Disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services (DRS), 140 William Pitt Union, (412) 648-7890,, (412) 228-5347 for P# ASL users, as early as possible in the term. DRS will verify your disability and determine whether reasonable accommodation(s) for this course are warranted. It is the responsibility of any student seeking accommodation(s) for this course to present any necessary documentation to the instructor by the start of the term.

Covid Statement

At Pitt, we are committed to providing instruction in the safest and most responsible manner possible. This includes increasing support for remote instruction and taking precautions to minimize the need for medium and large gatherings. Please check out for more information on the steps that Pitt is taking to mitigate the effects of the pandeminc.

For this particular class, here are some of the policies that I will enforce: