Skip to content

Commit

Permalink
Merge branch 'main' into challenge-sum-of-digits
Browse files Browse the repository at this point in the history
  • Loading branch information
likechrisss authored Jan 12, 2025
2 parents 30b0cce + 1cfea9e commit 1377ca0
Show file tree
Hide file tree
Showing 33 changed files with 1,270 additions and 15 deletions.
11 changes: 10 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,14 @@
"source.fixAll.ruff": "explicit",
"source.organizeImports.ruff": "explicit"
}
}
},
"python.testing.unittestArgs": [
"-v",
"-s",
"./solutions",
"-p",
"*test.py"
],
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": true
}
156 changes: 154 additions & 2 deletions collaboration/learning_goals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,157 @@
# Learning Goals

## Collective
## Collectives

## Individual
1. **Enhance Problem-Solving Skills**
**Objective:** Develop strategies to approach and solve
complex coding problems efficiently.
**Action:** Participate in coding challenges, improve algorithmic thinking,
and practice solving problems in various programming languages.

2. **Master Version Control Systems (Git)**
**Objective:** Gain proficiency in version control systems,
specifically Git, for managing collaborative code.
**Action:** Learn advanced Git commands, work with branches, and contribute
to open-source projects or group collaborations using GitHub.

3. **Strengthen Data Structures and Algorithms Knowledge**
**Objective:** Deepen understanding of essential data structures and
algorithms to optimize code performance.
**Action:** Study common algorithms (searching, sorting, dynamic programming)
and data
structures (trees, graphs, heaps, etc.), and apply them to solve coding problems.

4. **Develop Testing and Debugging Skills**
**Objective:** Understand and practice writing unit tests and debugging
code to ensure high-quality, bug-free applications.
**Action:** Use testing frameworks such as pytest and unittest,
and integrate continuous integration tools to automate testing.

5. **Improve Collaboration and Communication Skills**
**Objective:** Work effectively in teams by improving communication
and collaborative coding skills.
**Action:** Engage in group projects, participate in code reviews, and focus on
improving your ability to explain technical concepts clearly.

6. **Set Personal Learning Goals and Track Progress**
**Objective:** Set personal learning goals and track your progress.
**Action:** Identify specific areas for improvement, create a
learning plan, and regularly review your progress.

7. **Enhance Code Quality and Maintainability**
**Objective:** Write clean, maintainable, and efficient code.
**Action:** Follow best practices for code styling and documentation. Use linters
and formatters to ensure consistent code quality. Perform regular code refactoring.

8. **Participate More in the Slack Community and Create Networking Opportunities**
**Objective:** Build a professional network in the tech community.
**Action:** Attend meetups, help coders with questions,
join online forums, and participate in tech events.
Engage with other developers and share knowledge and experiences.

## Individual Goals

### Adolfo Fumero

---

### Ana Isabel Murillo

- Gain advanced knowledge in technological skills and AI.
- Improve proficiency in data analysis, machine learning, or other tech-related fields.
- Master design thinking principles to approach challenges creatively.
- Learn cutting-edge tools and methodologies used in technology and innovation.

---

### Arthur Dorvil

- **Strengthen Technical Expertise**
Master advanced programming concepts, software development methodologies, AI,
and machine learning to build impactful projects.
- **Foster Innovation**
Develop problem-solving skills by creating sustainable and scalable solutions
that address real-world challenges, particularly in
underserved communities.
- **Enhance Leadership Skills**
Improve team management, communication, and decision-making abilities to lead
projects effectivelyand inspire others in collaborative environments.
- **Expand Global Collaboration**
Build connections with peers and professionals globally, leveraging their
expertise to tackle challenges and drive impactful initiatives.
- **Drive Social Impact with Technology**
Learn to integrate technology into community-focused projects, particularly
addressing global issues like digital literacy and technology
access in Haiti and Black communities.

---

### Chrismy

