Skip to content

Elisabete-MO/project-algorithms

Repository files navigation

O que deverá ser desenvolvido

Neste projeto você irá resolver problemas e otimizar algoritmos desenvolvendo a sua capacidade de implementar soluções para os mais diversos problemas do dia a dia!

Habilidades exercitadas:

Lógica;

Capacidade de interpretação de problemas; Capacidade de interpretação de um código legado; Capacidade de otimizar a resolução de problemas e; Resolver problemas/Otimizar algoritmos sob pressão.

Data de Entrega

Este projeto é individual; Serão 2 dias de projeto; Data para entrega no prazo regular: 13/06/2023 14:00.

Nessa seção vimos análise de complexidade de algoritmos, recursividade e algoritmos de ordenação e busca.

Vamos fazer um projeto em que irá treinar nossa capacidade de resolução de diferentes problemas, utilizando todos os conhecimentos dessa seção.

Por que isso é importante? A resolução de problemas de whiteboard, além de treinar a nossa capacidade de resolução de problemas, treina também a nossa lógica e nos deixa mais preparados para lidar com situações problemáticas do dia-a-dia.

De forma geral, o intuito do projeto é resolver problemas. Contudo, o projeto também tem o objetivo de melhorar a qualidade do código que escrevemos, melhorando a eficiência. Isso é feito, pois temos que analisar a complexidade dos algoritmos que estamos desenvolvendo para ver se está encaixando no que está sendo pedido em cada requisito.

O que vamos avaliar? A organização e a aderência do código à especificação;

Aderência à complexidade exigida em cada requisito;

Desenvolvimento dos requisitos utilizando as abordagens especificadas.

O que devo desenvolver? Este trabalho será individual.

Para fixar os conteúdos de algoritmos e estrutura de dados vistos até agora, você fará um projeto que tem como principal objetivo resolver problemas e otimizar algoritmos do tipo que aparecem em inúmeros processos de entrevista por whiteboard e que vão acelerar muito a sua capacidade de resolver problemas!

Pessoas desenvolvedoras de software, além de serem muito boas em implementações, devem, também, ser boas resolvendo problemas e otimizando algoritmos. No projeto de hoje, vamos treinar, ainda mais, a sua capacidade de resolução de problemas e otimização de código, que envolve algumas habilidades:

Lógica;

Capacidade de interpretação do problema; Capacidade de interpretação de um código legado; Capacidade de resolução do problema, de forma otimizada; Resolver o problemas/Otimizar algoritmos mesmo sob pressão.

Tendo essas habilidades descritas acima, junto com algumas outras, farão de você uma pessoa desenvolvedora que terá muita facilidade em diversas situações problemáticas do dia-a-dia.