From 0 to 1: Learn Python Programming - Easy as Pie
4.2 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,279 students enrolled
Wishlisted Wishlist

Please confirm that you want to add From 0 to 1: Learn Python Programming - Easy as Pie to your Wishlist.

Add to Wishlist

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

A Python course for absolute beginners - this will take you to a fairly serious early intermediate level.
4.2 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,279 students enrolled
Created by Loony Corn
Last updated 7/2016
English
Current price: $10 Original price: $50 Discount: 80% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 10.5 hours on-demand video
  • 1 Article
  • 42 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
Requirements
  • 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.
Description

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 :-)
Compare to Other Python Courses
Curriculum For This Course
55 Lectures
10:36:10
+
What is coding? - It's a lot like cooking!
4 Lectures 30:28

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.

Preview 02:51

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

Preview 07:36

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'

Anaconda and Pip
09:00

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.

Variables are like containers
11:01

Coding
3 questions
+
Don't Jump Through Hoops, Use Dictionaries, Lists and Loops
6 Lectures 41:21
A list is a list, as the name implies. Everything in life is a list, including strings
A List is a list
09:17

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

Fun with Lists!
08:44

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.

Dictionaries and If-Else
06:18

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

Don't Jump Through Hoops, Use Loops
04:26

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.
Doing stuff with loops
05:29

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

Everything in life is a list - Strings as lists
07:07

Lists, Dictionaries and Loops
6 questions
+
Our First Serious Program
4 Lectures 35:55

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

Modules are cool for code-reuse
02:31

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

Our first serious program : Downloading a webpage
17:48

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

A few details - Conditionals
07:48

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

A few details - Exception Handling in Python
07:48

Modules,Conditionals and Exception Handling
3 questions
+
Doing Stuff with Files
5 Lectures 01:01:49
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.
A File is like a barrel
11:21

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 with Python
09:15

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 - Download and Unzip
17:14

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 - Parsing CSV files
18:34

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

Autogenerating Spreadsheets with XLSXwriter
05:25

Files
5 questions
+
Functions are like Foodprocessors
5 Lectures 01:02:59

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

Functions are like Foodprocessors
10:58

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

Argument Passing in Functions
16:30

Implement a few functions in code.

Writing your first function
12:54

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
16:56

A demonstration of a recursive function.

Recursion in Action
05:41

Functions
6 questions
+
Databases - Data in rows and columns
9 Lectures 01:41:38

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

How would you implement a Bank ATM?
17:39

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 - I
20:06

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.

Things you can do with Databases - II
08:12

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.

Interfacing with Databases from Python
06:46

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.

SQLite works right out of the box
06:27

Manually downloading the zip files required
00:17

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 - I
15:01

Build a database of Stock Movements - II
13:48

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 - III
13:22

Databases
5 questions
+
An Object Oriented State of Mind
3 Lectures 34:56
Before we start with the serious stuff, remember this - Objects, like puppies, are your best friends.
Objects are like puppies!
03:45

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.

A class is a type of variable
17:31

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

An Interface drives behaviour
13:40

OOPS
4 questions
+
Natural Language Processing and Python
7 Lectures 01:32:13

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
07:26

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
Natural Language Processing with NLTK - See it in action
14:14

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.
Web Scraping with BeautifulSoup
18:09

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.
A Serious NLP Application : Text Auto Summarization using Python
12:00

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

Autosummarize News Articles - I
18:33

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 - II
11:28

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.

Autosummarize News Articles - III
10:23

NLP
2 questions
+
Machine Learning and Python
12 Lectures 02:54:52
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.
Machine Learning - Jump on the Bandwagon
16:31

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.
Plunging In - Machine Learning Approaches to Spam Detection
17:30

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
19:04

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 K-Nearest Neighbors
20:00

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.

News Article Classification using Naive Bayes
19:47

Code along with us in Python - we'll use BeautifulSoup to build a corpus of news articles
Code Along - Scraping News Websites
18:51

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

Code Along - Feature Extraction from News articles
15:45

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

Code Along - Classification with K-Nearest Neighbours
04:15

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

Code Along - Classification with Naive Bayes
08:08

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.
Document Distance using TF-IDF
11:22

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.

News Article Clustering with K-Means and TF-IDF
15:07

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

Code Along - Clustering with K-Means
08:32

Machine Learning
7 questions
About the Instructor
Loony Corn
4.3 Average rating
5,464 Reviews
42,636 Students
75 Courses
An ex-Google, Stanford and Flipkart team

Loonycorn is us, Janani Ravi and Vitthal Srinivasan. Between us, we have studied at Stanford, been admitted to IIM Ahmedabad and have spent years  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

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 :-)