Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Chapter 5: Software Design & Best Practices for AI/ML

Track: Foundation | Time: 6 hours | Prerequisites: Chapters 1-2


Learning Objectives

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 Structure

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/

Time Estimate

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