Урок 1.00:01:51
Introduction
Урок 2.00:05:43
Course structure and content overview
Урок 3.00:05:56
Section intro and overview
Урок 4.00:06:00
Download and install Python
Урок 5.00:13:39
Setup Atom as text editor (setup used in this course)
Урок 6.00:16:59
Exploring Jupyter Notebooks interface (optional)
Урок 7.00:07:52
Section intro and overview
Урок 8.00:06:28
Command line/Terminal basics
Урок 9.00:10:32
Strings, variables, top down execution flow
Урок 10.00:14:14
Strings: concatenation, indexing, slicing, python console
Урок 11.00:17:21
String methods, functions and import statements
Урок 12.00:13:29
Print formatting and special characters
Урок 13.00:16:48
Numbers, math, type casting and input
Урок 14.00:12:17
Introduction to branching (if, elif, else) and conditionals
Урок 15.00:12:55
Building if, elif, else blocks incrementally
Урок 16.00:11:03
Lists, dicts, sets and tuples - Intro to compound data types in Python
Урок 17.00:12:07
Lists - an in-depth look 1
Урок 18.00:11:19
Lists - an in-depth look 2
Урок 19.00:18:24
Dictionaries, sets and tuples
Урок 20.00:18:08
Iterators, for loops, generators, list comprehension
Урок 21.00:12:44
While loops, enumerate, zip
Урок 22.00:13:02
Functions - an introductory look
Урок 23.00:14:52
Functions - implementation step by step
Урок 24.00:14:20
Functions - execution context, frames, mutable vs. immutable arguments in-depth
Урок 25.00:09:30
Classes and objects - an introductory look
Урок 26.00:11:59
Building a custom Student class and intro to special methods
Урок 27.00:06:49
Add some methods to the class
Урок 28.00:12:34
Special methods and what they are
Урок 29.00:12:23
Reading from and writing to files
Урок 30.00:19:47
Add read functionality and utilize special and static methods
Урок 31.00:14:47
Inheritance, subclasses and complete example class
Урок 32.00:10:39
Lambda expressions and map function
Урок 33.00:06:42
Generators - under the hood
Урок 34.00:10:06
Build your own generators using yield
Урок 35.00:01:18
Introduction to section 4 and overview of the material covered in it
Урок 36.00:05:40
Bubble sort demonstration and complexity analysis
Урок 37.00:16:40
Bubble sort implementation
Урок 38.00:09:11
Selection sort demonstration and complexity analysis
Урок 39.00:13:02
Selection sort implementation
Урок 40.00:05:23
Insertion sort demonstration and assignment handoff
Урок 41.00:02:21
Insertion sort programmatic execution step by step
Урок 42.00:10:11
Performance measures - deep dive with a programmatic view
Урок 43.00:02:08
O(nlog(n)) performance and algorithm prerequisites
Урок 44.00:11:54
Analyze log(n), visualize the math behind it and how it relates to algorithms
Урок 45.00:13:36
Merge sort visualization and complexity analysis
Урок 46.00:06:32
Implement merge function - part 1
Урок 47.00:06:51
Implement merge function - part 2
Урок 48.00:05:00
Implement merge function - part 3
Урок 49.00:05:50
A look at the recursive divide function
Урок 50.00:11:48
In-depth look at execution context of recursive divide function
Урок 51.00:05:48
Recursion mini-project 1 - Countdown timer
Урок 52.00:06:46
Recursion mini-project 2 - Factorial
Урок 53.00:07:21
Recursion mini-project 3 - Fibonacci series
Урок 54.00:07:27
Complete merge sort algorithm and analyze updated execution context
Урок 55.00:05:09
Quicksort demo
Урок 56.00:07:29
Quicksort implementation
Урок 57.00:01:08
Section final project objective and motivation
Урок 58.00:04:16
Project specs and runtime execution intro
Урок 59.00:06:43
Project phase 1: Build random int list generator
Урок 60.00:02:50
Project phase 2: Get input from user for size and range
Урок 61.00:07:36
Project phase 3: Add functions, calculate and analyze runtime
Урок 62.00:09:49
Project phase 4: Extract redundancies, create function and cleanup code
Урок 63.00:05:38
Project phase 5: Add multiple run functionality and perform additional testing
Урок 64.00:01:11
Introduction to section 5
Урок 65.00:05:57
Intro to search - Linear, Bisection/Binary search
Урок 66.00:14:28
Bisection/Binary search - Iterative implementation
Урок 67.00:09:20
Bisection search - recursive implementation
Урок 68.00:05:21
Project handoff: Bringing it together
Урок 69.00:06:42
Project conclusion walkthrough
Урок 70.00:07:59
Hashmaps and O(1) search complexity
Урок 71.00:06:48
Hash project 1: Define and set up class blueprint with __init__ and __str__
Урок 72.00:07:57
Hash project 2: Set up insert and hashing functionality for data structure
Урок 73.00:09:18
Hash project 3: Add update functionality
Урок 74.00:05:51
Hash project 4: Build search method
Урок 75.00:06:08
Project: Use hash structure in a practical exercise - Quote finder
Урок 76.00:08:50
Project: Complete quote finder using hash table
Урок 77.00:10:40
Intro to linear data structures - Linked Lists
Урок 78.00:15:51
Build a custom linked list
Урок 79.00:08:38
Recursively reverse a linked list
Урок 80.00:11:57
Visualize Stacks and Queues, and their operations
Урок 81.00:14:07
Introduction to Trees and Binary Search Trees
Урок 82.00:06:47
In-order traversal of a Binary Search Tree
Урок 83.00:13:08
Build a Binary Search Tree from scratch - Insert
Урок 84.00:05:03
BST from scratch - In-order traversal
Урок 85.00:05:17
BST from scratch - Search
Урок 86.00:06:59
BST from scratch - Delete demo
Урок 87.00:13:11
BST - Deleting leaf nodes
Урок 88.00:08:45
BST - Deleting nodes with 1 child node
Урок 89.00:12:28
BST - Deleting nodes with 2 children
Урок 90.00:07:09
Project: Job Scheduler using Binary Search Trees - Introduction
Урок 91.00:08:58
Project: Job Scheduler execution flow
Урок 92.00:10:46
Project: Job Scheduler implementation tips and notes
Урок 93.00:03:04
Thank you for taking the course and next steps