Python Data Structure Course
Python Algorithm/Data Structure Video Course
This is a video course (with over 12 hours of video) to teach you Python, and then Algorithms and Data Structures. I assume that you have already learned basic programming in C++, Java, or Javascript.
The videos in this course correspond to the free textbook Problem Solving with Algorithms and Data Structures using Python) By Brad Miller and David Ranum, Luther College
You will learn Python in the first part of the course. We then move on to a complete course in data structures and algorithm as expected in a University level course.
You will also become better problem solvers stepping though the use of techniques in algorithms and data structures to solve many classic problems. I also recommend learning problem solving by work on problems at the a good problem oriented website like codewars.com (note using this link also gains me points with codewars)
The table of content list below shows the video title on the right, which is a link to the youtube video. On the left is a link to the book content close to what the video is refering to.
Rune: If you are being taught a univercity, you should make sure you signed in to runestone.academy PYTHONDS3 course so your teacher can track your progress. If you are not in a class with a teacher, you are free to just browse the book.
na: Some videos have extra material that I created and do not associate with the book material. The have na indicating threre is no link.
You can play video first and then reference the eBook, or read the eBook and then play the videos depending on how it best works for you.
If you like my style of teaching, please subscribe to my YouTube Channel: YouTube/gjenkinslbcc.
I retired recently and taught college level CS course using these videos and eBook for several years just before I retired. I now make them available and create more teaching videos.
Enjoy – Professor Gerry Jenkins
I made these videos a few years ago, If you would like to see any improvements or additions as a student, please email me detailed feedback or suggestions to gjenkinsedu@gmail.com. Also tell me any problems with the videos so I can correct them.
Table Of Contents
Chapter: Introducion
book Video
na Install Python & PyCharm, Hello Project
Rune Introduction 1 | why study data structures and algorithms
Rune Introduction 2 | why study data structures and algorithms
na Introduction 3 | Four ways to run python
Rune Introduction 4 | atomic types, ops, variables
Rune Introduction 5 | Start of Lists
Rune Introduction 6 | List methods, add method, & range
Rune Introduction 7 | Strings
Rune Introduction 8 | tuples and sets
Rune Introduction 9 | Dictionaries
Rune Introduction 10 | input, more about print function
Rune Introduction 11 | Formatting
Rune Introduction 12 | Control Structures in Python
Rune Introduction 13 | Exceptions
Rune Introduction 14 | Functions
Rune Introduction 15 | OOP-Fraction 1
Rune Introduction 16 | Fraction 2
Rune Introduction 17 | Fraction 3
na Introduction 18 | iPython and inheritance
na Introduction 19 | Inheritance 2
na Introduction 20 | Has-A and Polymorphism
Chapter: Analysis
book Video
Rune Analysis 1 | Big-O
Rune Analysis 2 | Big-O 2
Rune Analysis 3 | Anagrams Example 1
Rune Analysis 4 | Anagrams Example 2
Rune Analysis 5 | Timeit 1
na Analysis 6 | timeit 2
Rune Analysis 7 | Timing in List and Dict
Chapter: Linear Data Structures
book Video
Rune Linear Data Structures 1 | Stacks
Rune Linear Data Structures 2 | Stack: implementation
Rune Linear Data Structures 3 | Stack: Parentheses
Rune Linear Data Structures 4 | Stack: binary & hex converter
Rune Linear Data Structures 5 | infix to postfix 1
Rune Linear Data Structures 6 | infix to postfix 2
Rune Linear Data Structures 7 | queue and deque 1
Rune Linear Data Structures 8 | queue and deque 2
Rune Linear Data Structures 9 | queue and deque 3
Rune Linear Data Structures 10 | Lists 1
Rune Linear Data Structures 11 | Lists 2
Rune Linear Data Structures 12 | Lists 3
Chapter: Recursion
book Video
Rune Recursion 1 | Basics 1
Rune Recursion 2 | Basics 2
Rune Recursion 3 | Stack Frames
Rune Recursion 4 | turtle graphics 1
Rune Recursion 5 | turtle graphics 2
Rune Recursion 6 | Siepinski Triangle
Rune Recursion 8 | Maze
Rune Recursion 9 | Min Coins - Dynamic Programming 1
Rune Recursion 10 | Min Coin - Dynamic Programming 2
Chapter: Search/Sort
book Video
Rune Search/Sort 1 | Sequential and binary Search 1
Rune Search/Sort 2 | Sequential and binary Search 2
Rune Search/Sort 3 | Hash tables 1
Rune Search/Sort 4 | Hash tables 2
Rune Search/Sort 5 | Hash tables 3
Rune Search/Sort 6 | bubble sort
Rune Search/Sort 7 | selection sort
Rune Search/Sort 8 | insertion sort
Rune Search/Sort 9 | shell sort
Rune Search/Sort 10 | merge sort
Rune Search/Sort 11 | quick sort
Chapter: Trees
book Video
Rune Trees 1 | Introduction and definitions
Rune Trees 2 | Tree Code Implementations
Rune Trees 3 | parse code 1
Rune Trees 4 | parse code 2
Rune Trees 5 | Traverse tree 1
Rune Trees 6 | Traverse Tree 2
Rune Trees 7 | Priority Queue - Binary Heap 1
Rune Trees 8 | Priority Queue - Binary Heap 2
Rune Trees 9 | Priority Queue - Binary Heap 3
Rune Trees 10 | Priority Queue - Binary Heap 4
Rune Trees 11 | Binary Search Trees 1
Rune Trees 12 | Binary Search Trees 2
Rune Trees 13 | Binary Search Trees 3
Rune Trees 14 | Binary Search Tree 4
Rune Trees 15 | Binary Search Tree 5
Rune Trees 16 | Binary Search Trees 6
Rune Trees 17 | Binary Search Trees 7
Rune Trees 18 | AVL Trees 1
Rune Trees 19 | AVL Trees 2
Rune Trees 20 | AVL Trees 3
Chapter: Graphs
book Video
Rune Graphs 1 | Intro and Terms
Rune Graphs 2 | Math and ADT
Rune Graphs 3 | Implementation choices
Rune Graphs 4 | Implementation Graph Python Code