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.3 (66 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.
1,484 students enrolled
$19
$50
62% off
Take This Course
  • Lectures 55
  • Length 10.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2015 English

Course Description

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

Talk to us!

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.

Mail us about anything - anything! - and we will always reply :-)

What are the 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.

What am I going to get from this course?

  • 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

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

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: What is coding? - It's a lot like cooking!
02:51

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.

07:36

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

11:01

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.

09:00

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
3 questions
Section 2: Don't Jump Through Hoops, Use Dictionaries, Lists and Loops
09:17
A list is a list, as the name implies. Everything in life is a list, including strings
08:44

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

06:18

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.

04:26

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

05:29
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.
07:07

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

Lists, Dictionaries and Loops
6 questions
Section 3: Our First Serious Program
02:31

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

17:48

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

07:48

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

07:48

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

Modules,Conditionals and Exception Handling
3 questions
Section 4: Doing Stuff with Files
11:21
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.
09:15

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.

17:14

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.


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

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

Files
5 questions
Section 5: Functions are like Foodprocessors
10:58

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

16:30

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

12:54

Implement a few functions in code.

16:56
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.
05:41

A demonstration of a recursive function.

Functions
6 questions
Section 6: Databases - Data in rows and columns
17:39

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

20:06

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.

08:12

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.

06:46

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.

06:27

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.

Manually downloading the zip files required
Article
15:01

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
13:48
13:22
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.
Databases
5 questions
Section 7: An Object Oriented State of Mind
03:45
Before we start with the serious stuff, remember this - Objects, like puppies, are your best friends.
17:31

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.

13:40

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

OOPS
4 questions
Section 8: Natural Language Processing and Python
07:26

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.

14:14
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
18:09
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.
12:00
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.
18:33

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

11:28
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.
10:23

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.

NLP
2 questions
Section 9: Machine Learning and Python
16:31
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.
17:30
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.
19:04
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.
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 K-Nearest Neighbours algorithm to classify a test instance as Tech/NonTech. The Python source code (with many comments) is attached as a resource.

19:47

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.

18:51
Code along with us in Python - we'll use BeautifulSoup to build a corpus of news articles
15:45

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

04:15

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

08:08

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

11:22
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.
15:07

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.

08:32

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

Machine Learning
7 questions

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Loony Corn, A 4-person team;ex-Google; Stanford, IIM Ahmedabad, IIT

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

Ready to start learning?
Take This Course