Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
f0d4f36
Updated group norms in README
Derekkarungani Dec 26, 2024
e42a2ef
Merge pull request #6 from MIT-Emerging-Talent/2-group-norms-readme
TibyanKhalid Dec 27, 2024
f4569b8
Updated README.md with additional changes
Derekkarungani Dec 27, 2024
6667d24
Updated README.md with additional changes
Derekkarungani Dec 27, 2024
a92aa2a
Fix Markdown formatting issues
Derekkarungani Dec 27, 2024
0e9bd93
Fix Markdown formatting issues
Derekkarungani Dec 27, 2024
23920a1
Fix Markdown formatting issues
Derekkarungani Dec 27, 2024
c44f17f
I have made some changes in emojis, and added more details in the com…
TibyanKhalid Dec 27, 2024
2104e4d
Minor change to escape the md formatting error.
TibyanKhalid Dec 27, 2024
20de1b5
Added some punctuations
TibyanKhalid Dec 27, 2024
9232200
Edits for the md formatting checks
TibyanKhalid Dec 27, 2024
61a9d65
Some edits for md formatting error
TibyanKhalid Dec 27, 2024
70bb6c9
Merge pull request #7 from MIT-Emerging-Talent/2-group-norms-readme
TibyanKhalid Dec 27, 2024
ceccb80
Added communication.md in the collaboration folder
Frank2446-dotcom Dec 28, 2024
a2e8656
Initial commit
Kareiman Dec 28, 2024
ba172e3
Added communication.md in the collaboration folder
Frank2446-dotcom Dec 28, 2024
aafe1e7
Added communication.md in the collaboration folder
Frank2446-dotcom Dec 28, 2024
ad9aa49
Merge pull request #8 from MIT-Emerging-Talent/communication
Emanfalouji Dec 28, 2024
3584d52
constraints.md
Kareiman Dec 28, 2024
3a4d54c
contraints updates
Kareiman Dec 28, 2024
5f64d5e
contraints update
Kareiman Dec 28, 2024
09b8988
contraints update
Kareiman Dec 28, 2024
7db6da6
added learnig goals
AzzaOmer1 Dec 28, 2024
b1383b4
edit formatting learnig goals
AzzaOmer1 Dec 28, 2024
df526a9
Merge pull request #11 from MIT-Emerging-Talent/learning_goals
safaabuzaid Dec 28, 2024
cdceb02
branch updates
Kareiman Dec 29, 2024
c85a7e9
Some minor edits
TibyanKhalid Dec 29, 2024
20b968e
Fix Markdown issues and push constraints.md
Kareiman Dec 29, 2024
4dbe907
Fix Markdown formatting issues
Kareiman Dec 29, 2024
ad6d8df
Fix Markdown formatting issue
Kareiman Dec 29, 2024
3abac60
Updated markdown content
Kareiman Dec 29, 2024
701931b
Updated markdown content2
Kareiman Dec 29, 2024
b9a4728
Update constraints.md
Kareiman Dec 29, 2024
3c21393
Update constraints.md
Kareiman Dec 29, 2024
ab8df39
Update constraints.md
Kareiman Dec 29, 2024
b731b5a
Update constraints.md
Kareiman Dec 29, 2024
a0ac3fe
Updated markdown content2
Kareiman Dec 29, 2024
188760e
Updated markdown content2
Kareiman Dec 29, 2024
fb2191d
Updated markdown content2
Kareiman Dec 29, 2024
30c247f
Updated markdown content2
Kareiman Dec 29, 2024
9ba43e3
Fixed
TibyanKhalid Dec 29, 2024
5aedefc
Merge pull request #12 from MIT-Emerging-Talent/Fixing-branch
TibyanKhalid Dec 29, 2024
bd22c5f
Updated markdown content2
Kareiman Dec 29, 2024
ee96878
Merge pull request #10 from MIT-Emerging-Talent/5-constraints
Kareiman Dec 29, 2024
41dd260
communication
Emanfalouji Dec 31, 2024
66f6524
Resolve conflict with upstream/main
TibyanKhalid Jan 1, 2025
dba8df3
Merge pull request #22 from MIT-Emerging-Talent/Conflict_main
Derekkarungani Jan 1, 2025
0459bab
Merge branch 'MIT-Emerging-Talent:main' into main
TibyanKhalid Jan 1, 2025
4820930
edit it
AzzaOmer1 Jan 2, 2025
dee5447
Merge pull request #30 from MIT-Emerging-Talent/learning_goals
safaabuzaid Jan 2, 2025
675d7e9
Add dictionary merge solution and related test
Frank2446-dotcom Jan 3, 2025
5e555c6
Updated comments and covered all reviews
Frank2446-dotcom Jan 11, 2025
2be0563
Resolved issues in Dictionary-Merging-with-Conflict-Resolution branch
Frank2446-dotcom Jan 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,9 @@
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.ruff": true,
"source.organizeImports.ruff": true
"source.fixAll.ruff": "explicit",
"source.organizeImports.ruff": "explicit"
}
}
},
"cSpell.words": ["unittests"]
}
64 changes: 62 additions & 2 deletions collaboration/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,65 @@
# Collaboration
# 🌟Our Group Norms🌟

