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.
Using discussion forums
Please use the discussion forums on this course to engage with other students and to help each other out. Unfortunately, much as we would like to, it is not possible for us at Loonycorn to respond to individual questions from students:-(
We're super small and self-funded with only 2-3 people developing technical video content. Our mission is to make high-quality courses available at super low prices.
The only way to keep our prices this low is to *NOT offer additional technical support over email or in-person*. The truth is, direct support is hugely expensive and just does not scale.
We understand that this is not ideal and that a lot of students might benefit from this additional support. Hiring resources for additional support would make our offering much more expensive, thus defeating our original purpose.
It is a hard trade-off.
Thank you for your patience and understanding!
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.
Loonycorn is us, Janani Ravi, Vitthal Srinivasan, Swetha Kolalapudi and Navdeep Singh. Between the four of us, we have studied at Stanford, IIM Ahmedabad, the IITs and have spent years (decades, actually) working in tech, in the Bay Area, New York, Singapore and Bangalore.
Janani: 7 years at Google (New York, Singapore); Studied at Stanford; also worked at Flipkart and Microsoft
Vitthal: Also Google (Singapore) and studied at Stanford; Flipkart, Credit Suisse and INSEAD too
Swetha: Early Flipkart employee, IIM Ahmedabad and IIT Madras alum
Navdeep: longtime Flipkart employee too, and IIT Guwahati alum
We think we might have hit upon a neat way of teaching complicated tech courses in a funny, practical, engaging way, which is why we are so excited to be here on Udemy!
We hope you will try our offerings, and think you'll like them :-)