O que são algoritmos e por que você deveria se importar com eles? Vamos começar com uma visão geral de algoritmos, e então discutir sobre dois jogos nos quais você poderia usar um algoritmo para resolvê-los de forma mais eficiente - o jogo da adivinhação do número, e o jogo de encontrar uma rota.
Aprenda a usar as análises assintóticas para descrever a eficiência de um algoritmo, e a usar notação assintótica (Big O, Big-Theta, e Big-Omega) para descrever a eficiência com mais precisão.
Aprenda o conceito da recursividade, uma técnica que é frequentemente usada em algoritmos. Veja como usar a recursividade para calcular o fatorial e a potência de um número, e também para fazer arte.
Aprenda o merge sort, um algoritmo de ordenação mais eficiente que se baseia fortemente no poder da recursividade para, repetidamente, ordenar e misturar subarrays.
Aprenda a descrever grafos, com suas arestas, vértices, e pesos, e veja formas diferentes de armazenar dados em grafos, com listas de arestas, matrizes de adjacência, e listas de adjacência.
Aprenda como percorrer um grafo usando busca em largura para encontrar um nó em particular ou para garantir que você tenha visitado todos os nós, passando por uma camada de cada vez.
Fizemos parcerias com os professores da faculdade Dartmouth, Tom Cormen e Devin Balkcom, para ensinar algoritmos introdutórios de ciência da computação, incluindo busca, ordenação, recursividade, e teoria dos grafos. Aprenda com uma combinação de artigos, visualizações, perguntas, e desafios de programação.