Este repositório é dedicado à resolução de exercícios e implementação de algoritmos em Python, desenvolvidos durante a graduação em Engenharia de Software. O foco principal é a aplicação prática da lógica de programação para solucionar problemas complexos de engenharia, realizar cálculos numéricos e explorar diversas estruturas de dados.
O objetivo é consolidar o aprendizado em programação, aprimorar as habilidades de resolução de problemas e criar um portfólio de soluções robustas e eficientes em Python.
A Engenharia de Software exige uma base sólida em algoritmos e estruturas de dados, bem como a capacidade de aplicar esses conhecimentos para resolver desafios do mundo real. Muitas vezes, a teoria é abordada em sala de aula, mas a prática e a implementação eficiente são cruciais para o desenvolvimento profissional.
Este repositório surge da necessidade de:
- Praticar e aprofundar conceitos de programação e algoritmos.
- Desenvolver soluções para problemas típicos da engenharia, como otimização, simulação e análise de dados.
- Explorar diferentes abordagens para um mesmo problema, avaliando a complexidade e eficiência de cada solução.
- Documentar o processo de aprendizado e as soluções desenvolvidas ao longo da graduação.
O repositório será organizado por módulos ou tópicos, abrangendo:
- Estruturas de Dados: Implementações de listas, pilhas, filas, árvores, grafos, etc.
- Algoritmos de Ordenação e Busca: Bubble Sort, Quick Sort, Merge Sort, Busca Binária, etc.
- Cálculos Numéricos: Métodos para resolução de equações, integração numérica, interpolação.
- Problemas de Engenharia: Aplicações de algoritmos para otimização de processos, análise de sistemas, etc.
- Lógica de Programação: Exercícios que desafiam o raciocínio lógico e a capacidade de abstração.
+ Código limpo e bem comentado para facilitar a compreensão.
+ Testes unitários para garantir a correção das implementações.
+ Exemplos de uso para cada algoritmo/exercício.O desenvolvimento e a manutenção deste repositório contribuem para o aprimoramento de diversas habilidades, tanto técnicas quanto interpessoais:
- Resolução de Problemas: Abordagem sistemática para identificar, analisar e solucionar desafios de programação.
- Pensamento Crítico: Avaliação de diferentes algoritmos e estruturas de dados para escolher a solução mais adequada.
- Organização e Planejamento: Estruturação do código e do repositório de forma lógica e acessível.
[Érica Bonfanti] - [Link para o LinkedIn]
