Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Welcome to Python 3: Project-based Python, Algorithms, Data Structures
Training Overview
Description of Training
Video Overview (1:24)
Introduction
Introduction (1:50)
Live help, office hours and Python e-book
Course structure and content overview (5:42)
Development environment setup
[IMPORTANT] - Note to beginners, please don't skip this
Section intro and overview (5:55)
Command line basics cheat sheet
Download and install Python (5:59)
Setup Atom as text editor (setup used in this course) (13:38)
Exploring Jupyter Notebooks interface (optional) (16:58)
Python in-depth
Section intro and overview (7:51)
Command line / Terminal basics (6:27)
Strings, variables, top down execution flow (10:31)
Quiz - Strings basics - I
Coding Exercise 1: Let's get started!
(IMPORTANT) A note on quizzes, coding exercises and assessment tests
Strings concatenation, indexing, slicing, python console (14:13)
Quiz - Strings basics - II
String methods, functions and import statements (17:20)
Quiz - Strings basics - III
Coding Exercise 2: Strings basics exercise
Print formatting and special characters (13:28)
Quiz - Print formatting basics
Numbers, math, type casting and input (16:47)
Quiz - Math fun
Coding Exercise 3: Numbers practice
Assessment test - Python basics: Text, numbers and print formatting
Introduction to branching (if, elif, else) and conditionals (12:16)
Building if, elif, else blocks incrementally (12:54)
Coding Exercise 4: Branching practice
Lists, dicts, sets and tuples - Intro to compound data types in Python (11:02)
Quiz - Compound data types
Lists - an in-depth look 1 (12:06)
Quiz - Lists 1
Coding Exercise 5: Lists practice
Lists - an in-depth look 2 (11:18)
Quiz - Lists 2
Coding Exercise 6: More lists practice
Dictionaries, sets and tuples (18:23)
Quiz - Compound data types
Coding Exercise 7: Dictionaries practice
Coding Exercise 8: Sets and Tuples practice
Iterators, for loops, generators, list comprehension (18:07)
Quiz - For loops, generators and list comprehension
Assessment test - Lists, dicts, tuples, sets and iteration
While loops, enumerate, zip (12:43)
Quiz - While loops and more generators
Functions - an introductory look (13:01)
Coding Exercise 9: Function basics - 1
Functions - implementation step by step (14:51)
Quiz - Functions
Coding Exercise 11: Functions warm-up
Coding Exercise 12: (Challenge exercise) Function and logic practice
Functions - execution context, frames, mutable vs. immutable arguments in-depth (14:19)
Classes and objects - an introductory look (9:29)
Quiz - Classes intro
Building a custom Student class and intro to special methods (11:58)
Quiz - Custom object intro
Add some methods to the class (6:48)
Special methods and what they are (12:33)
Quiz - Special methods
Reading from and writing to files (12:22)
Quiz - Read/write ops
Add read functionality and utilize special and static methods (19:46)
Inheritance, subclasses and complete example class (14:46)
Coding Exercise 13: Classes practice
Bonus Python specific content (Optional)
Python specifics - Lambda expressions
Lambda expressions and map function (10:38)
Coding Exercise 14: Lambda expressions coding practice
Generators - under the hood (6:40)
Build your own generators using yield (10:05)
Algorithms - Sort, performance, complexity and big O notation
Introduction to section 4 and overview of the material covered in it (1:17)
Bubble sort demonstration and complexity analysis (5:39)
Bubble sort implementation (16:39)
Selection sort demonstration and complexity analysis (9:10)
Selection sort implementation (13:01)
Quiz - Complexity quiz
Insertion sort demonstration and assignment handoff (5:22)
Insertion sort programmatic execution step by step (2:20)
Performance measures - deep dive with a programmatic view (10:10)
Quiz - Performance measure - calculation
O(nlog(n)) performance and algorithm prerequisites (2:07)
Analyze log(n), visualize the math behind it and how it relates to algorithms (11:53)
Merge sort visualization and complexity analysis (13:35)
Implement merge function - part 1 (6:31)
Implement merge function - part 2 (6:50)
Implement merge function - part 3 (4:59)
A look at the recursive divide function (5:49)
In-depth look at execution context of recursive divide function (11:47)
Recursion mini-project 1 - Countdown timer (5:47)
Recursion mini-project 2 - Factorial (6:45)
Recursion mini-project 3 - Fibonacci series (7:20)
Complete merge sort algorithm and analyze updated execution context (7:26)
Quiz - Algorithm complexity
Quicksort demo (5:08)
Quicksort implementation (7:28)
Section final project objective and motivation (1:07)
Project specs and runtime execution intro (4:15)
Project phase 1: Build random int list generator (6:42)
Project phase 2: Get input from user for size and range (2:49)
Project phase 3: Add functions, calculate and analyze runtime (7:35)
Project phase 4: Extract redundancies, create function and cleanup code (9:48)
Project phase 5: Add multiple run functionality and perform additional testing (5:37)
Algorithms - Search and abstract data structures
Introduction to section 5 (1:10)
Intro to search - Linear, Bisection/Binary search (5:55)
Quiz - Search
Bisection/Binary search - Iterative implementation (14:27)
Bisection search - recursive implementation (9:19)
Project handoff: Bringing it together (5:20)
Project conclusion walkthrough (6:41)
Hashmaps and O(1) search complexity (7:58)
Quiz - Operation complexity
Hash project 1: Define and set up class blueprint with __init__ and __str__ (6:47)
Hash project 2: Set up insert and hashing functionality for data structure (7:56)
Hash project 3: Add update functionality (9:17)
Hash project 4: Build search method (5:50)
Project: Use hash structure in a practical exercise - Quote finder (6:07)
Project: Complete quote finder using hash table (8:49)
Intro to linear data structures - Linked Lists (10:39)
Quiz - Linked list
Build a custom linked list (15:50)
Recursively reverse a linked list (8:37)
Visualize Stacks and Queues, and their operations (11:56)
Quiz - Stacks and Queues
Introduction to Trees and Binary Search Trees (14:06)
Quiz - Trees
In-order traversal of a Binary Search Tree (6:46)
Quiz - Traversal order
Build a Binary Search Tree from scratch - Insert (13:07)
BST from scratch - In-order traversal (5:02)
Quiz - Traversal implementation
BST from scratch - Search (5:16)
BST from scratch - Delete demo (6:58)
BST - Deleting leaf nodes (13:10)
BST - Deleting nodes with 1 child node (8:44)
BST - Deleting nodes with 2 children (12:27)
Project: Job Scheduler using Binary Search Trees - Introduction (7:08)
Project: Job Scheduler execution flow (8:57)
Project: Job Scheduler implementation tips and notes (10:44)
Thank you for taking the course and next steps (3:03)
Merge sort visualization and complexity analysis
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock