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.
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.