
Python is one of the most intuitive and easiest languages to learn programming - it's practically like english! But it's incredibly powerful as well. This course starts from 0 - you don't have to know anything about coding. At the end of the course, you will be building serious python projects for data analysis, natural language processing and machine learning.
If you are absolutely new to coding, don't be intimidated in the least - its just like cooking.
Anaconda's iPython is a Python IDE. The best part about it is the ease with which one can install packages in iPython - 1 line is virtually always enough. Just say '!pip'
Coding is like cooking and variables are like containers. There are different types of variables - numeric, string, lists dictionaries. Write your very first python program and create some variables.
Have fun coding with lists! A bunch of musketeers go on some escapades. Code it up in Python!
Dictionaries, the name itself best describes what they are: collections of key-value pairs that you can look up blazingly fast. If-Else Statements come in real handy when you need to check for a condition.
Ever wondered what's the biggest difference between Excel, and a serious programming language? Loops. Loops are big productivity boosters.
Anything you can do with lists, you can do with strings. Cycle through a few nifty things you can do with strings.
Modules are awesome, you can do amazingly complex things by importing a module, without having to code stuff from scratch.
Write a serious program : Ask a user for a url and download it from the internet.
How do you test for multiple conditions (If-Elif-Else) ? How do you test for None type?
Exception Handling is an important part of programming. In Python - Try/Except/Finally are used to handle exceptions.
A step by step guide to a serious Python project - download a zip file of all stock movements from the National Stock Exchange of India, extract the contents and produce and excel spreadsheet with the 5 top moving stocks for the day.
Code-along for the first 2 steps - download a zip file of all stock movements from the National Stock Exchange of India, extract the contents and save a csv file to disk.
Note: The NSE sometimes changes the authentication mechanism for downloading files. In case you are having trouble downloading the file, please go ahead and download it manually from this link : https://www.nseindia.com/products/content/equities...
Then you can continue with the unzip portion of the drill.
Code along as we generate an excel spreadsheet and add data for the top moving stocks in a day.
If coding is like cooking, functions are like food processors. They automate repetitive tasks by mechanically taking stuff in and churning stuff out.
Functions take variables as input. When variables are passed to functions - what happens to the value of the variable in the calling code? In Python - variables are passed by object reference - this is neither pass by value nor pass by reference (which are used in C/C++).
Implement a few functions in code.
A demonstration of a recursive function.
3 takes on implementing a Bank ATM - a) Dictionaries and Lists b) Files c) Databases - which works?
A bunch of things you can do with databases - create tables, query data with SQL. Understand constraints like primary key, foreign key and not null. Write a query on a table with stock prices.
Continue with the things you can do with databases - learn how to insert rows into tables, delete and update rows, add and delete columns and delete tables.
How do programming languages interface with databases? Also, a step by step guide to building your own database of stock price movements over the last 2 years.
SQLite is available out of the box with Python, and is a handy and quick way to start working with databases with no setup or installation.
Code along as we build a database of stock movements. We'll download and unzip files with stock movements from the NSE website, insert the data into a database. We'll accept a ticker from a user and generate an excel sheet with a chart of its price movements for the last year.
Classes are types of variables defined by you (or other programmers). Objects are instances of a class. Learn how objects are self-contained (they have member variables and member functions) and whats involved in setup and cleanup of classes/objects.
Classes can inherit behaviour (member functions and member variables) from other classes. Runtime polymorphism and "is-a" inheritance are beautiful ideas.
Natural Language Processing is a seriously cool area of computer science tackling problems like Autosummarization, and Machine translation. We'll get familiar with NLTK - an awesome Python toolkit for NLP.
Code along with us in Python - we'll use NLTK to compute the frequencies of words in an article.
Code along with us in Python - we'll use Beautiful Soup to parse an article downloaded from the Washington Post and then summarize it using the class we set up earlier.
Classify newspaper articles into tech and non-tech. We'll see how to scrape websites to build a corpus of articles. Use NLP techniques to do feature extraction and selection. Finally, apply the K-Nearest Neighbours algorithm to classify a test instance as Tech/NonTech. The Python source code (with many comments) is attached as a resource.
Classify newspaper articles into tech and non-tech. We'll see how to scrape websites to build a corpus of articles. Use NLP techniques to do feature extraction and selection. Finally, apply the Naive Bayes Classification algorithm to classify a test instance as Tech/NonTech. The Python source code (with many comments) is attached as a resource.
Code along with us in Python - we'll use NLTK to extract features from articles.
Code along with us in Python - we'll use KNN algorithm to classify articles into Tech/NonTech
Code along with us in Python - we'll use a Naive Bayes Classifier to classify articles into Tech/Non-Tech
Create clusters of similar articles within a large corpus of articles. We'll scrape a blog to download all the blog posts, use TF-IDF to represent them as vectors. Finally, we'll perform K-Means clustering to identify 5 clusters of articles. The Python source code (with many comments) is attached as a resource.
Code along with us in Python - We'll cluster articles downloaded from a blog using the KMeans algorithm.
A Note on the Python versions 2 and 3: The code-alongs in this class all use Python 2.7. Source code (with copious amounts of comments) is attached as a resource with all the code-alongs. The source code has been provided for both Python 2 and Python 3 wherever possible.
What's Covered: