-
Урок 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