Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contributing

Thank you for your interest in improving this course! Contributions are welcome and appreciated.

How to Contribute

Reporting Issues

Found an error or have a suggestion?

  1. Check existing issues
  2. Create a new issue with:
    • Clear description
    • Module and section reference
    • Expected vs actual behavior
    • Suggested fix (if applicable)

Suggesting Improvements

Have ideas for new content or improvements?

  1. Open a discussion
  2. Describe your suggestion
  3. Explain the value it would add

Contributing Content

Want to contribute code, examples, or content?

Process:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes
  4. Test locally: mdbook serve
  5. Commit: git commit -m "Add: your feature"
  6. Push: git push origin feature/your-feature
  7. Open a Pull Request

Guidelines:

  • Follow existing code style
  • Include working code examples
  • Add comments and explanations
  • Test all code before submitting
  • Keep examples concise but complete

Content Guidelines

Code Examples

  • Use Python 3.9+ syntax
  • Include type hints
  • Add docstrings
  • Handle errors gracefully
  • Keep examples under 100 lines when possible

Writing Style

  • Clear and concise
  • Explain “why” not just “how”
  • Use active voice
  • Include practical examples
  • Link to related sections

Structure

  • Start with learning objectives
  • Provide context before code
  • Explain code after showing it
  • End with key takeaways
  • Link to next steps

Types of Contributions

High Priority

  • Fixing errors or bugs in code
  • Improving unclear explanations
  • Adding missing error handling
  • Updating deprecated APIs

Medium Priority

  • Adding practice exercises
  • Creating additional examples
  • Improving diagrams
  • Expanding explanations

Nice to Have

  • Translations
  • Video tutorials
  • Interactive demos
  • Community showcases

Code of Conduct

  • Be respectful and constructive
  • Welcome newcomers
  • Focus on improving the content
  • Give credit where due
  • Assume good intentions

Recognition

Contributors will be acknowledged in:

  • GitHub contributors list
  • Course acknowledgments section
  • Release notes

Questions?

Open a discussion or reach out via GitHub issues.

Thank you for helping make this course better! 🙏