-
Notifications
You must be signed in to change notification settings - Fork 40
Description
π Open Call for Contributions π
Hey there! π
We are excited to open up our repository for open-source contributions and can't wait to see what educational notebooks you come up with! π§βπ« This is a collaborative space where we develop and share high-quality marimo notebooks for education, covering fundamental concepts across various topics.
π Projects We'd Love Your Help With
Below is a list of courses we're eager to develop. Each course is an opportunity to contribute and make a meaningful impact:
| Project | Status | Author/s |
|---|---|---|
| Probability Course | β | @Haleshot |
| Python | β | @Haleshot |
| Polars Course | π§ | @koushikkhan, @jorammutenge, @etrotta, @debajyotid2, @peter-gy, @Jystine, @jesshart |
| Daft Course | π§ | @peter-gy |
| DuckDB course | π§ | @Mustjaab, @julius383, @thliang01 |
| Functional programming course | π§ | @metaboulie |
| Calculus for Machine Learning | Open | - |
| HoloViews course | Open | - |
| hvplot course | Open | - |
| Plotly course | Open | - |
| Matplotlib Visualization Course | Open | - |
| Real Analysis Repo | Open | - |
| Linear Algebra Course | Open | - |
β¨ Have your own idea? Feel free to propose new courses or individual notebooks! Open an issue to suggest your idea, and we'll be happy to discuss and potentially add it to the list.
π How to Contribute
-
Open a New Issue
- If you're interested in any of the courses above or have a new idea, please comment on the corresponding issue if it exists, or open a new issue with a title that reflects the project.
- Use the issue to discuss your approach and gather feedback.
-
Let Us Know
- Comment on this issue to let us know you've opened a new issue. We'll update the project list with a link to your issue.
-
Start Coding
- Follow our contribution checklist when developing your notebook.
- Use marimo's reactive programming model to create interactive, educational content.
-
Submit a Pull Request
- Once you're ready, open a Pull Request (PR) linking to the issue you created.
- Make sure to tag the issue in your PR description for easy reference.
π Contribution Checklist
- Include package dependencies in notebook files using
--sandbox - If adding a course, include a
README.md - Keep language direct and simple
- Follow marimo best practices for reactive programming
- Ensure cells are idempotent and minimize global state
- Use descriptive variable names that reflect data and computation intent
- Apply appropriate caching strategies for expensive operations
π Why Contribute to marimo learn?
Contributing to marimo learn is a great opportunity to:
- Share your knowledge with the community
- Receive an author byline in contributed notebooks and course README
- Help others learn important concepts through interactive notebooks
- Improve your own understanding of topics by teaching them
- Build your portfolio and gain recognition in the open-source community
- Help shape the future of educational content for marimo
π What Makes a Great marimo Notebook?
Great marimo notebooks for education should:
- Explain concepts clearly with a mix of markdown explanations and code
- Be structured with a clear learning progression
- If appropriate, include visualizations and UI elements to enhance understanding
- If appropriate, include exercises or challenges for learners to practice
- Be accessible to the target audience (beginners, intermediate, advanced)