- Gain more knowledge and hands-on experience with industry-standard tools and
technologies like VS Code, Python, GitHub.
- Learn to analyze, design, and implement innovative solutions.
- Strengthen interpersonal communication, teamwork, and leadership capabilities
to excel in collaborative environments.
- Leverage opportunities to connect with peers.

---

### Cliforde Exael

- Master advanced programming concepts and technologies.
- Develop innovative problem-solving skills for real-world challenges.
- Enhance collaboration and leadership abilities in tech environments.
- Build a strong professional network and drive social impact.

---

### Hector Colmenares

- Learn data science and machine learning.
- Practice technical communication skills in English.
- Understand how to conduct a good code review.
- Connect with people and learn from them.
- Actively participate in group activities to learn from more advanced peers.

---

### Jeampierr Jiménez

---

### Pierre Kenley MERVIL

- Learn about collaboration tools.
- Master Git and GitHub, including advanced Git commands and GitHub project boards.
- Work on Python programs and collaborate with peers globally.
- Gain sufficient skills to become a data scientist.
- Develop soft skills to manage time effectively, becoming more proactive and productive.

---

### Ramon Colmenares

- Learn about Python and data science.
- Improve soft skills like leadership and communication.
- Create new connections with classmates.

---

### Semira Tesfai

- **Enhance Code Quality and Maintainability**
**Objective:** Write clean, maintainable, and efficient code.
**Action:** Follow best practices for code styling and documentation. Use linters
and formatters to ensure consistent code quality. Perform regular code refactoring.
- **Participate More in the Slack Community and Create Networking Opportunities**
**Objective:** Build a professional network in the tech community.
**Action:** Attend meetups, help coders with questions,
join online forums, and participate in tech events.
Engage with other developers and share knowledge and experiences.
- **Increase Code Vocabulary by Self-Created Library**
**Objective**: Expand my coding vocabulary and create a reusable library of
functions and modules.
**Action:** Identify commonly used functions and modules in my coding projects,
develop reusable code snippets, document my library with clear instructions and examples,
and continuously update and refine it as I learn new concepts.
136 changes: 124 additions & 12 deletions collaboration/retrospective.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,135 @@
<!-- this template is for inspiration, feel free to change it however you like! -->
# **Retrospective: Celebrating Success and Embracing Growth**

# Retrospective
## **Purpose**

## Stop Doing
This retrospective aims to celebrate the achievements of the project while
thoughtfully evaluating its planning, execution, and outcomes.
It highlights areas of success, identifies opportunities for growth, and explores
strategies for continuous improvement. The Kanban board played a pivotal role
in organizing tasks and fostering collaboration.

## Continue Doing
---

## Start Doing
## **Project Goals vs. Actual Outcomes**

## Lessons Learned
### **Initial Plan**

______________________________________________________________________
- **Goals and Aspirations**:
- Successfully complete the project within the defined timeline.
- Foster clarity and alignment of tasks among team members.
- Leverage tools like the Kanban board to optimize workflows and enhance accountability.

## Strategy vs. Board
- **Structure**:
- Divide the project into clear phases with specific milestones.
- Assign responsibilities that align with individual strengths and expertise.

### What parts of your plan went as expected?
- **Processes**:
- Hold regular check-ins to track progress and address potential roadblocks.
- Promote consistent communication through shared platforms.
- Utilize the Kanban board as a visual aid to organize tasks effectively.

### What parts of your plan did not work out?
### **Actual Outcomes**

### Did you need to add things that weren't in your strategy?
- **Progress**:
- Most milestones were successfully achieved, with minor
delays caused by unexpected challenges.
- The team demonstrated adaptability and resilience, ensuring the
overall success of the project.

### Or remove extra steps?
- **Adaptations**:
- Timelines were adjusted, and tasks were redistributed to
maintain balance and effectiveness.
- Additional tools, such as Slack, complemented the Kanban board to enhance communication.

---

## **What Worked Well**

### **Project Management**

- **Planning**:
- Objectives and deliverables were clearly defined.
- Breaking the project into manageable phases improved focus and streamlined execution.

- **Execution**:
- Regular updates and check-ins maintained alignment and allowed for early identification
of challenges.
- Flexibility in task assignment helped the team address unexpected hurdles efficiently.

### **Collaboration**

- **Communication**:
- Open and transparent communication fostered team cohesion and mutual support.
- Shared tools improved visibility and coordination among team members.

- **Accountability**:
- Clear roles and responsibilities empowered team members to stay focused and
on track.

### **Satisfaction**

- **Feedback**:
- The structured approach and clear goals were highly appreciated by the team.
- Regular updates and a thoughtful combination of tools contributed to a positive
experience for everyone involved.

---

## **Opportunities for Growth**

### **Challenges**

- **Planning**:
- Initial timelines underestimated the complexity of certain tasks.
- Some dependencies between tasks could have been planned more thoroughly.

- **Execution**:
- Peaks in workload occasionally led to delays in updates and task tracking.
- A few team members needed additional support to adopt new tools effectively.

### **Improvements**

- **Processes**:
- Create more realistic timelines by incorporating buffer periods for complex tasks.
- Offer enhanced training sessions to improve proficiency with project tools.

- **Tools**:
- Automate reminders and updates to ensure consistent task tracking.
- Simplify communication channels to minimize redundancy and enhance efficiency.

---

## **Looking Ahead**

### **Future Plans**

- **Adjustments**:
- Include detailed risk assessments during project planning to anticipate challenges.
- Leverage insights from past projects to refine resource allocation and timelines.

- **Enhancements**:
- Explore advanced project management tools to improve tracking and analytics.
- Schedule regular retrospectives to celebrate progress and proactively address
potential issues.

### **Team Commitment**

- **Engagement**:
- Continue fostering a culture of accountability, collaboration, and open communication.
- Celebrate team achievements to sustain morale and motivation.

- **Training**:
- Provide ongoing learning opportunities to sharpen skills and enhance tool adoption.
- Share success stories and best practices to inspire growth and innovation.

---

## **Conclusion**

This project demonstrated numerous strengths, including thoughtful planning, clear
communication, and adaptability in execution. By building on these successes and
addressing identified opportunities for
improvement, future projects can achieve even greater outcomes. Together, we can
continue fostering a collaborative, supportive, and highly effective team environment.

---
51 changes: 51 additions & 0 deletions solutions/challenge_12/README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<!--
Make your issue easy to find:
- project board: place it in the TODO column of the project board
- labels: anything that will make this easier to filter
-->

<!--
<!-- **challenge** -->
<!-- markdownlint-disable MD041 -->
Objective:
Create a program that prints the numbers from 1 to 100. But for multiples of three,
print "Fizz" instead of the number, and for multiples of five, print "Buzz". For
numbers that are multiples of both three and five, print "FizzBuzz".

Another way of putting it:

# **FizzBuzz Challenge**

This is a FizzBuzz program that prints numbers from 1 to 100 with specific rules:

- For multiples of three, print "Fizz".
- For multiples of five, print "Buzz".
- For multiples of both three and five, print "FizzBuzz".
-->

<!-- **Helpful links or resources for solving this challenge** -->
For each number from 1 to 100:
If the number is divisible by both 3 and 5:
Print "FizzBuzz"
Else if the number is divisible by 3:
Print "Fizz"
Else if the number is divisible by 5:
Print "Buzz"
Else:
Print the number

Resource Guide for Solving "FizzBuzz" Challenge
Understanding Loops and Conditionals:

Python For Loops - W3Schools <https://www.w3schools.com/python/python_for_loops.asp?form=MG0AV3>

Python If...Else Statements - W3Schools <https://www.w3schools.com/python/python_conditions.asp?form=MG0AV3>

Modulo Operator:

Python Operators - W3Schools <https://www.w3schools.com/python/python_operators.asp?form=MG0AV3>

Focus on the "Arithmetic Operators" section, especially the modulo operator (%).

These articles provide a general approach to breaking down and solving the problem.
Empty file.
Loading

0 comments on commit 1377ca0

Please sign in to comment.