Syllabus - Programming for Data Science

DS-GA 1007, 3 Credits, Syllabus and Schedule, Fall 2016

Professor

Dr. Gregory Watson

Office: 6th Floor, 60 Fifth Ave

Email (best way to contact me): greg.watson@nyu.edu

Meeting Times & Location

Lecture: Mon 7:10 pm – 9:00 pm, SILV 405

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

Office Hours

Times: Mon 5:00 – 6: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. Write high quality, maintainable Python programs
  2. Use the Numpy and pandas for performing complex numerical analysis tasks
  3. Be familiar with the Jupyter Notebook environment for writing, testing, and debugging Python code
  4. Produce high quality 2D data visualizations using Matplotlib
  5. Use Unix command line tools, understand basic shell command structure, and be familiar with Git and GitHub

Website

The syllabus and other relevant class information and resources will be posted at https://nyu-cds.github.io/courses. 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

Grading for this course will be based on a combination of weekly assignments (60%) and a final project (40%).

There will be weekly programming assignments. Assignments are due Sunday night by 11:59 pm 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:

The following criteria will be used when grading:

In addition, the final project will be graded based on:

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 http://www.nyu.edu/about/policies-guidelines-compliance/policies-and-guidelines/academic-integrity-for-students-at-nyu.html.

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.

Fairness

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.