Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
5f3e05a
learning-goals-readme-done #2
aandom Dec 29, 2024
9c71170
learning-goals-fix-typo #2
aandom Dec 29, 2024
db8b94c
Merge pull request #4 from MIT-Emerging-Talent/learning-goals
Tbaosman Dec 29, 2024
02bca92
Completed and refined the constraints file
Tbaosman Dec 29, 2024
3961f35
Merge branch 'main' into constraints
Tbaosman Dec 29, 2024
6eb0cfb
Merge pull request #5 from MIT-Emerging-Talent/constraints
aandom Dec 29, 2024
e9df607
Merge pull request #10 from MIT-Emerging-Talent/main
Tbaosman Dec 31, 2024
20272ea
add base readme file
kefahalshaer Dec 31, 2024
158c05b
Done with the challenge'longest substring' and its test file
Tbaosman Dec 31, 2024
6ef2922
Added the Module docstring
Tbaosman Jan 1, 2025
e8337fc
Merge pull request #13 from MIT-Emerging-Talent/6-longest-substring
aandom Jan 1, 2025
25ab682
is-leap-year-challenge-done
aandom Jan 1, 2025
532cabe
is-leap-year-chal-fix-format
aandom Jan 1, 2025
c1d2b86
is-leap-year-ch-done #16
aandom Jan 1, 2025
fdb8f2f
Merge pull request #17 from MIT-Emerging-Talent/is-leap-year
Tbaosman Jan 1, 2025
474d17f
is-palindrome-ch-done #18
aandom Jan 1, 2025
ef371e9
Done anagram checker challenge and its test file
Tbaosman Jan 1, 2025
5bbc689
binary-search-ch-done #22
aandom Jan 2, 2025
a943e62
Merge pull request #21 from MIT-Emerging-Talent/7-anagram-checker
aandom Jan 2, 2025
cb6cc1e
Updated Collaboration README.md with Group Norms
tamirwaleed Jan 2, 2025
5035834
Fixed typo in README.md
tamirwaleed Jan 2, 2025
b4b887b
Fixed the CI/CD issues in README.md
tamirwaleed Jan 2, 2025
3d8f925
Fixed additional md linting in README.md
tamirwaleed Jan 2, 2025
c26aea7
Done communication file
Dr-Amin-K Jan 3, 2025
31a1d55
Merge pull request #27 from MIT-Emerging-Talent/GP25_Group-Norms
Tbaosman Jan 3, 2025
acdeccc
Merge pull request #23 from MIT-Emerging-Talent/binary-search
mohd-makki Jan 3, 2025
75a7293
Merge pull request #33 from MIT-Emerging-Talent/main
Tbaosman Jan 4, 2025
5e82861
corrected
Dr-Amin-K Jan 4, 2025
36eec0f
Done multiplication table challenge with its test file
Tbaosman Jan 4, 2025
8d479ba
Done count capitalized words challenge and its test file
Dr-Amin-K Jan 4, 2025
1859124
Merge pull request #30 from MIT-Emerging-Talent/communication
aandom Jan 5, 2025
e6ac531
Merge pull request #35 from MIT-Emerging-Talent/multiplication-table
Tbaosman Jan 5, 2025
fb156be
completed prime numbers challenge
Alaa-Elgozouli Jan 5, 2025
06fd29c
made a slight change to pass CI checks
Alaa-Elgozouli Jan 5, 2025
58c7eb3
edited to pass py tests
Alaa-Elgozouli Jan 5, 2025
a7ca8ae
completed missing number challenge
Alaa-Elgozouli Jan 5, 2025
72da85c
edited according to what my reviewer commented
Alaa-Elgozouli Jan 6, 2025
2a0dc86
Merge pull request #38 from MIT-Emerging-Talent/32-checking-prime-num…
Alaa-Elgozouli Jan 6, 2025
f0d91cf
ready and set for review again
Alaa-Elgozouli Jan 6, 2025
c884fc4
code will not pass py tests as an error will occur in the case of inv…
Alaa-Elgozouli Jan 6, 2025
70e5dc5
fixed formatting error
Alaa-Elgozouli Jan 6, 2025
967c0a1
edited formatting errors
Alaa-Elgozouli Jan 6, 2025
5d8272c
trying again with formatting error
Alaa-Elgozouli Jan 6, 2025
dd0bab6
add an assertion to pass through the py tests
Alaa-Elgozouli Jan 6, 2025
231bdc6
Merge pull request #37 from MIT-Emerging-Talent/count-capitalized-words
Alaa-Elgozouli Jan 6, 2025
22a2804
Merge pull request #42 from MIT-Emerging-Talent/main
Alaa-Elgozouli Jan 6, 2025
d34c875
Done missing numbers challenge and its test file
Dr-Amin-K Jan 7, 2025
c4e01bf
added a third example
Alaa-Elgozouli Jan 7, 2025
09d2d30
Merge pull request #39 from MIT-Emerging-Talent/34-missing-number
aandom Jan 7, 2025
9ceba47
Merge pull request #19 from MIT-Emerging-Talent/is-palindrome
Dr-Amin-K Jan 7, 2025
6c67b28
Merge branch 'main' into missing-numbers
mohd-makki Jan 7, 2025
933fa62
Merge pull request #44 from MIT-Emerging-Talent/missing-numbers
mohd-makki Jan 7, 2025
fb3cb76
Revert "Done missing numbers challenge and its test file"
Tbaosman Jan 8, 2025
f5aafdf
Merge pull request #47 from MIT-Emerging-Talent/revert-44-missing-num…
Tbaosman Jan 8, 2025
93bf648
Merge pull request #48 from MIT-Emerging-Talent/main
Tbaosman Jan 8, 2025
367365e
Completed the max integer challenge
tamirwaleed Jan 8, 2025
d5f0936
Fixed tests and formatting
tamirwaleed Jan 8, 2025
02bd25a
Fixed tests
tamirwaleed Jan 8, 2025
5e5c079
Fixed tests
tamirwaleed Jan 8, 2025
3548a32
Fixed tests
tamirwaleed Jan 8, 2025
48b69eb
update base readme file
kefahalshaer Jan 8, 2025
5faf0b5
Merge pull request #12 from MIT-Emerging-Talent/11-upload-base-readme…
Tbaosman Jan 8, 2025
0a8a3c1
Added my learning goals, completed the min integer challenge
tamirwaleed Jan 9, 2025
55c6cbf
Fixed formatting
tamirwaleed Jan 9, 2025
88a33e8
Merge pull request #50 from MIT-Emerging-Talent/Max-Integer
mohd-makki Jan 9, 2025
94cf131
Fix formatting issues caused by an update
Tbaosman Jan 10, 2025
b10f648
Merge pull request #57 from MIT-Emerging-Talent/fix_formatting_errors
tamirwaleed Jan 10, 2025
d43d24e
Done missing numbers challenge and its test file
Dr-Amin-K Jan 10, 2025
a3f40bf
Done missing numbers challenge and its test file2
Dr-Amin-K Jan 10, 2025
11486ee
Merge pull request #59 from MIT-Emerging-Talent/missing_numbers
mohd-makki Jan 10, 2025
8cb906f
Merge branch 'main' into Min-Integer
Alaa-Elgozouli Jan 11, 2025
b54bbf6
Fixed PascalCase & Spelling Error
tamirwaleed Jan 12, 2025
4e3dd98
upload maximum_length.py challenge
kefahalshaer Jan 12, 2025
2706532
Merge pull request #53 from MIT-Emerging-Talent/Min-Integer
Alaa-Elgozouli Jan 12, 2025
b7266a4
upload test_maximum_length.py file
kefahalshaer Jan 12, 2025
9dbd75e
Merge branch 'main' into 54-maximum-length-of-a-concatenated-string-w…
kefahalshaer Jan 12, 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
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# 👋 Welcome: This is ⚡`PyRectifiers`⚡Group

