Library

Course: From 0 to 1: Learn Python Programming - Easy as Pie

From 0 to 1: Learn Python Programming - Easy as Pie

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
About this Course

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:

  • Introductory Python: Functional language constructs; Python syntax; Lists, dictionaries, functions and function objects; Lambda functions; iterators, exceptions and file-handling
  • Database operations: Just as much database knowledge as you need to do data manipulation in Python
  • Auto-generating spreadsheets: Kill the drudgery of reporting tasks with xlsxwriter; automated reports that combine database operations with spreadsheet auto-generation
  • Text processing and NLP: Python’s powerful tools for text processing - nltk and others.
  • Website scraping using Beautiful Soup: Scrapers for the New York Times and Washington Post
  • Machine Learning : Use sk-learn to apply machine learning techniques like KMeans clustering
  • Hundreds of lines of code with hundreds of lines of comments
  • Drill #1: Download a zip file from the National Stock Exchange of India; unzip and process to find the 3 most actively traded securities for the day
  • Drill #2: Store stock-exchange time-series data for 3 years in a database. On-demand, generate a report with a time-series for a given stock ticker
  • Drill #3: Scrape a news article URL and auto-summarize into 3 sentences
  • Drill #4: Scrape newspapers and a blog and apply several machine learning techniques - classification and clustering to these

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

Who is the target audience?

  • Yep! Folks with zero programming experience looking to learn a new skill
  • Machine Learning and Language Processing folks looking to apply concepts in a full-fledged programming language
  • Yep! Computer Science students or software engineers with no experience in Java, but experience in Python, C++ or even C#. You might need to skip over some bits, but in general the class will still have new learning to offer you :-)
Basic knowledge
  • No prior programming experience is needed :-)
  • The course will use a Python IDE (integrated development environment) called iPython from Anaconda. We will go through a step-by-step procedure on downloading and installing this IDE.
What you will learn
  • Pick up programming even if you have NO programming experience at all
  • Write Python programs of moderate complexity
  • Perform complicated text processing - splitting articles into sentences and words and doing things with them
  • Work with files, including creating Excel spreadsheets and working with zip files
  • Apply simple machine learning and natural language processing concepts such as classification, clustering and summarization
  • Understand Object-Oriented Programming in a Python context
Curriculum
Lectures quantity: 54
Common duration: 10:33:45
What is coding? - It's a lot like cooking!
  • Introduction  

    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.

  • Coding is like Cooking  

    If you are absolutely new to coding, don't be intimidated in the least - its just like cooking.

  • Anaconda and Pip  

    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'

  • Variables are like containers  

    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.

Don't Jump Through Hoops, Use Dictionaries, Lists and Loops
  • A List is a list  

    A list is a list, as the name implies. Everything in life is a list, including strings

  • Fun with Lists!  

    Have fun coding with lists! A bunch of musketeers go on some escapades. Code it up in Python!

  • Dictionaries and If-Else  

    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.

  • Don't Jump Through Hoops, Use Loops  

    Ever wondered what's the biggest difference between Excel, and a serious programming language? Loops. Loops are big productivity boosters.

  • Doing stuff with loops  

    Lists and Dictionaries are inextricably linked with loops. Use loops to do something with each element of a list or each key-value pair of a dictionary.

  • Everything in life is a list - Strings as lists  

    Anything you can do with lists, you can do with strings. Cycle through a few nifty things you can do with strings.

Our First Serious Program
  • Modules are cool for code-reuse  

    Modules are awesome, you can do amazingly complex things by importing a module, without having to code stuff from scratch.

  • Our first serious program : Downloading a webpage  

    Write a serious program : Ask a user for a url and download it from the internet.

  • A few details - Conditionals  

    How do you test for multiple conditions (If-Elif-Else) ? How do you test for None type?

  • A few details - Exception Handling in Python  

    Exception Handling is an important part of programming. In Python - Try/Except/Finally are used to handle exceptions.

Doing Stuff with Files
  • A File is like a barrel  

    Working with files can sometimes seem boring - filled with repetitive boilerplate code. But files can get a bit more interesting if we get why they are so handy and so ubiquitous.

  • Autogenerating Spreadsheets with Python  

    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.

  • Autogenerating Spreadsheets - Download and Unzip  

    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.

  • Autogenerating Spreadsheets - Parsing CSV files  

    Code-along as we parse a csv file line by line and use lambda functions to sort data arranged in rows and columns.

  • Autogenerating Spreadsheets with XLSXwriter  

    Code along as we generate an excel spreadsheet and add data for the top moving stocks in a day.

