Policies and Grading

Course Logistics


Programming knowledge, in Python at the level of CS50 and CS 109 (or above). Besides this, you should have interest or investment in scientific computing.

Required Textbook

see Resources page.

Online Discussion Forum

We’ll be using Piazza as our online forum.

Course Components

Lectures and Labs

The class meets twice a week for lectures (Monday And Wednesday) and Friday for labs. The labs are designed to help you master the relevant materials, and to start work on your homework in groups, and to even make progress on your project. The weekly schedule is posted at Schedule.

Lab is compulsory.


65 points

There will be a homework every week with a maximum of 3 questions. This homework should not take more than 7-8 hours. There will be 11 short format homeworks. These are to be submitted as jupyter notebooks. You can talk with any other student to do your homework, and students are encouraged to collaborate in upto groups of 3 for the homework (collaborators should submit 1 homework only).


15 points

There will be one paper, towards the end of this course. It will require reading and presenting a recent research development in the field.

Final exam

17 points

At the end of the semester there will be a take home exam, which will be about 1.5 long format homework long. You will have >=10 days to finish it. To be submitted as a jupyter notebook. You will do the exam by yourself!


3 points

Coming to class. Piazza, with weight given to answering other’s questions. Pull requests with examples and errata on wiki pages would be appreciated, and will be used to push you up to the next highest grade. (Think of it as building a learning community)

Course Policies

Assessment Procedure

Everything will be graded holistically beyond mechanical correctness and focusing on the overall quality of the work.

On a five point scale, roughly:

In addition to the scores the Teaching Fellows will give detailed written feedback.

Collaboration Policy

“You can talk to anyone and collaborate with up-to two additional people on any homework”

What does this mean, exactly?

Quoting Sources

You must acknowledge any source code that was not written by you by mentioning the original author(s) directly in your source code (comment or header). You can also acknowledge sources in a README.txt file if you used whole classes or libraries. Do not remove any original copyright notices and headers. However, you are encouraged to use libraries, unless explicitly stated otherwise! You may use examples you find on the web as a starting point, provided its license allows you to re-use it. You must quote the source using proper citations (author, year, title, time accessed, URL) both in the source code and in any publicly visible material. You may not use existing complex combinations or large examples. For example, you may not use a ready to use multiple linked view visualization. You may use parts out of such examples. To support your learning about academic citation rules, please visit the Harvard Extension School Tips to Avoid Plagiarism, where you’ll find links to the Harvard Guide to Using Sources and two, free, online 15-minute tutorials to test your knowledge of academic citation policy. The tutorials are anonymous open-learning tools.

Deadlines and Late Days

Homework must be turned in on time. You can have upto 7 late days across the semester, with no more than 1 late day on any homework. (That is you could be late by at most 1 day on at most 7 homework submissions). No late days on the final exam.

Homework will be due by 10am on the Friday the week after the thursday the homework was released.

Exceptions: Nada. No exceptions, except for illness, with a doctor’s certificate.

Regrading Policy

If you think we were too harsh, please ask for a regrade within a day of getting your grade.

Additional Information


If you have a documented disability (physical or cognitive) that may impair your ability to complete assignments or otherwise participate in the course and satisfy course criteria, please meet with us at your earliest convenience to identify, discuss, and document any feasible instructional modifications or accommodations. You should also contact the Accessible Education Office to request an official letter outlining authorized accommodations. The Extension School is committed to providing an accessible academic community. The Disability Services Office offers a variety of accommodations and services to students with documented disabilities. Please visit this webpage for more information.


A lot of the material in this course is based on other classes. We have also heavily drawn on materials and examples found online and tried our best to give credit by linking to the original source. Please contact us if you find materials where the credit is missing or that you would rather have removed.


We expect you to write high-quality and readable python code. You should strive for doing things the right way and think about aspects such as reusability, error handling, etc. We also expect you to reasonably document your code.