Welcome to the DSA Roadmap 2025 Community! This is a space for learners, mentors, and enthusiasts to collaborate, share knowledge, and grow together.
Working on DSA? Check out Learn-DSA, a collaborative repo with solutions in Python, C++, JS, and C#. Our Wiki has detailed problem explanations and guides;
- Best Practices - Share proven techniques and approaches in the respective channels on slack
- Optimization Techniques - Deep dive into algorithmic optimizations
- Submit alternative solutions
- Write explanations and tutorials
- Help answer questions
- Create visual diagrams
- Share your learning journey
- Ask questions and seek help
- Discuss problem-solving approaches
- Debate algorithm choices
- Find peers with similar goals
- Schedule group sessions
- Practice problems together
- Teach and learn collaboratively
- Write problem explanations
- Create visual guides
- Record solution walkthroughs
- Share helpful resources
- Fork the Repository - Create your own copy on GitHub
- Clone Your Fork - Download to your local machine:
git clone https://github.com/4ssh1/LEARN-DSA-SLACK.git cd LEARN-DSA-SLACK - Create a Branch - Use a descriptive branch name:
git checkout -b USERNAME-add-python-solution-two-sum
- Navigate to the relevant week folder (e.g.,
dsa/month-01-arrays-and-strings/week-01-array-basics/) - Go to the
solutions/folder and choose your language (python, cpp, javascript, csharp) - Create or update your solution file following the naming convention
- Add corresponding tests in the
tests/subfolder - Ensure your code runs without errors
- Commit Your Changes - Use clear, descriptive messages:
git add . git commit -m "Add Python solution for two_sum"
- Push to Your Fork:
git push origin add-python-solution-two-sum
- Create a Pull Request - Go to the main repository and open a PR with:
- Clear title (e.g., "Add Python solution for two_sum")
- Description of your changes
- Reference to related issues if any
- Respond to Reviews - Address feedback from reviewers
- Merge - Once approved, your PR will be merged into main
-
Check existing solutions before adding yours
-
Follow the code style and formatting of your language
-
Write clean, readable code with meaningful variable names
-
Include comments for complex logic
-
Test your solution thoroughly
-
Keep commits atomic and focused
-
One problem per folder → Multiple solutions go inside language subfolders.
-
Commit messages should be descriptive.
-
Keep code clean & readable → Use proper formatting.
-
Do NOT commit directly to main.
-
Make sure your code runs without errors.
-
Always open PRs into main (base branch must be main).
-
Your PR will be blocked if it targets any other branch.
-
Every PR must be reviewed and approved by someone else before merging.
-
Use clear titles like: Add Python solution for two_sum
All PRs will be reviewed before merging.
Reviewers may request changes for formatting, naming, or structure.
Once approved, your PR will be merged into main.
Thanks for contributing.
- Be Respectful: Treat all members with respect and kindness
- Be Helpful: Share knowledge generously without gatekeeping
- Be Patient: Remember that everyone is at different learning levels
- Be Honest: Admit mistakes and learn from feedback
- Be Constructive: Offer helpful criticism and support
Please review our Code of Conduct to understand community standards.