Introduction to programming languages
Why Python? - Overview of Python’s strengths
Setting up the development environment
ICT powers me in Python
Basic syntax and variables
Comments and docstrings
Conditional statements (if, elif, else)
Logical operators
Looping constructs (while, for)
Controlling loop flow with break and continue
Lists and list comprehensions
Tuples and their immutability
Dictionaries and accessing data
Sets and operations on sets
Defining and calling functions
Function arguments and return values
Scope of variables
Lambda functions
Understanding classes and objects
The constructor method (init)
Instance methods and variables
Class methods and static methods
Handling exceptions
Raising exceptions
Working with files - reading and writing
Context managers for resource management
Importing modules
Exploring the Python Standard Library
Creating and using packages
Virtual environments
Building a calculator
Text-based adventure game
Data parsing from a file
Collections module
Itertools module
Queues and stacks
Understanding generator functions
Understanding decorators
Writing custom decorators
Context managers and the “with” statement
Understanding REST APIs
Making API calls with Python
Parsing JSON data
Unit testing with unittest
Test-driven development (TDD)
Mocking objects and patching
Multithreading and multiprocessing
Asynchronous programming (asyncio)
Metaprogramming concepts
Introduction to NumPy
Introduction to pandas
Basic data visualization with Matplotlib
Introduction to web frameworks (Flask/Django)
Building a simple web application
Routing and views
Version control with Git
Code reviews and collaborative coding
Final capstone project