Getting Started
  • Introduction
  • What is Python?
  • Join our Online Learning Community
  • Setting Up Python
  • Running Python 3 as a Default (on macOS)
  • Writing our First Python Code
  • What is the Blockchain?
  • Course Outline
  • Python Alternatives
  • Understanding the Python Versions
  • How To Get The Most Out Of This Course
  • Useful Resources & Links
Diving Into the Basics of Python
  • Module Introduction
  • Understanding the REPL and Data Types
  • Working with Variables
  • Working with Numbers
  • Using Operators
  • Understanding a "Special" Behaviour when Working with Numbers
  • Working with Strings
  • Working with Lists
  • Adding & Removing List Items
  • Preparing the Blockchain - The Theory
  • Installing our IDE
  • Using Functions to Add List Items
  • Blockchain Theory: Understanding Blocks
  • Accessing the Last List Item
  • Adding Arguments to Functions
  • Understanding the "return" Keyword
  • Using Default Arguments
  • Working with Keyword Arguments
  • Using the "input" Function
  • Avoiding Repetitive Code Execution
  • Understanding the Variable Scope
  • Exploring the Official Documentation
  • Adding Comments and Doc Strings
  • Structuring Multi Line Code in Python
  • Time to Practice - The Basics
  • Wrap Up
  • Useful Resources & Links
Working with Loops & Conditionals
  • Module Introduction
  • Understanding Loops - Theory
  • Creating a "for" Loop
  • Creating a "while" Loop
  • Closing the REPL
  • Understanding Conditionals - Theory
  • Adding "if-else" to our Blockchain
  • Working with "elif"
  • Understanding "break" & "continue"
  • Improving our Code with Loops & Conditionals
  • Understanding Boolean Operators - "is" & "in"
  • The "not" Keyword
  • Understanding "and" and "or"
  • Grouping Conditionals
  • What About "switch" in Python?
  • Verifying our Blockchain
  • Blockchain Theory: Understanding Blockchain Verification
  • Using Conditions inside the "while" Loop
  • Using "else" in Loops
  • Adding the "range" Function
  • Time to Practice - Loops & Conditionals
  • Wrap Up
  • Useful Resources & Links
Understanding Complex Data Structures
  • Module Introduction
  • Understanding the Required Data Structure for our Blockchain
  • Working with Iterables
  • Choosing the Right Datastructure
  • Transactions with Dictionaries & Tuples
  • Blockchain Theory: Understanding Transactions
  • Unpacking the Tuple
  • Mining Blocks
  • Hashing Previous Blocks
  • Understanding List Comprehensions
  • And What are Dict Comprehensions?
  • Combining List Comprehensions & "if"
  • Improving the Blockchain Validation Logic
  • Managing a List of Participants in the Blockchain
  • Calculating Balances
  • Rewarding the Miners of our Blockchain
  • Verifying Transactions
  • Understanding Reference vs Value Copying
  • Working with the Range Selector
  • Understanding Shallow vs Deep Copies
  • Comparing "is" & "=="
  • Diving Deeper Into Iterable Methods
  • Understanding the "all" & "any" Functions
  • Comparing Iterables
  • Time to Practice - Complex Datastructures
  • Wrap Up
  • Useful Resources & Links
Working with Functions & Strings
  • Module Introduction
  • Comparing Strings & Lists
  • Understanding the "format" Method
  • Escaping Characters
  • Formatting Strings Conveniently with "f"
  • Adding String Formatting to our Project