PyDS : Python for Data Science


Welcome to Python for Data Science (PyDS).

The objective of this module is to provide fundamental understanding of the python programming language needed to follow an introductory course in Data Science.

You will start with the basics of python programming, including python data structures, functions and classes. We follow this up by an introduction to Numerical Python (NumPy) and finally, the course will provide a basic introduction to linear regression from scratch.

Along the way, we will introduce foundational ideas of statistics, linear algebra and calculus.

At the end of this module, you will have the tools and the concepts needed to successfully undertake a rigorous course in machine learning.

This page introduces you to the team, the basic instructions, the schedule and various elements of our class.

The Team

Click on the image to know more about the team member.

Workplace Hargun Pavlos Varshini Javier Ignacio Ignacio German Joy Sree

NOTE: This course will be delivered by the Dr. Pavlos Protopapas’ research group, StellarDNN.

To know more about StellarDNN, click here.

The Coursework

We have very carefully designed the coursework to give you, the student, a wholesome learning experience.

We will hold two 90 minute weekend sessions per week for a total of five weeks.

Session - What to expect

Before the session begins, students are expected to complete a pre-class reading assignment and attempt a quiz.

A session will have the following pedagogy layout which will be repeated multiple times:

  • Live online instruction followed by Q/A + Quiz + Exercises.
  • Sessions will help students develop the intuition for the core concepts and provide guidance on technical details.
  • Sessions will be accompanied by relevant examples to clarify key concepts and techniques.

After the session, students are expected to complete a short post-class quiz based on the principal concepts covered in class.

The Class

Welcome Session - Preparing for the class

There will be a Welcome Session scheduled on 14 August 2021 at 18:30 IST [9:00 EST].

Please check your email for more information.

High level course schedule

Sessions:

  • Saturday Series:

    18:30 - 20:00 IST [9:00 - 10:30 EST]

  • Sunday Series:

    18:30 - 20:00 IST [ 9:00 - 10:30 EST]

Sample Class

We believes in the idea of active learning and our course is designed with the expectation of active participation from the students.

Please find a demo of our course style and pedagogy.


Course Topics

Note: Prior knowledge of programming is not necessary for this module

Session 1: (15-August-2021)

  • Introduction to Python
  • Data Types, iterators, python operations,
  • order of operations, logical operators

Session 2: (21-August-2021)

  • Python Data Structures - Lists, Dictionaries, Tuples
  • List/dictionary comprehensions
  • Enumeration

Session 3: (22-August-2021)

  • Python Functions - Arguments, keyword arguments, etc.
  • Anonymous functions (lambda function)
  • Function decorators

Session 4: (28-August-2021)

  • Classes: Constructors vs Instantiations
  • Methods vs. Attributes
  • Dunder methods

Session 5: (29-August-2021)

  • Working with strings
  • Reading & writing file
  • Python standard library

Session 6: (04-September-2021)

  • Debugging skills
  • Exception handling
  • Python data analysis library

Session 7: Stats & Probability (05-September-2021)

  • Random Variable
  • Probability Density Function
  • Descriptive Statistics

Session 8: NumPy (11-September-2021)

  • Indexing / slicing
  • Shape & reshape
  • Zeros, ones, arbitrary array declaration

Session 9: Calculus and Linear Algebra: (12-September-2021)

  • Derivatives (including partial)
  • Linear regression
  • Multi-linear regression

Diversity & Inclusion

We actively seek and welcome people of diverse identities, from across the spectrum of disciplines and methods since Artificial Intelligence (AI) increasingly mediates our social, cultural, economic, and political interactions [1].

We believe in creating and maintaining an inclusive learning environment where all members feel safe, respected, and capable of producing their best work.

We commit to an experience for all participants that is free from – Harassment, bullying, and discrimination which includes but is not limited to:

  • Offensive comments related to age, race, religion, creed, color, gender (including transgender/gender identity/gender expression), sexual orientation, medical condition, physical or intellectual disability, pregnancy, or medical conditions, national origin or ancestry.
  • Intimidation, personal attacks, harassment, unnecessary disruption of talks during any of the learning activities.

Reference:

[1] K. Stathoulopoulos and J. C. Mateos-Garcia, “Gender Diversity in AI Research,” SSRN Electronic Journal, 2019 [Online]. Available: http://dx.doi.org/10.2139/ssrn.3428240.

Education software we use

  • Our lectures and labs are carried out via Zoom (install instructions).
  • Quizzes & exercises will be conducted on the digital learning platform Ed.

All exercises and homeworks in this course will be done in jupyter notebooks. This link will help you setup jupyter lab and get you acquianted with jupyter notebooks.

Our module policies around collaboration and grading are listed here. Our expectations of you are also laid out in that document.


Parting Note

As you will learn in the course, programming for data science is not just about writing efficient code.

It requires proficiency in critical thinking, ideation & experimentation.

Keeping that in mind, you are advised to give your full active attention to every session.

We wish you well for the start of your data science journey.