Python for Data Science (CIS-2212) Home Page
This is the home page for Peter Chapin's Python for Data Science course notes for the Fall 2021
semester. Here you will find electronic versions of class handouts, homework assignments,
lecture slides, and links to other references of interest. If you are a student taking Python
for Data Science, consider bookmarking this page.
- The course syllabus gives an overview of the course and
its content, lists course resources, and describes the grading policy and related issues.
- The homework submission area and grade book are on Canvas but all other course resources
are here.
- The Zoom meeting URL gives you
access to the live lectures and the lab sessions.
- (Optional) You can download and install Python for your platform from the main Python website. This site has links to a lot of
educational material as well. Installing Python this way is optional because Anaconda (below)
comes with its own Python interpreter.
- We will be using Anaconda and Visual Studio Code to write our programs for this course. I
have prepared some instructions about how to set up those tools.
- I will distribute sample code via a Git
repository on GitHub. You can use VS Code to clone that repository to your machine and
then use the features of Git to manage your own branches, etc. I will discuss how to do this
in class.
- There are many Python books available in the O'Reilly eBook Collection via the Hartness Library. Start with Learning Python, Fifth
Edition by Mark Lutz, particularly if you are entirely new to Python.
- I've prepared some general information on submitting
assignments.
- My home page contains other resources of potential interest.
Lecture Topics
- 2021-08-24. Introduction to the course and available materials & tools.
- 2021-08-26. Detailed walk-through of using VSCode with Git and Python. Showed cloning a
repository, pulling updates, creating branches, and making commits. Also showed how to run a
Python program from inside VSCode.
- 2021-08-31. Started introducing Python basic concepts using a collection of sample programs.
Briefly covered program structure, control flow, dynamic typing, lists, and tuples. Introduced
classes.
- 2021-09-02. Continued reviewing the collection of basic sample programs. Discussed classes
more, introduced text file I/O, using the Python documentation, and some important methods for
the upcoming homework assignment.
- 2021-09-07. Discussed documenting Python code ("docstrings"), the type hints feature of
Python 3.5 and later (and how to install the mypy type checker), and testing using
PyTest. Also discussed further exceptions, lists, and tuples.
- 2021-09-09. Discussed Python dictionaries and some of Python's functional features: First
class functions, higher order functions, and the map function.
- 2021-09-14. Demonstrated Jupyter notebooks, Jupyter Lab, and VSCode's Jupyter support.
- 2021-09-16. Discussed using the requests package to make queries against
OpenStreetMap's RESTful API.
- 2021-09-21. Described Homework #2. Introduced Pandas.
- 2021-09-23. Discussed how to pull data from a DBMS into Pandas.
- 2021-09-28. Introduced NumPy.
- 2021-09-30. Demonstration of NumPy on the problem of solving simultaneous equations.
- 2021-10-12. Demonstration of the Python debugger in VSCode and review of Pandas.
- 2021-10-14. Discussed Homework #3.
- 2021-10-19. Introduced Hadoop.
- 2021-10-21. No class.
- 2021-10-26. More discussion about Hadoop.
- 2021-10-28. No class.
- 2021-11-02. Discussed Homework #4 and the various supporting
materials related to it.
- 2021-11-04. Introduced Matplotlib.
- 2021-11-09. Introduced machine learning with scikit-learn.
- 2021-11-11. Introduced WSGI and using Python as a back-end language for web development.
- 021-11-16<. Demonstrated Homework #4. Discussed the Mira variable star data and how it will
be provided for the upcoming Homework #5.
- 2021-11-18. Discussed Homework #5.
- 2021-11-30. Discussed how to use the Python lxml library to access data in an XML
document (for example, using XPath).
- 2021-12-02. More discussion about using the Flask web application framework in Homework #5.
- 2021-12-07. Discussed the Fast Fourier Transform and how to calculate it using NumPy. This
is also a part of Homework #5.
- 2021-12-09. Introduced the Julia programming language.
Slides
- Introduction. These slides are a work in progress.
- Dynamic Languages. Gives an overview of what it
means to say a language is "dynamic" using Python examples.
Homework
Resources/Articles
Last Revised: 2025-01-09
© Copyright 2025 by Peter Chapin <peter.chapin@vermontstate.edu>