@@ -49,7 +49,7 @@ By the end of this module, you will be able to:
4949
5050## Module Structure
5151
52- This module is organized into four comprehensive lectures, each building upon the previous:
52+ This module is organized into five comprehensive lectures, each building upon the previous:
5353
5454### Lecture 01: Python Environment & Dependency Management (Week 1)
5555** Duration** : 6-8 hours
@@ -75,13 +75,24 @@ This module is organized into four comprehensive lectures, each building upon th
7575- Working with environment variables
7676- Parsing command-line arguments
7777
78- ### Lecture 04: Testing and Code Quality (Week 4)
78+ ### Lecture 04: Asynchronous Programming (Week 4)
79+ ** Duration** : 6-8 hours
80+ - Understanding async/await syntax
81+ - Running concurrent tasks with asyncio
82+ - Async HTTP requests with httpx
83+ - Error handling in async code
84+ - Async context managers and generators
85+ - Common async patterns for AI infrastructure
86+
87+ ### Lecture 05: Testing and Code Quality (Week 5)
7988** Duration** : 8-10 hours
8089- Unit testing with pytest
8190- Test fixtures and parametrization
91+ - Testing async functions
8292- Mocking and patching in tests
8393- Code coverage analysis
84- - Linting and formatting tools
94+ - Linting and formatting tools (Black, Ruff, isort)
95+ - Type checking with mypy
8596- Pre-commit hooks and automation
8697
8798## Prerequisites
@@ -123,12 +134,18 @@ This module is organized into four comprehensive lectures, each building upon th
123134- ** Day 3-4** : Practice exercises
124135- ** Day 5** : Integration practice
125136
126- ### Week 4: Quality & Testing
127- - ** Day 1-2** : Lecture 04 (Testing & Quality)
128- - ** Day 3-4** : Practice and project work
137+ ### Week 4: Asynchronous Programming
138+ - ** Day 1-2** : Lecture 04 (Async Programming)
139+ - ** Day 3** : Exercise 06 (Async Programming)
140+ - ** Day 4-5** : Practice and experimentation
141+
142+ ### Week 5: Quality & Testing
143+ - ** Day 1-2** : Lecture 05 (Testing & Code Quality)
144+ - ** Day 3** : Exercise 07 (Testing)
145+ - ** Day 4** : Practice and project work
129146- ** Day 5** : Complete module assessment
130147
131- ** Total Estimated Time** : 30-40 hours
148+ ** Total Estimated Time** : 38-48 hours
132149
133150## Topics Covered
134151
@@ -207,6 +224,7 @@ This module is organized into four comprehensive lectures, each building upon th
207224### Exercise 01: Environment Setup & Management
208225** Difficulty** : Beginner
209226** Duration** : 2-3 hours
227+ ** Related to** : Lecture 01
210228
211229Create a complete Python project with proper environment management, including:
212230- Virtual environment setup
@@ -218,6 +236,7 @@ Create a complete Python project with proper environment management, including:
218236### Exercise 02: Type Hints Implementation
219237** Difficulty** : Intermediate
220238** Duration** : 2-3 hours
239+ ** Related to** : Lecture 02
221240
222241Take a provided untyped Python module and add comprehensive type hints:
223242- Function signatures with input/output types
@@ -229,6 +248,7 @@ Take a provided untyped Python module and add comprehensive type hints:
229248### Exercise 03: Logging Implementation
230249** Difficulty** : Intermediate
231250** Duration** : 3-4 hours
251+ ** Related to** : Lecture 02
232252
233253Implement a comprehensive logging strategy for a multi-module application:
234254- Configure root and module-level loggers
@@ -237,6 +257,31 @@ Implement a comprehensive logging strategy for a multi-module application:
237257- Configure file and console handlers
238258- Implement log rotation
239259
260+ ### Exercise 06: Async Programming
261+ ** Difficulty** : Intermediate
262+ ** Duration** : 4-5 hours
263+ ** Related to** : Lecture 04
264+
265+ Build a concurrent model monitoring system using async/await:
266+ - Monitor multiple model endpoints concurrently
267+ - Implement async HTTP health checks
268+ - Handle timeouts and retries
269+ - Aggregate monitoring results
270+ - Generate health status reports
271+
272+ ### Exercise 07: Testing with pytest
273+ ** Difficulty** : Intermediate
274+ ** Duration** : 4-5 hours
275+ ** Related to** : Lecture 05
276+
277+ Write comprehensive test suites for infrastructure code:
278+ - Unit tests with pytest
279+ - Test fixtures for reusable setup
280+ - Parametrized tests for multiple scenarios
281+ - Test async functions
282+ - Mock external dependencies
283+ - Achieve >80% code coverage
284+
240285## Quizzes & Assessments
241286
242287### Module 001 Quiz
@@ -340,7 +385,7 @@ The Python skills you develop here will be used extensively in all subsequent mo
340385
341386** Module Version** : 1.0
342387** Last Updated** : October 2025
343- ** Estimated Completion Time** : 30-40 hours
388+ ** Estimated Completion Time** : 38-48 hours
344389** Difficulty Level** : Beginner to Intermediate
345390
346391** Ready to begin?** Start with ` lecture-notes/01-python-environment.md `
0 commit comments