Skip to content

Commit

Permalink
Merge branch 'main' into sum_proper_divisors
Browse files Browse the repository at this point in the history
  • Loading branch information
Saeed-Emad authored Jan 12, 2025
2 parents 3c9299b + ac80684 commit 2898898
Show file tree
Hide file tree
Showing 30 changed files with 864 additions and 468 deletions.
1 change: 1 addition & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [

{
"name": "ET: Debug Python (unittest)",
"type": "debugpy",
Expand Down
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,3 @@
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": true
}

133 changes: 119 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,127 @@
# California Group
# MIT G#23 - California Group 🌉
<!-- markdownlint-disable MD033 -->
<div style="text-align: left; margin-bottom: 20px;">
<img src="assets\California intro.gif"
alt="Description of the GIF" style="width: 800px;">
</div>

Welcome to **California Group**,
## **Welcome!**

California is dedicated to fostering a culture of trust, respect, and accountability
while promoting open communication and efficient collaboration. Our goal is to
create an environment that values diverse perspectives, encourages teamwork, and
drives success. We support continuous learning and innovative thinking, enhancing
our collaborative efforts. Our shared commitment to growth and development empowers
![alt text](<assets/Welcome to California.gif>)

We are proudly part of the
**MIT Computer and Data Science Foundations Track _2024-2025_**

**California** is dedicated to fostering a culture of trust, respect, and
accountability
while promoting open communication and efficient collaboration.
Our goal is to
create an environment that values diverse perspectives,
encourages teamwork, and
drives success. We support continuous learning and innovative thinking.
Our shared commitment to growth and development empowers
each member to contribute and learn from collective experiences, ensuring we work
together effectively to achieve success.
_____

## Meet the Team
## Meet the Team 🌞🌴

Each member brings something special to the table.

- **Ava**: Turning coffee into code ☕➡️💻
- **Saeee**: Every mistake is progress, and Teamwork fuels growth ™️ 🤖
- **Nahom**: We ask not for a lighter burden, but for broader shoulders. 💪🌍
- **WuorBhang**: Like comedy! making people laugh 😃
- **Novel Yonas**: I can spend 8 hrs in GYM
- **Hasan**: I breath Cyber Secur1ty 🥷🏼🛡💻
- [**Ava:**](https://github.com/ciiyaa) Turning coffee into code ☕➡️💻
- [**Saeed:**](https://github.com/Saeed-Emad) Every mistake is progress,
and Teamwork fuels growth ™️ 🤖
- [**Nahom:**](https://github.com/phoenix27522) We ask not for a lighter burden,
but for broader shoulders. 💪🌍
- [**WuorBhang:**](https://github.com/WuorBhang) Like comedy!
making people laugh 😃
- [**Novel Yonas:**](https://github.com/Novel-Y) I can spend 8 hrs in GYM
- [**Hasan:**](https://github.com/Hasan-Z) I breath Cyber Secur1ty 🥷🏼🛡💻
- [**Cynthia:**](https://github.com/Cynthia-Wairimu) Crafting solutions,
one line of code at a time. 💻✨
- [**Sadam:**](https://github.com/Urz1) Turning data into dreams with
the power of AI & ML 🤖✨
- [**Ibrahim:**](https://github.com/Ibrahim-Elmisbah) Obsessed with creating and
spotting logical fallacies 🤓🔍🧠
- [**Anyak:**](https://github.com/Anyak7) Technology is the future,
and we are the builders. Let's code, learn, and grow together!

_____

## About This Repository 🏄

![alt text](<assets/california-flag 2.gif>)

This repository is part of the MIT Emerging Talent - Foundation Track program.
It is a dedicated space for learning and practicing Python programming,
as well as improving skills in documentation, testing,
and code review to build a strong foundation in software development.
We achieve this culmination through three key milestones:

### 🚀 Project Kick-Off

We began with a clear vision to tackle a range of coding challenges,
communication rules, group norms and project workflow.

### 🧩 Challenges and Solutions

Throughout the project, we developed a variety of Python solutions
addressing challenges in **mathematics, string processing, geometry,
and logical operations**. Each solution is modular, concise,
and rigorously tested for reliability using both _unittests_ and inline _doctests_.

### ✅ Finalization and Project Closure

In the final phase, we ensured all solutions were
thoroughly tested and refined, ready for use and future development.
This phase marked the successful completion of our collaborative effort.

The `solutions/` directory contains all solutions, each targeting a specific problem.

_Unittests_ are located in the `solutions/tests/` folder to ensure accuracy and
robustness, covering a wide range of scenarios, including edge cases.

## Running Tests

To run all available _unittests_, execute the following from the root directory:

```bash
python -m unittest discover -v
```

_Doctests_ are embedded within the scripts and can be run directly in
**Python** for quick checks.

_____

## Repo Structure

``` plaintext
MIT-Emerging-Talent-Foundation-Track/
├── .github/
├── .vscode/
├── assets/
├── collaboration/
│ ├── guide/
│ ├── Communication.md
│ ├── Constraints.md
│ ├── Learning_goals.md
│ ├── README.md
│ ├── Retrospective.md
├── solutions/
│ ├── tests/
````
_____
## License
This project is licensed under the MIT License.
For more details, see the `LICENSE` file.
_____
<div style="display: flex; justify-content: left;">
<img src="assets\california-beach.gif"
alt="Description of the GIF" style="width: 600px;">
</div>
Binary file added assets/California flag.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/California intro.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Welcome to California.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/california-beach.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/california-flag 2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
152 changes: 57 additions & 95 deletions collaboration/README.md
Original file line number Diff line number Diff line change
@@ -1,119 +1,81 @@
# Collaboration
# 🤝 Collaboration

<!-- group norms summary -->

## Group Norms Summary
## 🌟 Group Norms Summary

Our team prioritizes productivity through clear communication, timely task
delivery, and collaborative problem-solving. We hold efficient, purposeful
meetings and make decisions democratically. By fostering a supportive
environment, we ensure every member's contributions drive
progress toward our shared goals.
Our team prioritizes productivity through:
📣 Clear communication
⏰ Timely task delivery
🤔 Collaborative problem-solving
We hold efficient, purposeful meetings 🗓️ and make decisions democratically.
By fostering a supportive environment 🫂, we ensure every member's contributions
drive progress toward our shared goals.

<!-- group norms list -->
## Group Norms for Effective Collaboration
## 🚀 Group Norms for Effective Collaboration

### 1. Building Trust
### 1. 🤝 Building Trust

- Trust is built through action: deliver tasks on
time, with quality, and clarity.
- Foster trust by assuming good intentions and maintaining
honesty and transparency.
- Acknowledge each member's contributions regularly and openly.
- Clearly define tasks, deadlines, and expectations to avoid misunderstandings.
- Respect others’ time and schedules, and ask for help when needed.
- ✅ Deliver tasks on time, with quality and clarity.
- 🛡️ Foster trust through honesty and transparency.
- 🎉 Acknowledge contributions regularly and openly.
- 📌 Define tasks, deadlines, and expectations clearly.
- 🕒 Respect others’ time and ask for help when needed.

### 2. Strengthening Relationships
### 2. 🤗 Strengthening Relationships

- Listen actively during discussions, ensuring everyone feels heard.
- Avoid interrupting or dismissing others’ ideas.
- Avoid personalizing conflicts and focus on solutions.
- Show appreciation for teammates' efforts and celebrate collective successes.
- Use constructive feedback to resolve disagreements, offering
solutions rather than criticism.
- 🛑 Avoid interrupting or dismissing others’ ideas.
- 👂 Listen actively to ensure everyone feels heard.
- 🛠️ Focus on solutions, not personalizing conflicts.
- 🙌 Show appreciation and celebrate successes.
- ✍️ Use constructive feedback to resolve disagreements.

### 3. Communication Practices
### 3. 💬 Communication Practices

- Use Google Meet for major decisions and updates.
- Slack or WhatsApp is preferred for detailed discussions and quick questions.
- Keep dedicated project files organized and accessible to everyone.
- Share meeting notes, updates, and agendas on Slack for transparency.
- 📞 Use Google Meet for major updates and decisions.
- 💻 Use Slack or WhatsApp for quick questions and discussions.
- 📂 Keep files organized and accessible to all.
- 📝 Share meeting notes and updates on Slack for transparency.

### 4. Meetings and Coordination
### 4. 🗓️ Meetings and Coordination

- Plan meetings using Slack polls and finalize times with Google Calendar.
- Assign roles for smooth coordination:
- **Coordinator**: Manage meetings and oversee organization.
- **Vice-Coordinator**: Record outcomes and handle updates.
- **Technical Supervisor**: Oversee project technicalities and support the team.
- Meetings should only be held when they add value.
- Set the agenda for each meeting during the previous one to ensure preparedness.
- Wait a maximum of 5 minutes for late members before proceeding.
- Start and end meetings on time, adhering to a clear agenda.
- Promote open communication about scheduling preferences and potential conflicts.
- 🗳️ Plan meetings with Slack polls, finalize times on Google Calendar.
- 🎯 Assign roles for smooth coordination:
- **Coordinator**: Manages meetings and organization.
- **Vice-Coordinator**: Records outcomes and updates.
- **Technical Supervisor**: Oversees technical aspects.
- 🕔 Wait a max of 5 minutes for late members before proceeding.
- ⏱️ Start and end meetings on time with a clear agenda.

### 5. Balancing Discussions and Debates
### 5. ⚖️ Balancing Discussions and Debates

- Prioritize discussions over debates in most cases.
- Engage in discussions to explore ideas and seek consensus.
- Reserve debates for situations with well-formed differing opinions.
- Define the purpose of each debate, avoid redundancy, and listen to diverse perspectives.
- 💡 Prioritize discussions over debates for most decisions.
- 🤝 Seek consensus during discussions.
- 🔄 Reserve debates for clear, differing opinions.
- 🎯 Focus debates on specific purposes and diverse perspectives.

### 6. Decision-Making and Conflict Resolution
### 6. 🗳️ Decision-Making and Conflict Resolution

- Discuss disagreements calmly in dedicated meetings.
- Use a democratic approach:
- In meetings: Quick voting, with the majority deciding.
- Online: Slack or WhatsApp polls with a 12-hour response window.
- 🤔 Discuss disagreements calmly in meetings.
- 🗳️ Use democratic voting:
- **Meetings**: Majority vote.
- **Online**: Slack or WhatsApp polls (12-hour response).

### 7. Rebuilding Trust When Broken
### 7. 🔄 Rebuilding Trust When Broken

- Address concerns openly and focus on solutions rather than assigning blame.
- Take responsibility for mistakes and commit to improvement.
- Reset expectations and work collaboratively to rebuild confidence.
- 🤗 Address concerns openly and focus on solutions.
- 🤝 Take responsibility for mistakes and commit to improving.
- 📅 Reset expectations and rebuild confidence together.

### 8. Respectful Collaboration
### 8. 🤝 Respectful Collaboration

- Respect is shown by acknowledging ideas, even if they’re not adopted.
- Constructive disagreements involve proposing alternatives or seeking solutions.
- Avoid ignoring deadlines, input, or contributions from team members.
- 🤗 Acknowledge ideas, even if not adopted.
- ✍️ Propose alternatives when disagreeing constructively.
- 🚫 Avoid ignoring deadlines or team contributions.

### 9. Fostering Positivity and Inclusion
### 9. 🌟 Fostering Positivity and Inclusion

- Use emoji codes for quick replies and a "compliments jar" in Slack
to recognize contributions.
- During challenging discussions, pause to ensure everyone feels heard.

## Team Introduction

Welcome to our project! We're excited to share a bit about the vibrant team
behind the scenes. Each member brings unique talents and personalities that
contribute to our success. Here’s a little introduction to our team:

## Meet Our Team 🎉

### 1. Wuor Bhang

- Fun Fact: I like comedy! Whether it’s stand-up or witty banter,
I love what make people laugh. It's all about bringing joy and a positive
vibe to our work!

### 2. Novel Yonas

- Fun Fact: I can spend 8 hrs in GYM.

### 3. [Team Member Name]

- Fun Fact: [Fun fact or something they’d like to share.]

### 4. [Team Member Name]

- Fun Fact: [Fun fact or something they’d like to share.]

### 5. [Team Member Name]

- Fun Fact: [Fun fact or something they’d like to share.]

### 6. [Team Member Name]

- Fun Fact: [Fun fact or something they’d like to share.]
- 😄 Use emoji codes for quick responses.
- 🎁 Keep a "compliments jar" in Slack to recognize contributions.
- 🙋 Pause during challenging discussions to ensure everyone is heard.
Loading

0 comments on commit 2898898

Please sign in to comment.