🚀 **"Alone we can do so little; together, we can achieve so much."**

## We made this repository to practice what we learn in the `MIT Foundational Track`

``` text
💡 Our Vision:
To collaborate, innovate, and deliver impactful solutions.
This repository serves as our central hub for all documentation,
project discussions, and code contributions.
```

### ⭐ Key Objectives

* Contribute meaningful 2 challenges at least, and review peers'
code for continuous improvements.

### 📂 Repository Structure

* **`main`**: The primary branch containing stable and reviewed code.
* **`collaboration/`**: Contain our group's learning goals, constrains, and
scheduling our team's meeting.
* **`notes/`**: Project's and team's notes.
* **`solutions/`**: Python solutions and corresponding test files for coding challenges.

### ✨ Our Journey

Our team's key insights, learnings, and collaborative decision-making processes:
Documented all in [`collaboration/`](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-25/tree/main/collaboration)
44 changes: 41 additions & 3 deletions collaboration/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# Collaboration
# 🐍 We're the PyRectifiers 🛠️

<!-- group norms summary -->
## *We're here to rectify your Pythons!*

<!-- group norms list -->
---

## 📜 Group Norms

### ⏰ Respecting Each Other’s Time

- **Meetings** will be scheduled **at least one day a week**.
- **Additional Meetings** will be scheduled **48-hours** beforehand.
- 🗳️ **Meeting times** will be voted on in Slack the day before.

### 📡 Communication

- **Maintain communication** on Slack—let’s keep the discussions flowing! 💬
- Feel free to **ask for help**; we’re here to support each other! 🙌

### 🗓️ Meetings

- **Prepare for meetings** with pre-defined agendas beforehand.
- **Use Google Meet** for a smoother meeting experience. 🎥
- **Weekly milestones** will help us track progress. 🏁
- **Internal milestone** will be Jan. 7 ⏱

### 🏗️ Repository Management

- Follow **naming conventions** for challenges that reflect their behavior.
- Preferably, the branches/issues will be named as *"GP25_challenge-name"*
- Choose **1 or 2 people** to handle repository updates to ensure consistency.

### 🔧 Collaboration Tips

- Stay **active on Slack** to stay in the loop and contribute effectively. 🖇️
- Let’s make meetings productive and focused to avoid unnecessary delays.

---

## 🤝 Together, We’ll Rectify Pythons! 🐍✨

With great communication, preparation, and teamwork?
We’ll keep things rectified—just like PyRectifiers should! 🎉
79 changes: 47 additions & 32 deletions collaboration/communication.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,69 @@
<!--
this template is for inspiration, feel free to change it however you like!
# Communication

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 Schedule

# Communication
| Day | How | The topic of discussion |
|------------|------------------|-----------------------------------------------|
| All | Slack | Various discussions |
| Sunday | Zoom/Google Meet | Introducing ourselves; Discussing Group Norms |
|(22/12/2024)| | |
| Tuesday | Google Meet | Discussing the Challenges (with a Demo) |
|(24/12/2024)| | |
| Friday |Google Meet | Discussing the Collaboration Documents, |
|(27/12/2024)| | assigning members, discussing the Challenges, |
| | | and working on the repository |
| Thursday | Google Meet | Discussing the work progress |
|(02/01/2025)| | |

______________________________________________________________________

## Communication Schedule
## Communication Channels

| Day | How | The topic of discussion | | --- | :-: | ----------------------- |
| | | |
How often will we get in touch on each channel, and what we will discuss there:

## Communication Channels
- **Issues**:
- **Frequency**: As needed.
- **Purpose**: To track tasks, assign the responsibilities, and report the bugs.

how often will we get in touch on each channel, and what we will discuss there:
- **Pull Requests**:
- **Frequency**: Daily.
- **Purpose**: To share the codes and documents, review the contributions,
and approve changes.

- **Issues**:
- **Pull Requests**:
- **Slack/Discord**:
- **Video Calls**:
- **Slack**:
- **Frequency**: Daily.
- **Purpose**: To ask questions and provide answers, and to update the group members
on the work and the meetings.

- **Video Calls**:
- **Frequency**: As discussed (often, twice a week).
- **Purpose**: To discuss the collaborative work in detail, and to organize
and plan the upcoming steps and future work.

______________________________________________________________________

## Availability

### Availability for calling/messaging

| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | |
------ | :----: | :-----: | :-------: | :------: | :----: | :------: | :----: |
| _name_ | | | | | | | |
<!-- markdownlint-disable MD013 -->
| Days | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
|-------------------------|:-------:|:--------:|:----------:|:---------:|:-------:|:---------:|:-------:|
| Amin Abd Elraheem | 9am-2pm | 9am-2pm | 9am-2pm | 9am-2pm | 9am-2pm | 9am-2pm | 9am-2pm |
| Mohamed Saeed | 9am-3pm | 9am-3pm | 9am-3pm | 9am-3pm | 9am-3pm | 9am-3pm | 9am-3pm |
| Name | ... | ... | ... | ... | ... | ... | ... |

### How many hours everyone has per day

- name: _5h_;
- name: _6h_;
- name: _5h_;
- name: _4h_;
- name: _3h_;
- Amin Abd Elraheem: _5hrs_
- Mohamed Saeed: _6hrs_
- Name: _...hrs_

## 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:
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.
72 changes: 50 additions & 22 deletions collaboration/constraints.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,62 @@
<!-- this template is for inspiration, feel free to change it however you like! -->

# Constraints

Some boundaries around our project.
---

This file reflects some boundaries and challenges that may face our group and project

## External

<!--
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
- ...
-->
These are constraints coming from the outside and we (as a team)
have no control over, for example:

- **Project deadlines**
- The project must be completed within 3 weeks, with a clear
deadline for each deliverable.
- **Programming Language: Python**
- Python will be used to build the project. No other languages
or frameworks will be used.
- **Version Control with GitHub:**
- The code related to the project has to be pushed to the GitHub
repository And pull requests should be reviewed before merging.
- **Testing Framework: Unittest**
- For testing purposes, the project will use unittest for Python.
And no other testing libraries or frameworks will be introduced.
- **Documentation Standards:**
- During the project, all code should have clear and concise
documentation (using docstrings).
- **Team Size:**
- A team of 10 members will work on this project.
All members will be expected to collaborate.

## Internal: Involuntary

<!--
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
-->
These are constraints that come from within our team and we have no
control over but we can work on mitigating them:

- **Skills level:**
- Team members have different levels of experience and
familiarity with programming, Git&GitHub.

- **amount of time available to work on the project**
- Due to work or life responsibilities, each team member
has a different amount of time that he can use to work on this project.
- **Communication issues**

## Internal: Voluntary

<!--
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
-->
These are the types of constraints that we’ve decided on to help scope the project.
They include:

- coding style & conventions
- Follow the code review checklist for the project repository
- The number of hours you want to spend working
- Agreed to use Slack as the main communication channel
- Agreed to use Google Meet for meetings
- We may share the insights or challenges that we faced during problem-solving
to help others learn and reduce the potential time that may be wasted on debugging
- Meeting Frequency and Duration:
- Group meetings should be held at least once a week for up to 1 hour. That said,
team availability will factor into scheduling and it’s expected that all team
members will participate.
- Agreed on completing any outstanding tasks by **January** the **7th**.
92 changes: 90 additions & 2 deletions collaboration/learning_goals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,93 @@
# Learning Goals

## Collective
Our learning goals are categorized into two main areas: Focuses on Collective
Goals, that is improving together as a team and Individual Goals helping
individual areas of growth based on the aspirations of each member. This
structured approach guarantees both group development and individual development

## Individual
## Collective Learning Goals

Together we seek to build a collaborative development environment where we
sharpen our technical and communication skills. Through practice and continuous
learning, we aim to develop a strong foundation in software development and Python
programming. Below are our key focus areas as a collective:

1. Collaborative Development Skills

- Develop effective collaboration practices through GitHub workflows, including:
- **Issues**: Creating, tracking, and assigning tasks.
- **Pull Requests (PRs)**: Submitting, reviewing, and merging pull
requests to ensure code quality.
- **Merging**: Understanding different merge strategies and resolving conflicts.
- **Projects**: Organizing tasks and milestones using GitHub Projects
for visual tracking.
- **Branching**: Managing branches effectively to keep the repository
clean and organized.
- **GitHub CLI**: Managing repositories, pull requests, and issues from
the terminal.

2. Effective Communication

- Enhance communication skills within the team through:
- **Slack**: Using Slack for group communication.
- **Regular Meetings**: Actively participating in group meetings and
discussions to ensure alignment on goals and progress.
- **Feedback and Collaboration**: Providing and receiving constructive
feedback in both code reviews and team discussions.

3. Unit Testing

- Learn and integrate unit testing in Python using the `unittest` module.

4. Code Review Process

- Develop an understanding of an effective code review process, including
giving and receiving constructive feedback to improve code quality.

5. Efficient Development Practices

- Focus on becoming more efficient developers by improving workflows,
debugging techniques, and programming skills.

6. Python Programming

- Strengthen Python programming skills by:
- Writing efficient and well-documented Python code.

7. Docstring Documentation

- Learning the art of writing clear and concise docstrings to document code effectively.

## Individual Learning Goals

### *Alexander Andom*

- *Learn New Data Structures*: Learn and implement new data structures that are
unfamiliar or challenging.
- *Improve Debugging Skills*: Develop strategies for debugging code and
resolving issues more efficiently.
- *Deepen Knowledge of Testing Frameworks*: Learn to use `unittest` in Python
to write solid and detailed unit tests.

### *Mohamed Saeed*

- Mastering GitHub
- To foster my programming skills
- Improve my debugging skills

### *Amin Abd Elraheem*

- To Understand how to plan and execute projects on GitHub.
- Transform Ideas into Programs

### *Kefah Albashityalshaer*

- Improve my programming skills in Python, especially in writing unit test programs
- Mastering Code Review, making PRs, and the other GitHub teams' tasks.
- Improve my communication with the team.

### *Tamir El-Waleed*

- Improve my testing skills, in addition to mastering basic Git & Github behavior.
- Create a complete project from scratch, building my portfolio in the process.

Loading