Clube de Estudos de Algoritmos
É um grupo dedicado para os membros treinarem lógica de desenvolvimento de algoritmos e manipulação de estrutura de dados, com foco em competições internas e externas.
O grupo fará encontros presenciais no Garoa, que poderão ser disponibilizados online através de 'lives'. Baseando-se nos campeonatos que ocorrem pelo mundo, serão utilizadas a princípio, para a resolução dos desafios, as linguagens C/C++ e Python 2 e 3. Poderemos realizar participações em competições internas, também baseadas no modelo de competição de maratonas de programação.
Temas Sugeridos
- Notação assintótica
- Recorrências e mergesort
- Quicksort, probabilidade, k-ésimo mínimo e medianas
- Ordenação em tempo linear, cota inferior de ordenação, divisão e conquista
- Programação dinâmica
- Algoritmos gulosos
- MST
- Caminhos mais curtos
- Análise amortizada
- Complexidade computacional
Materiais de Apoio
- Cracking The code Interview, por Gayle Laakmann McDowell;
- Minicurso Análise de Algoritimos Professor Paulo Feofiloff - IME-USP
- https://www.ime.usp.br/~pf/analise_de_algoritmos/
- Lista de exercícios Professora Cristina G. Fernandes - IME-USP
Encontros
Pretendemos fazer os encontros regularmente às sextas feiras a partir das 19:30.
Próximo Encontro
Sexta-feira 27/04/18 às 19:30
Nosso primeiro encontro com "mão na massa". Não é necessário nenhum conhecimento prévio, nem computador, só papel e caneta.
Encontros Passados
Sexta-feira 20/04/18 às 19:30
Discutimos sobre como serão os próximos encontros: - Optamos por fazer um encontro por semana, todas as sextas feiras, com período de 1h/1h30; - Optamos por ser um grupo novo, à parte do Turing Clube; - Vamos fazer encontros em formato de Dojo, com um pouco de teoria no começo do encontro e mão na massa ao final; - A primeiro momento vamos começar com lógica de programação e estruturas de dados pra depois partirmos pra algoritmos mais complexos; - Queremos que todos os membros do clube fiquem "na mesma" página antes de avançarmos pra conceitos mais complexos, o objetivo é ser um grupo de estudos e não um curso (que tem prazo para acabar); - Vamos usar pseudocódigo pra explicar os algoritmos pra ser o mais agnóstico de linguagens possível (não impedindo que quando fizermos a implementação destes, façamos na linguagem que quisermos); - Futuramente teremos mini maratonas internas de programação pra praticarmos;