Python

Below is a list of video resources that I found useful while learning python programming. These resources are targeted towards Beginner to Intermediate level programmers. If you would like to add to this list go ahead and post it in the comment section below. Happy coding 🙂

Python Tutor
http://www.pythontutor.com  ( Free )

I highly recommend this tool to everybody, whether you are trying to  learn Python, Java, JavaScript, TypeScript, Ruby, C, or C++ .  It will help you visualize what the computer is doing step-by-step as it executes those programs.

Bucky Roberts
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_  ( Free )

If you are completely new to programming, Bucky Robert’s Tutorials are a good place to start. They are simple and easy to follow. Once you start feeling comfortable, you can move on to other resources.

Corey Schafer
https://www.youtube.com/playlist?list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU ( Free )
https://www.youtube.com/playlist?list=PL-osiE80TeTsnP0Nl1UDY8VZAlHu1m_MQ ( Free )

Corey has good videos on String Formatting, Generators, Comprehensions, Programming Terms [ Mutable vs Immutable, DRY, Memoization, Idempotence, Combinations and Permutations, String Interpolation, First Class Functions, Closures ] etc and he does a good job explaining the concepts.

Derek Banas
https://www.youtube.com/watch?v=N4mEzFDjqtA ( Free )

Derek Banas is a self taught programmer. He has a different teaching style, where he will make a video on particular programming language usually 45 -60 minutes in length that will cover 80% of what you need to know regarding that language.

Edx
MITx: 6.00.1x – Introduction to Computer Science and Programming Using Python
https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-6 ( Free )

This is one of the best course that I have taken so far, not only you will learn lots of python but also important computer science concepts such Algorithms, Recursion, Debugging, Assertions and Exceptions, Efficiency and Orders of Growth, Object Oriented Programming, Trees. This course is taught by MIT Professor Eric Grimson and covers the same material which is taught in class at MIT for course 6.00 – Introduction to Computation and Programming Using Python by John Guttag. However at edX they divided the original MIT 6.00 course into two parts. MITx: 6.00.1x and MITx:6.00.2x.

MITx: 6.00.2x – Introduction to Computational Thinking and Data Science
https://www.edx.org/course/introduction-computational-thinking-data-mitx-6-00-2x-3 ( Free )

This course builds on where MITx 6.00.1x left off. So, knowledge equivalent to 6.00.1x or some prior programming experience in Python and a rudimentary knowledge of computational complexity is required. This course is taught by John Guttag and topics covered are Plotting with the pylab package, Random walks, Probability, Distributions, Monte Carlo simulations, Curve fitting, Knapsack problem, Graphs and graph optimization, Machine learning basics, Clustering algorithms, Statistical fallacies

Codecademy
https://www.codecademy.com/learn/python ( Free )

They say it takes 10,000 hours of coding to become a good programmer. Whether that is True or Not, Codecademy is a good place to get practice on your newly acquired skills whether they are Python, Ruby, Html & CSS, Javascript, Ajax, JQuery etc.

Udacity
https://www.udacity.com/course/intro-to-computer-science–cs101 ( Free )

This course is taught by Dave Evans. He is a Professor of Computer Science at the University of Virginia where he teaches computer science and leads research in computer security. He is the author of an Introduction to Computing Explorations in Language, Logic, and Machines and has won Virginia’s highest award for university faculty. He has PhD, SM, and SB degrees from MIT.

https://www.udacity.com/course/programming-foundations-with-python–ud036 ( Free )

This course is taught by Kunal Chawla. He has a bachelor’s in computer science from the University of Texas at Austin and master’s in educational technology from Stanford University. In this course, you will learn how to use objected oriented programming to solve problems. Mastering Object-Oriented Programming will propel your career in tech forward, and it’s also a great way to learn how software engineers think about solving problems.

Udemy
https://www.udemy.com/automate/ ( Paid )

This course is taught by Al Sweigart. He is the author of book “Automate the Boring Stuff with Python Programming”. In this course he has good introductory videos on Regular Expressions, Files, Web Scraping, Excel, Word, and PDF Documents, Email, GUI Automation

https://www.udemy.com/complete-python-bootcamp/ ( Paid )

This course is instructed by Jose Portilla. He is working as a Data Scientist in the field. This course is targeted at programmers who have never programmed before, programmers switching languages to python, intermediate python programmers who want to level up their skills.

Team Tree House
https://teamtreehouse.com/library/topic:python ( Paid )

Majority of the Python videos are instructed by Kenneth Love. Below is a complete list of Team Tree House Python Library as of March 16, 2016.

  • Django ORM
  • CSV and JSON in Python
  • Python File I/O
  • Setting up local Python Environment ( Mac, Windows)
  • PyCharm Basics
  • Django Forms
  • Python Basics
  • Customizing Django Templates
  • Image Manipulation with Python
  • Functions in  Python
  • Tkinter
  • Django Basics
  • Python Decorators
  • Using the Requests Library
  • Python Comprehensions
  • Python Testing
  • Data Science Basics
  • Social Network with Flask
  • Databases in Python
  • Regular Expressions in Python
  • Functional Programming with Python
  • Flask Basics
  • Dates and Times in Python
  • Write Better Python
  • Object-Oriented Python
  • Python Collections
  • Customizing Django Admin
  • Flask REST API
  • Django REST Framework