<!-- group norms summary -->

<!-- group norms list -->
We are committed to fostering a respectful, inclusive, and
collaborative environment that values trust, open communication,
and mutual support. These norms will guide our interactions and
help us achieve our shared goals while accommodating individual
differences and challenges. By adhering to these principles, we
aim to create a team culture that drives success and personal
growth.

<!-- group norms list -->

## 📋 Group Norms for Collaboration

**💌 Foster a Safe and Inclusive Environment**
Create a supportive space where everyone feels comfortable
sharing ideas, asking questions, and expressing challenges.
Include mental health concerns without fear of judgment.

**🤝 Build and Maintain Trust**
Commit to delivering quality work, meeting deadlines, and
keeping promises. Encourage openness and collaboration by
sharing expertise and asking for help when needed.

**💡 Resolve Issues Constructively**
Approach challenges with empathy and focus on solutions. Use
open, non-confrontational communication. Involve mediation
if necessary to maintain professionalism and respect.

**⚖️ Balance Collaboration and Decision-Making**
Use discussions for brainstorming and debates for decisions.
Ensure all perspectives are valued, and disagreements are
handled constructively.

**⏰ Respect Each Member’s Time**
Plan meetings only when essential and provide agendas early.
Use a shared calender to accommodate schedules and streamline
communication.

**📢 Ensure Transparent Communication**
Discussions and Progress Tracking: GitHub Issues, Pull Requests, project board.

Quick Updates: Slack.

Planning and Documentation: Shared Google Docs.

Synchronous Meetings: Zoom for discussions or decision-making.

**🎉 Celebrate Contributions and Milestones**
Recognize and celebrate team achievements. Foster a positive
and motivating atmosphere for all members.

**🔄 Adapt and Support Flexibility**
Be adaptable to personal challenges or unforeseen issues.
Maintain a forgiving and understanding spirit.

**🔍 Reflect and Improve Together**
Regularly review team processes and suggest improvements to
enhance collaboration, productivity, and growth.

**🚀 Strive for Shared Purpose and Growth**
Align individual and team goals to ensure meaningful work.
Foster development, purpose, and shared accomplishments.
114 changes: 79 additions & 35 deletions collaboration/communication.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,98 @@
<!--
this template is for inspiration, feel free to change it however you like!

Careful! be sure to protect your privacy when filling out this document
everything you write here will be public
so share only what you are comfortable sharing online
you can share the rest in confidence with you group by another channel
-->

# Communication

______________________________________________________________________
---

## Communication Schedule

| Day | How | The topic of discussion | | --- | :-: | ----------------------- |
| | | |
| **Day** | **How** | **Topic of Discussion** |
|---------------|-------------------|---------------------------------|
| Friday/Sunday | Video call (Zoom) | Updates, discussions, decisions |
| Everyday | Slack | Quick questions, announcements |

---

## Communication Channels

how often will we get in touch on each channel, and what we will discuss there:
**How often will we use each channel and what for:**

- **Issues**:
- **Pull Requests**:
- **Slack/Discord**:
- **Video Calls**:
- **Issues**:
- **Frequency**: Daily or as needed.
- **Topics**: Bugs, features, docs, and project discussions.

______________________________________________________________________
- **Pull Requests**:
- **Frequency**: When ready for review.
- **Topics**: Code feedback, changes, and approval.

## Availability
- **Slack/Discord**:
- **Frequency**: Continuously.
- **Topics**: Questions, updates, links, and team bonding.

