MTH 448/548 Syllabus

Class meetings

Mon Wed 12:00-1:50 PM
250 Mathematics Building


Bernard Badzioch
Office Hours: Wed 5:30-7:00 PM on MTH 448/548 Discord server.


This course assumes that you have some experience with programming in Python, and with such Python libraries as matplotlib or numpy (although we will start the course with a review of numpy). I will also assume that you are familiar with Jupyter Notebook: code cells, markdown cells etc. If you have not used Jupyter Notebook before, install the Anaconda distribution (see below), which Jupyter Notebook is a part of, and get acquainted with it. Feel free to let me know if you have any questions.

Learning Outcomes

After taking this course you should be able to:

  • Understand various common formats of data (csv, html, xml, json, SQL databases etc.) and how to use them.

  • Manipulate data using such tools as numpy, pandas, json, BeautifulSoup, SQL etc.

  • Visualize data using matplotlib, seaborn and plotly.

  • Apply some machine learning methods to analyze data.

  • Describe in writing results of data exploration and analysis.

Course Resources

Laptop. We will be writing code during all class meetings. For this reason you need to bring a laptop to each class. Any operating system (Windows/Mac/Linux) is fine.

Software. We will be using the Anaconda distribution of Python 3.9. This is free software. Even if you have Python already installed on your computer you should install this distribution since it includes Jupyter Notebook and several Python libraries we will need. If you have a previous version of Python installed, please upgrade it so you don’t run into possible compatibility issues.

Discord server. You should have received an invitation link to the MTH 448/548 Discord server in the email with course information. If you don’t have this link, let me know.

The Discord server will be used for office hours. Please also use it to post course related questions instead of emailing them to me. This will help other students who may have the same questions. If you notice a question on Discord that you know the answer to, feel free to respond. For personal issues, regarding your grade etc., contact me directly either by email or by a direct message on Discord.

Textbook. There is no required textbook. There are a lot of online resources (documentation of Python libraries etc.) that may be helpful in this course. Some of them are listed on the Useful Links page.

UBLearns will be used for submitting project reports.


There will be no exams in this course. Instead, grades will be assigned based on the following components:

  • Project Reports 90%

  • Weekly digests 10%

Project Reports

One the main components of this course will be exploratory projects. You will be working on them largely independently, using mathematical and computing tools. The outcome of your work on each project will be a project report that you will submit for grading.

Each report will be graded on the A-F scale. Extra credit (a grade of A+) may be assigned for an outstanding work. Some projects will require more effort than others. To reflect it, each project will have a weight of up to 10 points, with 10 points for more work-intensive projects, and fewer points for shorter ones. The cumulative grade for all reports will be computed by:

  1. converting the letter grade for each report into credits (A = 4.0, A- = 3.67, B+ = 3.33 etc.);

  2. multiplying credits for each report by the report weight and adding all these products;

  3. dividing the resulting number by the sum of weights for all reports;

  4. converting the number obtained in step 3 to a letter grade.

Reports will be submitted via UBLearns. Late reports will not be accepted. More information about project reports is posted here.

Weekly digests

Weekly digest. Each week you will be asked to submit a short (2-3 sentences) writeup on your study from the previous week. For example, you can write:

  • what topics you have found interesting (or boring)

  • what topics you have found difficult (or easy)

  • how you feel about the course

  • anything else you want to share.

You will be also asked to submit a question (or questions) regarding the course.

You can receive up to 10% credit for these writeups. You can miss one such assignment without loosing any credit, but your weekly digest credit will be lowered by 2% for each subsequent missed assignment (i.e. from 10% to 8% etc.).

I may award extra credit to students who are especially active in the course.

Incomplete Grades

See the UB Catalog for the UB Incomplete Policy.

Academic Integrity

See the UB Catalog for the UB Academic Integrity Policy.

Accessibility Resources

If you need accommodations due to a physical or learning disability please contact the UB Accessibility Resources Office to make appropriate arrangements.