diff --git a/README.md b/README.md index 7be079914..a04de3ccf 100644 --- a/README.md +++ b/README.md @@ -1,19 +1 @@ -# 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: - -- 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. - -We are learning collaboratively, growing through our mistakes, and working as a -team to improve. . +# Readme diff --git a/collaboration/README.md b/collaboration/README.md index 09a13cce6..f3954314c 100644 --- a/collaboration/README.md +++ b/collaboration/README.md @@ -1,70 +1 @@ -# Collaboration - - - -## 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. - - -### 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. - -### 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. - -### 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. - -### 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. - -### 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. - -### 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. - -### 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. - -### 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. +# Readme diff --git a/collaboration/communication.md b/collaboration/communication.md index 14bfd81ea..f54a2ad5c 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -1,135 +1 @@ - - -# Communication Plan - -## Communication Schedule - -This is the schedule for each week, and it will be updated weekly. - -| 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 | | - ---- - -## Communication Channels - -All technical discussions will be conducted on Slack. General discussions will -use WhatsApp. - -- **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 - ---- - -## Availability - -### 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 -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 -2. _30 -> 60 min_: Ask your group for help -3. _60+ min_: Tag your coaches in Slack or GitHub +# Communication diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 065e7b4a5..381a6e481 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -1,96 +1,79 @@ - - # 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 names). +### Platform Requirements -- **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. +- 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., unit tests, + documentation, and clear variable names). -- **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. +### Deadlines -## Internal Constraints: Involuntary +- Projects must be completed according to 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. + +## 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. +### 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. -- **Availability:** - - Team members may have different schedules and commitments, limiting - synchronous collaboration opportunities. +### Technical Skills -- **Technical Skills:** - - Limited familiarity with tools like Git, GitHub workflows, or unit testing - frameworks. +- 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.** - -- **Unit Testing:** - - 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. +**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. +- 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. diff --git a/collaboration/guide/0_repository_setup.md b/collaboration/guide/0_repository_setup.md index a8548b977..4b256f901 100644 --- a/collaboration/guide/0_repository_setup.md +++ b/collaboration/guide/0_repository_setup.md @@ -1,32 +1,36 @@ # Repository Setup -Before diving into your project make sure your team has all the practical things -in place. This step isn't very hard but everything will go more smoothly if you +Before diving into your project, make sure your team has all the practical things +in place. This step isn't very hard, but everything will go more smoothly if you take the time to do this correctly at the beginning. ## Setup and Share a Repository -As a team you will choose the name for your team and select someone from your +As a team, you will choose the name for your team and select someone from your + team to be the repo owner. This person will fork this repository and configure it for collaboration: -- Public face of your repository +- **Public face of your repository:** - Change your - [repository description](https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github) - - Add or remove topics from your repository - - Update your main README with your group name and an initial overview of your + [repository description](https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github). + - 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: +- **Under settings in your repository, select:** + - _Issues_ - _Projects_ - _Always suggest updating pull request branches_ -- Collaboration Settings + +- **Collaboration Settings:** - Require a code review for PRs to `main`/`master` ([owanateamachree](https://owanateamachree.medium.com/how-to-protect-the-master-branch-on-github-ab85e9b6b03), [github docs](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/approving-a-pull-request-with-required-reviews)) - - You will need to type `master` into the _Branch name pattern_ input box. - (or type `main` if you have changed your default branch) + - You will need to type `master` into the _Branch name pattern_ input box + (or type `main` if you have changed your default branch). - Select these settings to protect matching branches: - _Require approvals_ - _Dismiss stale pull request approvals when new commits are pushed_ diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 11c583d2b..e54c7f16a 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -1,5 +1 @@ # Learning Goals - -## Collective - -## Individual