Syllabus - Advanced Python for Data Science

DS-GA 3001, 3 Credits, Syllabus and Schedule, Spring 2017


Dr. Gregory Watson

Office: 6th Floor, 60 Fifth Ave

Email (best way to contact me):

Meeting Times & Location

Lecture: Wed 3:30 pm – 5:10 pm, SILV 405

Lab: Thu 7:45 pm - 8:35 pm, 60 Fifth Ave, 110

Office Hours

Times: Wed 2:00 – 3:00 pm or by appointment.

Location: 6th Floor, 60 Fifth Ave

Note: my schedule gets very busy during the semester so please try to schedule appointments as far in advance as possible. In general it will be very difficult to set up appointments less than 24 hours in advance.

Text Books

There is no primary textbook for the course. The following texts provide very useful information:

We will also be using the excellent Software Carpentry lectures as our primary material.

Course Goals

  1. Be able to write relatively advanced, well structured, computer programs in Python
  2. Be familiar with principles and techniques for for optimizing the performance of Python numeric applications
  3. Understand parallel computing and how parallel applications can be written in Python
  4. Experiment with developing GPU accelerated Python applications
  5. Develop Python applications that utilize big data services such as Hadoop and Spark


The syllabus and other relevant class information and resources will be posted at Changes to the schedule will be posted to this site so please try to check it periodically for updates.

Course Management Email List

In order to provide timely updates and helpful material to students, and to request feedback from students during the semester, I maintain a course email list. On the first day of class you will provide your preferred email for this list. Students are required to be aware of emails sent to this list.


Grading for this course will be based on successful completion of the weekly assignments (100%).

There will be weekly programming assignments. Assignments are due Sunday night by 11:55pm Eastern Time. Assignments will be submitted using GitHub (after we’ve learned about it in class). The lowest scoring assignment will be dropped. One problem from each assignment (selected at my discretion after the assignments have been submitted) will receive a thorough code review and a detailed grade. Other problems will be graded as follows:

Final grades will be assigned based on the following scale:

Student’s Responsibilities

Students are expected to read/view assigned material prior to the class for which they are scheduled, attend class, participate in class, complete assignments, complete projects, and ask for help early if they are having trouble.

Instructor’s Responsibilities

I expect myself to read/view the assigned material prior to the class for which they are scheduled, prepare and deliver high quality introductions to the material, prepare exercises and assignments that are relevant to research in data science, and provide comments on assignments and projects intended to help students develop their abilities to work with computers and data.

Academic Honesty

NYU students and faculty to maintain the highest standards of academic honesty. Students can find information on the core principles and standards in the university’s policy on academic integrity, which is accessible at

Class and Classroom Manners

I do not take attendance and therefore I expect that if you are in class you are here to learn. So, please, turn off your cell phones, resist the urge to send email and text messages, etc. Basically I’m just asking that you be respectful of your fellow students and myself. This class is a collaborative learning experience. If you have already finished with what we are working on then find another student to help.


I will do my absolute best to make this a fair class. If you are having problems in the class, or just not doing as well as you would like, I strongly encourage you to approach me as soon as possible to get help during the semester. Please do not approach me at the end of the semester and ask me to change your grade, allow you to do extra credit, etc. Your grade will be the one you have earned and I am ethically required to report that grade. Of course if I’ve made a mistake grading, I encourage you to let me know.