Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Python Programming for Data Science

General Info

Welcome to Python Programming for Data Science!

This is a first-year course of the MSc in Data Science of the University of Padova. Indeed, it is one of the three modules which the course "Fundamentals of Information Systems" is made of.

This repository contains lecture materials (in the form of Jupyter Notebook and PDF slides) as well as exercises from the 2018-19 examination sessions (with solutions).

Course Goal

The goal of this module is to teach the basics of the Python programming language along with a special focus on Data Science. In particular, students will become familiar with Python packages that are widely used by the community of data scientists and machine learning practicioners, such as numpy, scipy, pandas, seaborn, and scikit-learn, just to name a few.
Eventually, at the end of this module students are expected to be able to implement all the stages of a typical machine learning pipeline: from collecting data to building predictive models for solving either a regression or a classification problem.
A full detailed description of the course is available here.

Course Syllabus

Python Programming for Data Science provides students with the foundational coding skills they need as data scientists.

We start our journey with an exhaustive tutorial on how to properly set up your environment, which is used throughout the class. Essentially, this consists of:

  • Installing Python 3.x (we will be using Python 3.6 installed via Anaconda in this class)
  • Installing and setting up Jupyter Notebook

Then, we move to discussing the basics of the Python programming language:

  • Python object model
  • built-in data types
  • fuctions
  • I/O

Finally, we will dig into a set of the most up-to-date data science Python packages, such as:

  • numpy/scipy (for numerical/scientific computing)
  • pandas (for data manipulation)
  • matplotlib/seaborn (for data visualization)
  • scikit-learn (for machine learning tasks like regression and classification).

Class Schedule

Lecture #TopicsClass Material
Lecture 0Preliminary computer science conceptsNotebook, Slides
Lecture 1Introduction and environment setupNotebook, Slides
Lecture 2Python basicsNotebook, Slides
Lecture 3Python's built-in data types (Part I)Notebook, Slides
Lecture 4Python's built-in data types (Part II)Notebook, Slides
Lecture 5Functions & I/ONotebook, Slides
Lecture 6numpy packageNotebook, Slides
Lecture 6bReview of linear algebra basicsNotebook, Slides
Lecture 7Introduction to pandas packageNotebook, Slides
Lecture 8I/O with pandasNotebook, Slides
Lecture 9Data preparation with pandasNotebook, Slides
Lecture 10Data visualization with matplotlibNotebook, Slides
Lecture 11A Machine Learning Primer (seminar)Notebook, Slides
Lecture 12The Regression Problem: Example (Part I)Notebook
Lecture 13The Regression Problem: Example (Part II)Notebook
Lecture 14The Classification Problem: Example (Part I)Notebook
Lecture 15The Classification Problem: Example (Part II)Notebook
Lecture 16Logistic Regression Demystified (seminar)Slides

About

No description, website, or topics provided.

Resources

Stars

17 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages