Skip to content

Commit 9fc335f

Browse files
Merge pull request #1 from ai-infra-curriculum/development
2 parents d37968e + 980f1e3 commit 9fc335f

File tree

4 files changed

+1137
-9
lines changed

4 files changed

+1137
-9
lines changed

lessons/mod-001-python-fundamentals/README.md

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

211229
Create 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

222241
Take 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

233253
Implement 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`

lessons/mod-001-python-fundamentals/lecture-notes/03-python-devops.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1163,8 +1163,36 @@ submit_job(manifest)
11631163

11641164
---
11651165

1166+
## Next Steps
1167+
1168+
You've now completed the foundational Python programming lectures! You're ready to move forward with more advanced topics:
1169+
1170+
### Continue Learning
1171+
1172+
**Lecture 04: Asynchronous Programming** (`04-async-programming.md`)
1173+
- Learn to write concurrent code with async/await
1174+
- Handle multiple API requests simultaneously
1175+
- Build efficient I/O-bound operations
1176+
- Prepare for Exercise 06: Async Model Monitoring
1177+
1178+
**Lecture 05: Testing and Code Quality** (`05-testing-code-quality.md`)
1179+
- Master pytest for comprehensive testing
1180+
- Implement code quality tools (Black, Ruff, mypy)
1181+
- Set up automated quality checks
1182+
- Write maintainable, professional Python code
1183+
1184+
### Apply Your Knowledge
1185+
1186+
Practice the skills from Lectures 1-3:
1187+
- Build CLI tools for infrastructure automation
1188+
- Write subprocess wrappers for external tools
1189+
- Implement file processing utilities
1190+
- Create configuration management scripts
1191+
1192+
---
1193+
11661194
**Lecture Version**: 1.0
11671195
**Last Updated**: October 2025
11681196
**Word Count**: ~3,800 words
11691197

1170-
**Next**: Continue to `04-testing-quality.md`
1198+
**Next**: Continue to `04-async-programming.md`

0 commit comments

Comments
 (0)