Functions are like Foodprocessors
  • Functions are like Foodprocessors  

    If coding is like cooking, functions are like food processors. They automate repetitive tasks by mechanically taking stuff in and churning stuff out.

  • Argument Passing in Functions  

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

  • Writing your first function  

    Implement a few functions in code.

  • Recursion  

    Recursive functions are functions that call themselves. This can be a little abstract to wrap your head around, but once you do, the idea is - beautiful.

  • Recursion in Action  

    A demonstration of a recursive function.

Databases - Data in rows and columns
  • How would you implement a Bank ATM?  

    3 takes on implementing a Bank ATM - a) Dictionaries and Lists b) Files c) Databases - which works?

  • Things you can do with Databases - I  

    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.

  • Things you can do with Databases - II  

    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.

  • Interfacing with Databases from Python  

    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 works right out of the box  

    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.

  • Build a database of Stock Movements - I  

    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.

  • Build a database of Stock Movements - II  

    Build a database of Stock Movements - II

  • Build a database of Stock Movements - III  

    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.

An Object Oriented State of Mind
  • Objects are like puppies!  

    Before we start with the serious stuff, remember this - Objects, like puppies, are your best friends.

  • A class is a type of variable  

    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.

  • An Interface drives behaviour  

    Classes can inherit behaviour (member functions and member variables) from other classes. Runtime polymorphism and "is-a" inheritance are beautiful ideas.

Natural Language Processing and Python
  • Natural Language Processing with NLTK  

    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.

  • Natural Language Processing with NLTK - See it in action  

    We'll continue exploring NLTK and all the cool functionality it brings out of the box - tokenization, Parts-of-Speech tagging, stemming, stopwords removal etc

  • Web Scraping with BeautifulSoup c  

    Web Scraping is an integral part of NLP - its how you prepare the text data that you will actually process. Web Scraping can be a headache - but Beautiful Soup makes it elegant and intuitive.

  • A Serious NLP Application : Text Auto Summarization using Python  

    Auto-summarize newspaper articles from a website (Washington Post). We'll use NLP techniques to remove stopwords, tokenize text and sentences and compute term frequencies. The Python source code (with many comments) is attached as a resource.

  • Autosummarize News Articles - I  

    Code along with us in Python - we'll use NLTK to compute the frequencies of words in an article.

  • Autosummarize News Articles - II  

    Code along with us in Python - we'll use NLTK to compute the frequencies of words in an article and the importance of sentences in an article.

  • Autosummarize News Articles - III  

    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.

Machine Learning and Python
  • Machine Learning - Jump on the Bandwagon  

    Machine learning is quite the buzzword these days. While it's been around for a long time, today its applications are wide and far-reaching - from computer science to social science, quant trading and even genetics. From the outside, it seems like a very abstract science that is heavy on the math and tough to visualize. But it is not at all rocket science. Machine learning is like any other science - if you approach it from first principles and visualize what is happening, you will find that it is not that hard. So, let's get right into it, we will take an example and see what Machine learning is and why it is so useful.

  • Plunging In - Machine Learning Approaches to Spam Detection  

    Machine learning usually involves a lot of terms that sound really obscure. We'll see a real life implementation of a machine learning algorithm (Naive Bayes) and by end of it you should be able to speak some of the language of ML with confidence.

  • Spam Detection with Machine Learning Continued  

    We have gotten our feet wet and seen the implementation of one ML solution to spam detection - let's venture a little further and see some other ways to solve the same problem. We'll see how K-Nearest Neighbors and Support Vector machines can be used to solve spam detection.

    Spam Detection with Machine Learning Continued 

  • News Article Classification using K-Nearest Neighbors  

    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.

  • News Article Classification using Naive Bayes  

    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 - Scraping News Websites  

    Code along with us in Python - we'll use BeautifulSoup to build a corpus of news articles

  • Code Along - Feature Extraction from News articles  

    Code along with us in Python - we'll use NLTK to extract features from articles.

  • Code Along - Classification with K-Nearest Neighbours  

    Code along with us in Python - we'll use KNN algorithm to classify articles into Tech/NonTech

  • Code Along - Classification with Naive Bayes  

    Code along with us in Python - we'll use a Naive Bayes Classifier to classify articles into Tech/Non-Tech

  • Document Distance using TF-IDF  


    See how search engines compute the similarity between documents. We'll represent a document as a vector, weight it with TF-IDF and see how cosine similarity or euclidean distance can be used to compute the distance between two documents.

  • News Article Clustering with K-Means and TF-IDF  

    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 performK-Means clustering to identify 5 clusters of articles. The Python source code (with many comments) is attached as a resource.

  • Code Along - Clustering with K-Means  

    Code along with us in Python - We'll cluster articles downloaded from a blog using the KMeans algorithm.

Reviews (0)