# Learn to Program Videos

In my Learn to Program series I taught programming through problem solving. Every video contained 3 or more problems of increasing complexity and the goal was to slowly turn an amateur into a pretty good programmer. Here is over 20 hours of content that will turn you into a pretty good programmer. I thought it would be a good idea to put all of those videos in one article. The language I used was Python and after 26 videos I then covered TkInter and Kivy GUI development.I hope these videos help new programers reach their goals.

If you like videos like this consider donating \$1 on Patreon.

Learn to Program : I cover receiving input, printing to the screen, doing math, comparison operators, logical operators, if, elif, else and a whole lot more.

Learn to Program 2 : We’ll cover for, range, floats, order of operations, while, break, continue and more.

Learn to Program 3 : We will cover Exception Handling, Do While Loops, the Math Module, the Decimal Module, Strings, and a whole lot more.

Learn to Program 4 : We’ll do more with exceptions. We’ll start to explore lists. We’ll create our first function. And, we’ll create an acronym generator and explore the basics of encryption.

Learn to Program 5 : We’ll see what local and global variables are. We’ll solve algebraic equations. We’ll learn how to pass and return an unknown number of values into and out of functions. We’ll generate prime numbers. And, we’ll see how to create small functions that make our code easier to understand.

Learn to Program 6 : We cover one of the most important topics which is lists.We’ll look at numerous list functions, how to sort lists with the Bubble Sort, List Comprehensions, simple Debugging and much more.

Learn to Program 7 : We will look at Dictionaries and one of the most confusing topics in programming being Recursive Functions. A Recursive Function is a function that calls for itself to execute. We’ll generate Factorials and Fibonacci numbers with recursive functions to help make them make more sense.

Learn to Program 8 : This time we’ll cover how to read and write files. I’ll answer a question I received about recursive functions. We’ll investigate what a Tuple is. And, of course we’ll work our way through problems so we can get better at solving programming problems.

Learn to Program 9 : We learn about Classes, Objects, Self, __init__, Getters, Setters, Properties, and then create 2 warriors that fight to the death. It is the beginning knowledge we will eventually use to make awesome games.

Learn to Program 10 : I’ll cover Inheritance, Operator Overloading, Polymorphism and Magic Methods, which are super awesome!

Learn to Program 11 : I’ll cover many questions I received about Static, Custom Modules, From, Exception Handling, Custom Exceptions, and much more. We will also have some problems to solve to improve our problem solving ability.

Learn to Program 12 : How to pass and return functions in other functions. We’ll dynamically create functions. Then we’ll cover Lambdas, Map, Filter, Reduce and Function Annotations. Of course, there will be a bunch of problems for you solve along with the solutions.

Learn to Program 13 : We’ll look at Iterables, List Comprehensions, Generator Functions and Generator Expressions. List Comprehensions have the power of Map and Filter all in one place.

Learn to Program 14 : We’ll focus 100% on threads. We’ll learn about sleep(), strftime(), the Threading Module, Creating Threads, activeCount(), enumerate(), Subclassing Threads, run(), start(), is_alive(), getName(), setName(), join(), Synchronizing Threads, acquire(), release(), Lock() and more.

Learn to Program 15 : In this video I start teaching about Regular Expressions. Regular expressions allow you to locate and change strings in very powerful ways. The awesome thing about them is they work in almost exactly the same way in every programming language. We’ll learn to match strings, return all matches, and use ., [ ], [^ ], compile, substitute, \d, \D, \w, \W, \s, \S, +, { }, and much more.

Learn to Program 16 : In this video we’ll continue learning about regular expressions. We’ll cover +, *, Greedy Matching, Lazy Matching, \b, String Boundaries ^ and \$, (?m), Subexpressions and we’ll solve a bunch of problems.

Learn to Program 17 : In this part of my tutorial I continue covering Regular Expressions. We’ll look at Back References, Back Reference Substitutions, Look Ahead, Look Behind, and Negative Look Ahead & Behind. These are thought to be confusing and I hope to clear them up.

Learn to Program 18 : In this part of my Learn to Program series I finish my coverage of Regular Expressions. We’ll look at Or, Group, Named Groups, More Match Object Functions and then we’ll solve some problems.

Learn to Program 19 : I will show how to use SQLite with Python. We’ll cover connect(), cursor(), execute(), commit(), rollback(), fetchall(), fetchone(), Select, Data Types, Create, Insert, Update, Delete, Alter, Backing up the Database and more.

Learn to Program 20 : I’ll start a multi-part tutorial on developing GUI interfaces with TkInter and Python. We’ll look at root, Ttk, Button, Entry, Label, Frame, Checkbutton, TkInter Event Handling, mainLoop(), StringVar, the Pack Geometry Manager, the Grid Geometry Manager and more.

Learn to Program 21 : We continue to learn about how to use TkInter to create GUI interfaces with Python. We’ll learn about Tk Variables, Unbind, Styling Widgets, Menu Bars, Keyboard Shortcuts and a whole lot more.

Learn to Program 22 : In this part of the Learn to Program series we make a working calculator from start to finish in one video. We create a Use Case Description to figure out exactly what must occur in the program step-by-step. We then create a calculator object, convert the use case into code, create the GUI interface using TkInter and end with homework you should solve to improve your programming abilities.

Learn to Program 23 : In part 21 of my Learn to Program series I made all of the parts of a simple text editor except for the part where you enter text! So, in this video we’ll create a dialog for opening files, create a dialog for saving files, add a text widget with a scrollbar widget, add a menu for review and much more.

Learn to Program 24 : In this part of my Learn to Program tutorial I’ll cover many of the TkInter widgets I haven’t covered before. We’ll explore PIL, Importing Images, Toolbars, List Boxes, Label Frames, Spin Boxes and much more.

Learn to Program 25 : In the final part of my TkInter tutorial I make a complete Python Paint app in one video. We’ll make a Python paint app, cover TkInter canvas, catching mouse events, and drawing with a pencil, lines, arcs, ovals, rectangles, text and much more.

Learn to Program 26 : Many people requested I make one more TkInter tutorial in which I connect a TkInter interface to a database so here it is. This tutorial is also for people that ask me to make an entire application in one video. I walk through the whole thinking process from start to finish.

Kivy Tutorial : Kivy is a graphical user interface Python library that allows you to develop multiplatform applications on Windows, MacOS, Android, iOS, Linux, and Raspberry Pi. What is better is that it performs better then HTML5 cross platform alternatives. Here I’ll show how to install it on both MacOS and Windows. We will also make a few sample apps to make sure everything works.

Kivy Tutorial 2 : We’ll explore much of what we need to know before we start making apps in the next video. We’ll cover creating custom widgets, setting default attributes, and 6 layouts being : Absolute Positioning, Floating Layout, Grid Layout, Box Layout, Stack Layout, and Page Layout.

Kivy Tutorial 3 : We’ll create a working calculator app in one video. We’ll cover how to use layouts inside of other layouts, event handling, TextInput, executing code based on widget events, and much more.

Kivy Tutorial 4 : We’ll make an interface for a student database and a toolbar. We’ll look at how ListViews, ListAdapters and much more work. By the end you’ll be able to take what we learned in part 26 of my learn to program series and have a working database app with Kivy.

Kivy Tutorial 5 : In this part of my Kivy tutorial I cover pretty much every widget I haven’t covered in the last few videos. We’ll explore the Checkbox, Radio Buttons, Switch, Popups, Spinner, Tabbed Panels, Slidder, How to Switch Screens and much more. We also explore how events work with all of these Widgets.