Thank you for your interest in contributing to this course! Here are some guidelines to help you get started.
If you find bugs, typos, or unclear explanations:
- Open an issue with a clear description
- Include relevant error messages and code snippets
- Specify which notebook and module the issue is in
To enhance existing notebooks:
- Fork the repository
- Create a branch:
git checkout -b improve/notebook-name - Make your changes
- Test the notebook end-to-end
- Create a pull request with a clear description
To contribute new notebooks or modules:
- Follow the existing naming convention:
NN_descriptive_name.ipynb - Include clear explanations and comments
- Add visualizations where appropriate
- Test with fresh kernel start
- Update the README with new notebook information
- Clear title and description at the top
- Markdown cells explaining concepts before code
- Code cells with comments for complex operations
- Visualizations and results clearly presented
# Use clear variable names
learning_rate = 0.001 # Better than lr = 0.001
# Add comments for complex logic
# Normalize features to zero mean and unit variance
X_normalized = (X - X.mean()) / X.std()
# Use meaningful function names
def train_model(X_train, y_train, epochs=10):
"""Train a deep learning model."""
pass- Run the entire notebook from top to bottom
- Clear any outputs before committing
- Add markdown explanations for each section
- Include learning objectives at the beginning
- Add a summary or key takeaways at the end
# Install development dependencies
pip install -e ".[dev]"
# Format code with black
black Keras/
# Check code style with flake8
flake8 Keras/
# Run tests
pytest tests/- Be respectful and inclusive
- Provide constructive feedback
- Help others learn
- No harassment or discrimination
- All contributions go through peer review
- Maintainers will check:
- Accuracy of content
- Code quality
- Notebook execution
- Compliance with guidelines
- You may be asked to make revisions
- Once approved, your contribution will be merged
- Check existing issues and discussions first
- Open a discussion for questions
- Be clear and provide context
By contributing, you agree your work will be licensed under the same license as the project.
Thank you for helping make this course better! 🚀