Syllabus: MTH 271, Spring 2020

Mathematical computing with data

Instructor:   Jay Gopalakrishnan

Meetings:  March 30 - June 5, Tue, Thu: 14:00-15:50 on Zoom


This term is unlike any other. The onslaught of a new virus has moved all course meetings to the internet, an emergency transition that few of us were prepared for.

While we learn to work in this virtual environment together, it is perhaps fitting that we begin this course by examining current data on COVID-19 cases worldwide (available from Johns Hopkins University researchers). Here is an animated visualization of that data, and if you are a student in this course, you will soon be making such visualizations yourselves, in addition to learning other skills.

Why learn to compute with data? We live in an era of proliferation of open access to reliable data. Yet strangely, it is also an era of fake news and lying leaders. As citizens, we can empower ourselves to make informed decisions by learning to analyze data ourselves. In this course, we will have multiple occasions to procure, analyze, and visualize data. We will study mathematical and statistical techniques to discern patterns in complex data. We shall do so in an ecosystem of python computing modules developed by open-source enthusiasts worldwide.

By way of local context, note that this is the first offering of MTH 271 after a complete redesign to tailor to the needs of the new data science program of the department. Materials from prior MTH 271 offerings will not be helpful for studying this term.


  1. MTH 261.
  2. MTH 253
    • Students taking MTH 253 this term concurrently are welcome to join this course.
  3. Each student must have a personal computing environment (such as a laptop or PC) available, in which the student has permissions (such as a super-user or administrator password) to install (free) software. A good internet connection is also required for connecting to synchronous Zoom class meetings and for downloading the free software.

In ordinary circumstances the third prerequisite would not apply, since the university would provide us with a computer lab with pre-installed software. However, this term the computer lab will remain closed, so please do not go to the computer lab B127, even if an earlier published course schedule (now outdated) declare it to be the class venue.

A guide for students with internet and technology challenges during this remote education transition is being maintained by PSU.

Learning Outcomes

A student completing this course can

  • effectively use python modules for scientific computation,
  • visualize data in many ways using python modules,
  • apply basic machine learning tools to understand data.

All course materials will be posted online as the term proceeds.

Learning Methods

We will use the university's D2L, where (after logging in) this course's landing page can be found. All content will placed or linked from there. All email messages will also be issued in D2L, so if you read email elsewhere, please ensure that your D2L emails get forwarded to your email client.

All course materials (and even this syllabus) are presented in Jupyter notebooks. In the first meeting, we will work to ensure that everyone has a working Jupyter and Python 3 installation.

We will use Zoom for synchronous virtual meetings at the designated class times. Go to People->Zoom Meetings from the top menu of the D2L course page to join.

We follow a partially flipped classroom model. Students work through certain assigned topics before coming to a class meeting. Class meetings are used to consolidate the understanding, to clarify confusions, and for real-time coding exercises.

Students who have never programmed are certainly welcome, but they should be prepared to spend much more time on this course (outside of class meetings) than students with some exposure to coding.

What this course is not

This is not a course designed to teach a programming language. It is instead designed to teach computational thinking. Of course, students will pick up some features of the python language along the way, but those will only be glimpses of a multifaceted modern language. (Those wanting to focus on the language should take a computer science course.)

This course does not teach how to design accurate numerical methods. Instead, the course shows how to use and practically combine established numerical methods (and a few emerging ones) for various, sometimes complex, simulation needs. (Those wanting to learn principles of design of numerical methods should take a numerical analysis course.)


We shall use the free online textbook Python Data Science Handbook by Jake VanderPlas. We will use parts of this book to understand how python modules for data science and numerical computations work. Note however that the course activities during class meeting will use local data sets and current information that is not in the book. Please consult the course materials online.

Evaluation of learning

Grading is based on student projects.

Fine print

  • Academic Misconduct: In the list of prohibited student behavior at PSU is plagiarism, buying and selling of course assignments, and obstruction of another student's success. Students are expected to know of and refrain from all proscribed conduct. A confirmed violation of that PSU Code of Conduct in this course will result in failure of the course.

  • Title IX Reporting Obligations: Every instructor at PSU has the responsibility to help create a safe learning environment for students and for the campus as a whole. As a member of the university community, an instructor must report any instances of sexual harassment, sexual violence and/or other forms of prohibited discrimination. If you would rather share information about sexual harassment, sexual violence or discrimination to a confidential employee who does not have this reporting responsibility, please use the online list of those individuals. For more information about Title IX please complete the student module Creating a Safe Campus in D2L.

  • Disability Accommodations: The Disability Resource Center (DRC) provides reasonable accommodations for students who encounter barriers in the learning environment. If you have, or think you may have, a disability that may affect your work in this class and feel you need accommodations, contact the DRC to schedule an appointment and initiate a conversation about reasonable accommodations. Information about the DRC is available at Students who have testing accommodations must begin the test at the same time as the rest of the class.

  • Course Materials: All course materials handed out in class or placed in D2L are solely for the use of each student registered in this course. Sale of these materials is prohibited.

  • Recording: During class sessions, voice or video recording of other students or the instructor without their explicit written consent is prohibited. Your use of Zoom is governed by the Acceptable Use Policy and PSU’s Student Code of Conduct. Recordings with identifying information cannot be shared freely without a FERPA release signed by all students.