Contributing to CSKnowledgeHub

Thank you for helping improve this knowledge hub. This guide covers content guidelines and contribution workflow.

Scope

In scope: CS fundamentals (algorithms, systems, databases, ML, security, statistics), study resources with annotations

Out of scope: Problem dumps, proprietary content, framework tutorials, DevOps guides

Content Guidelines

  • Start with brief summaries, then provide detailed explanations

  • Include diagrams for complex topics

  • Provide concrete examples (code snippets, calculations)

  • Use professional, technical tone

  • Cite sources at the end

  • Use # for title, ## for sections

  • Include table of contents for long pages

Adding New Topics

  1. Create a folder with a clear name (e.g., Operating System)

  2. Add markdown files with descriptive names

  3. Update the root README.md with links to your files

How to Contribute

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/your-topic

  3. Make your changes following the guidelines above

  4. Commit with clear messages

  5. Push and open a Pull Request

Note: For major changes, open an issue first to discuss.

License

By contributing, you agree that your contributions will be licensed as follows:

  • Documentation and notes (Markdown files, text content): Licensed under CC BY 4.0

  • Code examples (Source code files): Licensed under MIT License

This dual licensing ensures that educational content remains open and attributed while code examples can be freely used and modified in any project.

Last updated