### Availability for calling/messaging
- **Video Calls**:
- **Frequency**: Weekly or bi-weekly.
- **Topics**: Planning, retrospectives, and complex issues.

| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | |
------ | :----: | :-----: | :-------: | :------: | :----: | :------: | :----: |
| _name_ | | | | | | | |
---

### How many hours everyone has per day
## Availability

- name: _5h_;
- name: _6h_;
- name: _5h_;
- name: _4h_;
- name: _3h_;
### Availability for Calling/Messaging

| **Day** | **Mon** | **Tue** | **Wed** | **Thu** | **Fri** |
|-----------|:-------:|:-------:|:-------:|:-------:|:-------:|
| Derek | ✔ | ✔ | ✔ | ✔ | ✔ |
| Safaa | ✔ | ✔ | ✔ | ✘ | ✘ |
| Frankline | ✔ | ✔ | ✔ | ✔ | ✔ |
| Tibyan | ✘ | ✔ | ✘ | ✘ | ✔ |
| Azza | ✔ | ✔ | ✔ | ✘ | ✘ |
| Kareiman | ✔ | ✔ | ✔ | ✔ | ✔ |
| Eman | ✔ | ✔ | ✔ | ✔ | ✔ |
| Shima | ✔ | ✘ | ✔ | ✔ | ✔ |

| **Day** | **Sat** | **Sun** |
|-----------|:-------:|:-------:|
| Derek | ✔ | ✔ |
| Safaa | ✘ | ✘ |
| Frankline | ✘ | ✘ |
| Tibyan | ✔ | ✔ |
| Azza | ✔ | ✔ |
| Kareiman | ✔ | ✔ |
| Eman | ✔ | ✔ |
| Shima | ✔ | ✘ |

---

### Hours Available Per Day

| **Name** | **Mon** | **Tue** | **Wed** | **Thu** | **Fri** |
|------------|---------|---------|---------|---------|---------|
| Ambetsa | 2 | 2 | 2 | 2 | 2 |
| Derek | 2 | 2 | 2 | 2 | 2 |
| Safaa | 2 | 2 | 2 | ✘ | ✘ |
| Shima | 2 | ✘ | 3 | 3 | 3 |
| Tibyan | 1 | 6 | 1 | 1 | 6 |
| Azza | 2 | 7 | 7 | ✘ | ✘ |
| Kareiman | 6 | 6 | 6 | 6 | 3 |
| Eman | 2 | 2 | 2 | 2 | 2 |

| **Name** | **Sat** | **Sun** |
|------------|---------|---------|
| Ambetsa | ✘ | ✘ |
| Derek | 2 | 2 |
| Safaa | 2 | 2 |
| Shima | 3 | ✘ |
| Tibyan | 6 | 6 |
| Azza | 2 | 7 |
| Kareiman | 4 | 4 |
| Eman | 3 | 3 |

---

## Asking for Help

There's a fine line between confidently learning from your mistakes, and
stubbornly getting no where. Here is a general guide for when to ask for help
based on how long you've been stuck on the same problem:
Guidelines for asking help:

1. **0-30 min**: Try solving independently.
2. **30-60 min**: Ask group members for help.
3. **60+ min**: Tag coaches on Slack/GitHub.

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
---
84 changes: 58 additions & 26 deletions collaboration/constraints.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,66 @@
<!-- this template is for inspiration, feel free to change it however you like! -->
# ⚙️ Project Boundaries & Constraints

# Constraints
## 🚧 Clear Boundaries for Efficiency

Some boundaries around our project.
To ensure efficiency and balanced contributions,the project should have
clear boundaries.

## External
Roles and responsibilities should be well-defined to prevent
overlapping efforts.

<!--
constraints coming from the outside that your team has no control over:
- project deadlines
- number of unit tests required to pass a code review
- technologies (sometimes a client will tell you what to use)
- power or connectivity
- ...
-->
Expectations should be set for balanced contributions, considering
members' constraints.

## Internal: Involuntary
A culture of constructive feedback and solution-focused discussions
should be established.

<!--
constraints that come from within your team, and you have no control over:
- each of your individual skill levels
- amount of time available to work on the project
-->
A clear process for resolving conflicts is essential.

