Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Python Programming, CS, Algorithms and Data Structures
Introduction
Introduction (1:50)
(Bonus) Python e-book
Course structure and content overview (5:42)
Development environment setup
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)
(IMPORTANT) A note on quizzes and assessment tests
Strings: concatenation, indexing, slicing, python console (14:13)
String methods, functions and import statements (17:20)
Print formatting and special characters (13:28)
Numbers, math, type casting and input (16:47)
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)
Lists, dicts, sets and tuples - Intro to compound data types in Python (11:02)
Lists - an in-depth look 1 (12:06)
Lists - an in-depth look 2 (11:18)
Dictionaries, sets and tuples (18:23)
Iterators, for loops, generators, list comprehension (18:07)
Assessment test - Lists, dicts, tuples, sets and iteration
While loops, enumerate, zip (12:43)
Functions - an introductory look (13:01)
Functions - implementation step by step (14:51)
Functions - execution context, frames, mutable vs. immutable arguments in-depth (14:19)
Assessment test - Functions, data types, iterators
Classes and objects - an introductory look (9:29)
Building a custom Student class and intro to special methods (11:58)
Add some methods to the class (6:48)
Special methods and what they are (12:33)
Reading from and writing to files (12:22)
Add read functionality and utilize special and static methods (19:46)
Inheritance, subclasses and complete example class (14:46)
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)
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)
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)
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:56)
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)
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)
Build a custom linked list (15:50)
Recursively reverse a linked list (8:37)
Visualize Stacks and Queues, and their operations (11:56)
Introduction to Trees and Binary Search Trees (14:06)
In-order traversal of a Binary Search Tree (6:46)
Build a Binary Search Tree from scratch - Insert (13:07)
BST from scratch - In-order traversal (5:02)
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)
Classes and objects - an introductory look
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock