Skip to content

Contributing

Thank you for improving Berta Chapters! Community contributions make this curriculum better for everyone.


Ways to Contribute

1. Report Issues

Found a typo, error, or something unclear?

  • Open an issue on the relevant chapter's repository
  • Include: what you expected, what happened, your environment
  • Be specific and include screenshots/code when helpful
  • Tag appropriately (bug, enhancement, documentation)

2. Improve Content

Want to enhance a chapter?

  • Fork the chapter repository
  • Make improvements to notebooks, code, or explanations
  • Submit a pull request
  • We'll review and merge—you'll be credited!

What we love: Better explanations, corrected errors, additional examples, improved code comments, better visualizations, new exercises with solutions, corrected typos.

3. Create Exercises

  • Create new exercise problems with detailed solutions
  • Make exercises progressively harder
  • Ensure they match the chapter level
  • Submit as PRs to the exercises folder

4. Create Diagrams

  • Create SVG diagrams for concepts
  • Design architecture visualizations
  • Generate flowcharts and graphs
  • Ensure diagrams are clear and professional

5. Translate Content

  • Translate chapters to other languages
  • Create localized notebooks
  • Maintain consistency with the original
  • Document your translation in README

How to Contribute

Small Changes (typos, minor fixes)

  1. On the chapter's GitHub page, click the pencil icon on the file
  2. Make your changes in the browser
  3. Add a description and create a pull request

Larger Changes (new sections, exercises, code)

  1. Fork the repository
  2. Clone your fork:
git clone https://github.com/YOUR-USERNAME/berta-chapter-XX-topic.git
cd berta-chapter-XX-topic
  1. Create a branch:
git checkout -b your-feature-name
  1. Make changes, test them, then commit and push:
git add .
git commit -m "Clear description of what you changed"
git push origin your-feature-name
  1. Create a pull request on the original repository

Contribution Guidelines

Quality Standards

Type Standards
Code Must work (Python 3.10+), follow PEP 8, include docstrings
Notebooks Clear explanations, good output, progressive difficulty, executable
Documentation Clear, concise, proper markdown, spellchecked
Exercises Solvable by chapter-level learners, include solutions

We Love

  • Thoughtful, well-executed improvements
  • Contributors who test their changes
  • Clear commit messages and PR descriptions
  • Respect for the curriculum's philosophy (practical, accessible, rigorous)

We Avoid

  • Untested code
  • Marketing/spam
  • Off-topic changes
  • Poor formatting

Community Standards

  • Be respectful and inclusive
  • Welcome diverse perspectives
  • Assume good intent
  • Give constructive feedback
  • Focus on ideas, not personalities

Getting Help

  • Questions? Open a discussion
  • Not sure if your idea fits? Open an issue and ask
  • Need guidance? Ask in the comments on your PR

Created by Luigi Pascal Rondanini | Generated by Berta AI