## Internal: Voluntary
These boundaries aim to create a productive and supportive
environment for the team

<!--
constraints that your team decided on to help scope the project. they may include:
- coding style & conventions
- agree on a code review checklist for the project repository
- the number of hours you want to spend working
- only using the colors black and white
-->
## 🌍 External Constraints

The team faces several external constraints impacting collaboration:

* **🌍 Timezones:** Remote work across different timezones can
be challenging.
* **🌐 Internet Access:** Limited or unstable internet access complicates
communication and online collaboration.
* **👨‍👩‍👧‍👦 Family & Work:** Some members are constrained by family and work
responsibilities.
* **📚 Academic Commitments:** Others face time limitations due to
university exams.

## ⚙️ Internal Involuntary Constraints

'''The team faces several **internal involuntary constraints** that affect
their progress:'''

* **📂 Git & GitHub Knowledge:** Many members lack prior knowledge or
experience with Git and GitHub.
* **🛠️ Technical Expertise:** Limited technical expertise, combined with
new skills
required, is a challenge to the team members.
* **⏳ Time Availability:** Balancing professional commitments and personal
responsibilities limits availability.

These factors create hurdles in both **skill development** and
**team collaboration**.

## 🛠️ Internal Voluntary Constraints

Members commit to the following **voluntary constraints** to ensure
steady progress:

* **📝 Daily Progress Updates:** Members will provide daily updates on
their progress.
* **💻 Medium-level Coding Challenges:** Focus on coding challenges that
match everyone's skill level to promote learning.
* **⚖️ Balancing Commitments:** Prioritizing a balance between project
work and other commitments.
* **📬 Asynchronous Communication:** Emphasis on using asynchronous methods
like GitHub issues and pull requests.

These guidelines aim to foster effective teamwork, skill development, and
steady project progress.
50 changes: 48 additions & 2 deletions collaboration/learning_goals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,51 @@
# Learning Goals

## Collective
## 🏆 Collective Objectives 🏆

## Individual
### 🧑‍💻 Seamless Collaboration and Version Control

- Use Git and GitHub effectively for version control and
collaboration in group projects.
- Enhance team dynamics through effective use of GitHub features like
pull requests and issue tracking.
- Implement best practices for version control, code reviews,
and continuous integration.

### 🤝 Strengthen Team Collaboration and Communication

- Build strong teamwork through mutual support, exchanging ideas,
and solving problems together.
- Foster open communication and feedback to improve group performance.
- Navigate and manage conflicts in group settings to strengthen collaboration.

### 🎯 Deliver Exceptional Outcomes

- Maintain high standards in code quality, documentation, and achieve project
milestones through collective effort.
- Participate in constructive code reviews and refine solutions collectively.

### 🌐 Expand Professional Networks

- Strengthen team connections for future opportunities and collaborations.
- Build relationships that support professional growth within and outside the team.

## 🚀 Individual Objectives 🚀

Each team member will pursue the following professional development objectives:

- Practice Python to improve skills, write clean and readable code, and learn
from good examples.
- Explore computer science topics, focusing on debugging, testing, and unit testing.
- Apply Python in data analysis and science.

- Learn and effectively use Git and GitHub for collaboration and group projects.
- Gain confidence in debugging with tools like pdb,the VSCode debugger, and the
trace module.

- Work well in groups, exchange ideas, and improve through feedback and code reviews.
- Build connections and improve communication skills.

- Practice coding, documenting, testing, and debugging by solving challenges.

- Practice writing Python code using new language features.
- Explore academic topics and non-academic skills to build diverse expertise.
29 changes: 29 additions & 0 deletions solutions/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,30 @@
# Solutions

## Merge Dictionaries Solution

This repository contains a Python solution to merge two dictionaries.
The solution merges two dictionaries by resolving conflicts based on an optional
conflict resolution function.

### Features

- Merges two dictionaries.
- Resolves conflicts with a custom function, or by default, `dict2` overwrites `dict1`.

### How to Run

1. Clone the repository.
2. Install dependencies (if any).
3. Run the tests:

```bash
python -m unittest solutions/tests/test_merge_dictionaries.py
```

### Example

```python
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged = merge_dictionaries(dict1, dict2)
print(merged) # Output: {'a': 1, 'b': 3, 'c': 4}
1 change: 0 additions & 1 deletion solutions/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@

Loading