Prerequisite : Completion certificate from course 1
Course Overview:
This course is designed for students who are already familiar with the basics of Python programming. It covers advanced topics and techniques to enhance students' Python skills.
(Note: Topics assume familiarity with the basics covered in Course One)
Class 1: Advanced Data Structures
- Collections module
- Named tuples
- Default dictionaries
- Deque
Class 2: Functional Programming
- Lambda functions
- Map, filter, and reduce functions
- List comprehensions
Class 3: Decorators
- Understanding decorators
- Creating and using decorators
- Decorator applications
Class 4: Generators and Iterators
- Understanding iterators and iterables
- Generator functions
- Generator expressions
Class 5: Context Managers
- Using the `with` statement in detail
- Creating context managers using contextlib module
- Application in file handling and resource management
Class 6: Concurrency with Threading
- Overview of threading
- Thread creation and management
- Synchronization and race conditions
Class 7: Concurrency with Multiprocessing
- Introduction to multiprocessing
- Process creation and management
- Communication between processes
Class 8: Asynchronous Programming with Asyncio
- Understanding asynchronous programming
- Async/await syntax
- Working with asyncio module
Class 9: Design Patterns
- Overview of design patterns
- Singleton, Factory, and Observer patterns in Python
Class 10: Functional Programming Patterns
- Currying
- Partial functions
- Memoization
Class 11: Metaprogramming
- Understanding metaprogramming
- Using metaclasses
- Dynamic attribute and method creation
Class 12: Pythonic Code
- Writing clean and Pythonic code
- PEP 8 guidelines
- Code optimization techniques
Class 13: Advanced File Handling
- Working with binary files
- Serializing Python objects
- Working with CSV and JSON files
Class 14: Database Interaction with SQLAlchemy
- Overview of SQLAlchemy
- ORM concepts
- CRUD operations
Class 15: Web Development with Flask
- Introduction to Flask framework
- Creating web applications
- Routing and views
Class 16: Final Project
- Students will work on an advanced project to demonstrate their understanding of the advanced Python concepts covered in the course.