- 1. What is programming?
- 2. Overview of Python
- 3. Python installation
- 4. IDE Installation (VSCode)
- 5.
print()
- 6.
input()
- 7. Quiz: Introduction to Programming
- 8. Homework
- 1. (
int
andfloat
) - 2. Math operations
- 3. (
str
andbool
) - 4. Converting data types
- 5. Quiz
- 6. Homework
- 1. Relational Operators
- 2. Logical Operators (
if/elif/else
) - 3. Nested Logical Operators
- 4. Strings
- 5. Quiz
- 6. Homework
- 1. Strings in the PC memory (encodings, ascii/unicode),
ord()
,chr()
- 3. Slicing
- 4. Methods of Strings
- 5. Introduction to loops
- 6. Quiz
- 7. Homework
- 1 Mutable and Immutable data types
- 2. Introduction to
list
- 3. Functions (
len()
,sum()
,min()
,max()
,sorted()
) - 4. Methods of Lists
- 5. General methods of Iterations
- 6. Copying lists
- 8.
join()
andsplit()
- 9. Quiz
- 10. Homework
- Example
- 1. Introduction to Sets
- 2. Methods of
sets
- 3.
Set
Comprehensions - 4.
frozenset()
Overview - 5. Quiz
- 6. Homework
- Example
- 1. Introduction to Functions
- 2. Parameters and Arguments
- 3. Positional vs Key Arguments
- 4. Scopes
- 5. Return
- 6. Optional Parameters
- 7.
Args
andKwargs
- 8. Argument Ordering
- 9. Quiz
- 10. Homework
- 1 Introduction
- 2 The
try
&except
Block - 3 The
else
Block - 4 The
finally
Block - 5 Raising Exceptions
- 6 Exception Chaining
- 7. Quiz
- 8. Homework
- 1. Introduction
- 2. Creating a Module
- 3.
import
,from
, andas
- 4.
if __name__ == "__main__"
- 5. Packages
- 6.
venv
- 7.
requests
- 8.
Pillow
- 9. Choose your direction
- 10. Homework
- 1 What is a File?
- 2. Working with Files
- 3. Exception Handling
- 4 Full/Relative Paths
- 5. Context Manager
with
- 6 Working with Files of Different Formats
- 7. Quiz
- 8. Homework
- 1. Revision of Functions
- 2. Programming Principles(KIS, DRY, YAGNI)
- 3. Function pointers
- 4. Higher Order Functions
- 5. Closures
- 6. Decorators
- 7. Lambda Functions
- 8. Function Composition
- 9. Currying
- 10. Recursion
- 11. Function Memoization
- 12. Quiz
- 13. Homework
- 1. Intro to OOP
- 2. Class VS Instance Attributes and Methods
- 3. Class vs Instance methods + @staticmethod
- 4. Key Paradigms of OOP
- 5. Examples of good OOP designs
- 6. Quiz
- 7. Homework
- 1. Composition and Aggregation
- 2. Advanced Inheritance
- 3. Dunder (Magic) Methods in
Python
- 4. Enums
- 5. Quiz
- 6. Homework
- 0. Definition
- 1. Single Responsibility Principle (SRP)
- 2. Open/Closed Principle (OCP)
- 3. Liskov Substitution Principle (LSP)
- 4. Interface Segregation Principle (ISP)
- 5. Dependency Inversion Principle (
DIP
) - 6. Summarise
- 7. Let's Refactor!
- 8. Quiz
- 9. Homework
- 1. What is logging?
- 2. Python's Built-in Logging Module
- 3. Configuring Logging:
Handlers
,Formatters
, andConfig Files
- 4. Logging Best Practices
- 5. Homework
- 1. Why do we need testing?
- 2. Types of Testing
- 3. Introduction to
unittest
- 4. Introduction to
pytest
- 5. Mocking and Patching
- 6. Advanced Techniques
- 7. Coverage Analysis
- 8. Applying Testing
- 9. Homework
- 1. Iterators
- 2. Building Your Own Iterators
- 3. Performance overview
- 4. Generators
- 5. Generators VS Lists
- 6. Best practices
- 7. Quiz
- 8. Homework
- 1. The Importance of Refactoring and Code Review
- 2. Principles of Good Refactoring
- 3. Code reviews
- 4. Application Development Life Cycle
- 5. Homework
- 1. Introduction
- 2. Code Comments and Docstrings
- 3. Annotations
- 4. External Documentation
- Introduction
- Installation
- Usage
- Contributing
- License
- Credits
- 5. Homework
- 1. Regular Expressions
- 2. Basic Patterns
- 3. Character Classes
- 4. Quantifiers
- 5. Anchors and Boundaries
- 6. Grouping and Capturing
- 7. Practice
- 8. Homework
- 1. What are Algorithms?
- 2. Algorithmic Complexity (Big O Notation)
- 3. Sorting Algorithms
- 4. Searching Algorithms
- 5. Dynamic Algorithms
- 1. Introduction to Threads
- 2. Threading
- 3. Global Interpreter Lock (GIL)
- 4. Thread Communication
- 5. Daemon Threads
- 6. Thread Pooling
- 7. More Practice
- 8. Quiz
- 9. Homework