diff --git a/.github/ISSUE_TEMPLATE/help_wanted.md b/.github/ISSUE_TEMPLATE/help_wanted.md index 939dbba0a..75dbb65f7 100644 --- a/.github/ISSUE_TEMPLATE/help_wanted.md +++ b/.github/ISSUE_TEMPLATE/help_wanted.md @@ -14,7 +14,7 @@ labels: "help wanted" - assign: anyone you would like help from --> -## The Code +# The Code diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 330a04cbc..7d9ab3bef 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -12,9 +12,9 @@ about: A template PR for code review with a checklist -## Behavior +# Behavior -### Files +## Files - [ ] The file name describes the function's behavior - [ ] There is a module docstring in the function file diff --git a/LICENSE b/LICENSE index 6e628e40e..d04b03511 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -MIT License +# MIT License Copyright (c) 2024 MIT Emerging Talent diff --git a/README.md b/README.md index 3807226f0..7be079914 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,19 @@ # Git it Done ## Overview + Welcome to the **Git it Done** repository! -This is a collaborative learning project where our team works together to solve problems and learn new skills. Each teammate will: +This is a collaborative learning project where our team works together to solve +problems and learn new skills. Each teammate will: + - Solve 2 problems. - Help resolve 2 problems contributed by others. -Our team is made up of people with different levels of experience—some of us are complete beginners, while others have a little experience. But one thing we all share is a strong eagerness to learn. By the end of this project, we will no longer be complete beginners. +Our team is made up of people with different levels of experience—some of us are +complete beginners, while others have a little experience. But one thing we all +share is a strong eagerness to learn. By the end of this project, we will no longer + be complete beginners. -We are learning collaboratively, growing through our mistakes, and working as a team to improve. . +We are learning collaboratively, growing through our mistakes, and working as a +team to improve. . diff --git a/collaboration/README.md b/collaboration/README.md index 6abd0d6ed..09a13cce6 100644 --- a/collaboration/README.md +++ b/collaboration/README.md @@ -3,48 +3,68 @@ ## Summary of Norms -Our goal is to create a collaborative environment where everyone feels comfortable asking questions and working together. We will start with the basics, progress toward project goals, and remain respectful, helpful, and connected throughout the journey. + +Our goal is to create a collaborative environment where everyone feels + comfortable asking questions and working together. We will start with the basics, + progress toward project goals, and remain respectful, helpful, and connected + throughout the journey. ### 1. Encourage Open and Respectful Communication + - Ensure all members feel heard and valued in discussions. -- Prioritize clear and constructive communication, encouraging everyone to share their ideas and perspectives without fear of judgment or interruption. +- Prioritize clear and constructive communication, encouraging everyone to share + their ideas and perspectives without fear of judgment or interruption. ### 2. Balance Discussion and Debate + - Promote productive collaboration through thoughtful discourse. -- Use discussions to generate ideas and debates to critically evaluate them while maintaining respect and focusing on project goals. +- Use discussions to generate ideas and debates to critically evaluate them while + maintaining respect and focusing on project goals. ### 3. Technical Meetings + - Use **Slack** for technical discussions and project updates. - Use **WhatsApp** for urgent matters and quick clarifications. ### 4. Reminders for Code Review -- To ensure timely code reviews, feel free to send a friendly reminder on Slack or WhatsApp when necessary. -- Encourage team members to notify the requester once the code review is completed. + +- To ensure timely code reviews, feel free to send a friendly reminder on Slack + or WhatsApp when necessary. +- Encourage team members to notify the requester once the code review is completed. ### 5. Handling Delays and Meeting Attendance -- Meetings will start as scheduled to respect everyone's time. -- If unable to attend, members should share their situation in advance and catch up via recordings. +- Meetings will start as scheduled to respect everyone's time. +- If unable to attend, members should share their situation in advance and catch + up via recordings. ### 6. Maintain a Positive Team Environment + - Avoid rude or mean behavior. -- If any interaction causes discomfort, address it respectfully to resolve the issue and foster understanding. +- If any interaction causes discomfort, address it respectfully to resolve the + issue and foster understanding. ### 7. Create a Safe Feedback Culture + - Encourage constructive feedback to improve team performance. - Focus on solutions rather than blame when giving or receiving feedback. ### 8. Clear Handoffs When Required -- If there are delays in completing tasks, inform the team promptly to prevent further delays. -- Minimize dependency issues by clearly communicating expectations and timelines when tasks require input or dependencies from another member. + +- If there are delays in completing tasks, inform the team promptly to prevent +further delays. +- Minimize dependency issues by clearly communicating expectations and timelines + when tasks require input or dependencies from another member. ### 9. Respect for Different Work Styles + - Foster individuality while ensuring progress. -- Respect that everyone has a unique working style, provided deliverables are submitted on time and meet agreed standards. +- Respect that everyone has a unique working style, provided deliverables are + submitted on time and meet agreed standards. ### 10. Responsiveness and Accountability -- While everyone has different schedules, acknowledging messages on Slack or WhatsApp—even with a brief reply—helps keep the team informed and connected. -- This ensures smooth collaboration and demonstrates respect for everyone’s efforts. - +- While everyone has different schedules, acknowledging messages on Slack or +WhatsApp—even with a brief reply—helps keep the team informed and connected. +- This ensures smooth collaboration and demonstrates respect for everyone’s efforts. diff --git a/collaboration/communication.md b/collaboration/communication.md index 60ab49de5..14bfd81ea 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -1,56 +1,135 @@ -# Communication - -______________________________________________________________________ +# Communication Plan ## Communication Schedule -| Day | How | The topic of discussion | | --- | :-: | ----------------------- | -| | | | - -## Communication Channels - -how often will we get in touch on each channel, and what we will discuss there: +This is the schedule for each week, and it will be updated weekly. -- **Issues**: Adding availability to the schedule -- **Pull Requests**: Reviewing each other's code and giving feedback -- **Slack/Discord**: Email, Slack, and WhatsApp -- **Video Calls**: Zoom and Google Meet +| Day | How | The topic of discussion | +|-----------|:----:|-------------------------------------------| +| Monday | Zoom | | +| Tuesday | Zoom | | +| Wednesday | Zoom | GitHub Issues and Pull Request Discussion | +| Thursday | Zoom | | +| Friday | Zoom | | +| Saturday | Zoom | | +| Sunday | Zoom | | -______________________________________________________________________ +--- -## Availability +## Communication Channels -### Availability for calling/messaging +All technical discussions will be conducted on Slack. General discussions will +use WhatsApp. -| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | | ------- | :----: | :-----: | :-------: | :------: | :----: | :------: | :----: | -**Madiha**| Monday ✓| Tuesday ✓| Wednesday ✓| Thursday ✓| Friday ✓| Saturday ✓| Sunday ✓| | +- **Issues**: Adding availability to the schedule +- **Pull Requests**: Reviewing each other's code and giving feedback +- **Slack/Discord**: Email, Slack, and WhatsApp +- **Video Calls**: Zoom and Google Meet -**Shahroz**| Monday ✓| Tuesday ✓| Wednesday ✓| Thursday ✓| Sunday ✓| | +--- -### How many hours everyone has per day +## Availability -- Shahroz: _4h_; -- name: _6h_; -- Madiha: _5h_; -- name: _4h_; -- name: _3h_; +### Availability for Calling/Messaging + +| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday| +|------------|:------:|:-------:|:---------:|:--------:|:------:|:--------:|:------:| +| **Madiha** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | + +| **Fatima** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | + +| **Shahroz**| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | + +### Hours Available Per Day + +- **Fatima**: _5h_ +- **Madiha**: _5h_ +- **M Shahroz**: _4h_ +- **Member 2**: _4h_ +- **Member 3**: _3h_ + +--- + +## Meeting Agendas and Records + +### Previous Meetings + +#### Meeting 1 + +- **Date:** 20-12-2024 +- **Discussion Topics:** + - Introduction + - Team Norms + - Strategies for tackling the project +- **Decisions Made:** + - Decided on 7 team norms. + - Study Google Documents. + +#### Meeting 2 + +- **Date:** 21-12-2024 +- **Discussion Topics:** + - Finalizing group norms + - Team name +- **Decisions Made:** + - Finalized 10 norms. + - Decided on the team name: "Git it Done." + - First commit made on GitHub. + +#### Meeting 3 + +- **Date:** 22-12-2024 +- **Discussion Topics:** + - Discussion on assigned Google Docs + - Guiding new team members +- **Decisions Made:** + - Official work to start tomorrow. + +#### Meeting 4 + +- **Date:** 23-12-2024 +- **Discussion Topics:** + - Pull requests + - Branches +- **Decisions Made:** + - Tasks assigned to each team member. + - Explore more about pull requests and branches. + - Explore issues on GitHub. + +--- + +### Upcoming Meetings + +#### Meeting 5 + +- **Date:** 25-12-2024 +- **Discussion Topics:** + - [Point 1] + - [Point 2] +- **Decisions Made:** + - [Decision 1] + - [Decision 2] + **Action Items:** + - [Action 1] + - [Action 2] + +--- ## Asking for Help -There's a fine line between confidently learning from your mistakes, and +There's a fine line between confidently learning from your mistakes and stubbornly getting nowhere. Here is a general guide for when to ask for help based on how long you've been stuck on the same problem: -1. _0 -> 30 min_: Try on your own -1. _30 -> 60 min_: Ask your group for help -1. _60+ min_: Tag your coaches in Slack or GitHub +1. _0 -> 30 min_: Try on your own +2. _30 -> 60 min_: Ask your group for help +3. _60+ min_: Tag your coaches in Slack or GitHub diff --git a/collaboration/constraints.md b/collaboration/constraints.md index a6c028932..065e7b4a5 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -2,72 +2,95 @@ # Constraints -This section outlines the boundaries and considerations for our project to ensure smooth collaboration, efficient learning, and effective task completion. +This section outlines the boundaries and considerations for our project to ensure +smooth collaboration, efficient learning, and effective task completion. ## External Constraints **These factors outside our control influence how we work on this project.** + - **Platform Requirements:** - - Problems must be selected from the workshop's exercises, CodeWars, LeetCode, or similar coding platforms. - - Solutions must comply with the workshop's requirements (e.g., unittest, documentation, and clear variable name). -- **Deadlines:** - - Projects must be finished at the timeline set by the MIT Emerging Talent program. - - Each member must solve and review problems within the agreed-upon timeframes. -- **Tools and Resources:** - - GitHub must be used for version control, communication, and documentation. - - The team must rely on publicly available resources (e.g., online tutorials and documentation) to enhance learning. + - Problems must be selected from the workshop's exercises, CodeWars, LeetCode, + or similar coding platforms. + - Solutions must comply with the workshop's requirements (e.g., unittest, + documentation, and clear variable names). +- **Deadlines:** + - Projects must be completed within the timeline set by the MIT Emerging Talent + program. + - Each member must solve and review problems within the agreed-upon time frames. +- **Tools and Resources:** + - GitHub must be used for version control, communication, and documentation. + - The team must rely on publicly available resources (e.g., online tutorials + and documentation) to enhance learning. ## Internal Constraints: Involuntary -**These are limitations or challenges within the team that we need to navigate effectively.** - - **Experience Levels:** - - Team members have varying levels of experience in programming, unit testing, and documentation. - - Some members may require more time or support to complete tasks. + +**These are limitations or challenges within the team that we need to navigate +effectively.** + +- **Experience Levels:** + - Team members have varying levels of experience in programming, unit testing, + and documentation. + - Some members may require more time or support to complete tasks. + - **Availability:** - - Team members may have different schedules and commitments, limiting synchronous collaboration opportunities. -- Technical Skills: - - Limited familiarity with tools like Git, GitHub workflows, or unit testing frameworks. + - Team members may have different schedules and commitments, limiting + synchronous collaboration opportunities. +- **Technical Skills:** + - Limited familiarity with tools like Git, GitHub workflows, or unit testing + frameworks. ## Internal Constraints: Voluntary -These are self-imposed rules or boundaries designed to improve collaboration and learning outcomes. + +**These are self-imposed rules or boundaries designed to improve collaboration and +learning outcomes.** + - **Unit Testing:** - - All submitted solutions must include unit tests to verify correctness and edge cases. + - All submitted solutions must include unit tests to verify correctness and + edge cases. - Use Python’s unittest module (or equivalent) for testing. + - **Documentation Standards:** - All code must include meaningful comments explaining the logic. - Problem solutions must include documentation with: - Problem description. - Approach and thought process. - Test cases used. + - **Communication Protocols:** - Use GitHub Issues to discuss problems and tasks. - At least one other member must review pull requests before merging. - Constructive feedback is required for all reviews. + - **Collaborative Learning:** - - Each member must share insights or challenges they faced during problem-solving to help others learn. - - Regular check-ins (via GitHub comments or virtual meetings) to ensure alignment. + - Each member must share insights or challenges they faced during problem-solving + to help others learn. + - Regular check-ins (via GitHub comments or virtual meetings) to ensure + alignment. diff --git a/collaboration/guide/0_repository_setup.md b/collaboration/guide/0_repository_setup.md index aae9cb76e..a8548b977 100644 --- a/collaboration/guide/0_repository_setup.md +++ b/collaboration/guide/0_repository_setup.md @@ -16,6 +16,7 @@ it for collaboration: - Add or remove topics from your repository - Update your main README with your group name and an initial overview of your project. (You can change this as much as you want.) + - Under settings in your repository select: - _Issues_ - _Projects_ diff --git a/solutions/abcd.py b/solutions/abcd.py deleted file mode 100644 index 739dfd80f..000000000 --- a/solutions/abcd.py +++ /dev/null @@ -1,2 +0,0 @@ -# this is an example file -print("example")