All coding topics
1. Introduction to Python (Difficulty: 1/10)
- Basic syntax
- Variables and data types
- Basic input/output
- Basic arithmetic operations
2. Control Flow (Difficulty: 2/10)
- Conditional statements (if, elif, else)
- Looping (for loops, while loops)
- Break and continue statements
3. Data Structures (Difficulty: 3/10)
- Indexing (starts from 0)
- Lists
- Tuples
- Dictionaries
- Sets
4. Functions (Difficulty: 4/10)
- Defining functions
- Function arguments (positional arguments, keyword arguments, default values)
- Returning values from functions
- Scope of variables (global vs. local)
5. File Handling (Difficulty: 4/10)
- Reading from and writing to files
- Working with different file formats (text files, CSV, JSON)
6. Libraries, frameworks, Modules and Packages (Difficulty: 5/10)
- Importing modules, pip
- Creating and using packages
- Understanding the Python Standard Library
- Frameworks, like Django
7. Environments (Difficulty: 6/10)
- Home computer / bare metal server / cloud
- Python virtual environments
- Docker and containers
- OS virtual environments
- Kubernetes
7. Object-Oriented Programming (Difficulty: 6/10)
- Classes and objects
- Attributes and methods
- Inheritance and polymorphism
- Encapsulation and abstraction
8. Error Handling (Difficulty: 4/10)
- Exception handling (try, except, finally)
- Raising exceptions
- Handling different types of errors
- try, catch, except, else, finally, custom exceptions
9. Advanced Data Structures (Difficulty: 7/10)
- Advanced usage of lists, tuples, dictionaries, and sets
- List comprehensions
- Generators and generator expressions
- Advanced dictionary techniques
- numpy, pandas, polars
- slicing and filtering
- deleting and adding
- Aliasing
10. Decorators and Context Managers (Difficulty: 7/10)
- Using and creating decorators
- Context managers using the with statement
- Decorator applications such as memoization, logging, and timing
11. Concurrency and Parallelism (Difficulty: 8/10)
- Threading and multiprocessing
- Asynchronous programming with asyncio
- GIL (Global Interpreter Lock) and its implications
12. Regular Expressions (Difficulty: 6/10)
- Pattern matching using regular expressions
- Regular expression syntax
- Using the re module
13. Testing (Difficulty: 5/10)
- Writing and running unit tests using unittest or pytest
- Test-driven development (TDD) approach
14. Web Development (Difficulty: 6/10)
- Basics of HTML, CSS, and JavaScript
- Web frameworks (e.g., Flask, Django, fastAPI)
- RESTful APIs
15. Data Science and Visualization (Difficulty: 8/10)
- NumPy and pandas for data manipulation
- Data visualization with Matplotlib and Seaborn
- Introduction to machine learning with scikit-learn
- AI / ML / NN / NLP / LLM
16. Advanced Topics (Difficulty: 9/10)
- Metaprogramming
- Closures and lexical scoping
- Custom iterators and iterables
- Python internals and bytecode
17. Type Annotations and Static Typing (Difficulty: 5/10)
- Basics of type annotations using typing module
- Type hints for function arguments and return values
- Using Optional, Union, Tuple, List, etc., for more specific type hints
- Understanding type checkers like mypy and integrating them into the development workflow