Ler.
Não, realmente, leia.
Leia tudo sobre algoritmo e design que você pode encontrar. Existem livros fenomenais por aí. Os livros do algoritmo de Sedgewick são bons. O Manual de Design de Algoritmos da Skiena também é bom. Juntos, esses livros me acompanham em todas as estantes de livros, em todos os empregos em que vou, junto com The Mythical Man-Month.
Então pergunte.
Converse com pessoas que você respeita. Pergunte a eles que pontos de decisão eles tinham e por que eles tomaram as decisões que tomaram. Os bons sempre serão capazes de lhe dizer "Eu escolhi fazer o X porque é melhor que A, B dessa maneira. Eu poderia ter ido com C, mas achei que essa era uma escolha melhor por causa disso".
Em seguida, faça.
Construa coisas. Crie coisas que você nunca usará. Crie coisas que você nunca precisará. Vá escrever um programa que resolva um quebra-cabeça Sudoku. Agora vá fazê-lo novamente. E de novo. Construa 5 maneiras completamente diferentes. Crie um programa que gere quebra-cabeças de Sudoku e alimente-o nos solucionadores. Encontre qual solver é o mais rápido. E depois...
Descubra o porquê.
O "o quê" quase nunca é importante. Quero dizer, sim, é fundamental finalizar o projeto em questão, mas no final, se você souber o "o quê" sem saber o "porquê", poderá não ter feito isso em primeiro lugar. Você tem um ponto de bala no seu currículo. Vá pegar um biscoito e parabenize-se. O "porquê" é muito mais importante que o "o quê".
E para o registro Sudoku foi um exemplo. Passei muito tempo livre fazendo esse exercício com uma tonelada de quebra-cabeças lógicos no Kongregate e aprendi muito no caminho.
http://www.amazon.com/Bundle-Algorithms-Parts-1-5-Fundamentals/dp/020172684X/
http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/
http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/