Track: Foundation | Time: 6 hours | Prerequisites: Chapters 1-2
By the end of this chapter, you will be able to:
- Apply clean code principles (DRY, KISS, YAGNI) to ML projects
- Organize code into functions, modules, and packages
- Use design patterns (Factory, Strategy, Pipeline, Observer) in ML contexts
- Write testable ML code with unittest and pytest
- Manage configuration with YAML/JSON instead of hardcoded values
- Structure production-ready ML projects
- Apply version control, documentation, and logging best practices
chapter-05-software-design/
├── README.md
├── requirements.txt
├── notebooks/
│ ├── 01_introduction.ipynb # Clean code, naming, DRY/KISS/YAGNI, refactoring
│ ├── 02_intermediate.ipynb # Design patterns, testing, configuration
│ └── 03_advanced.ipynb # Project structure, docs, capstone refactor
├── scripts/
│ ├── ml_project_template.py # Ideal ML project patterns
│ └── utilities.py # Clean code helper functions
├── exercises/
│ ├── exercises.py
│ └── solutions/
│ └── solutions.py
├── assets/diagrams/
│ ├── clean_code.svg
│ ├── ml_project_structure.svg
│ └── design_patterns.svg
└── datasets/
| Section | Time |
|---|---|
| Notebook 01: Introduction (Clean Code) | 2 hours |
| Notebook 02: Intermediate (Patterns & Testing) | 2 hours |
| Notebook 03: Advanced (Project Structure & Capstone) | 2 hours |
| Exercises | Included in notebooks |
| Total | 6 hours |
Generated by Berta AI | Created by Luigi Pascal Rondanini