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.