Respostas:
Encontrei os seguintes programas para começar bem com novos idiomas:
Jogo da vida de Conway
Fácil de implementar. Dá um bom começo com o uso simples de classes de contêiner. Não precisa necessariamente de gráficos para obter resultados.
Além disso, você pode escrever uma versão 3D e usar um mecanismo de jogo como saída (por exemplo, algo simples como o Panda3D)
Solucionador de Sudoku
Um pouco mais complexo. A complexidade pode ser ajustada às suas necessidades. Apenas cancele os números e pare quando isso não for mais possível ou continue e implemente uma árvore de pesquisa para resolver problemas mais complexos. Problemas e soluções para o Sudokus em todos os níveis de dificuldade para testar seu programa estão disponíveis na Web em abundância. O mesmo para o material sobre possíveis estratégias.
Problemas em todos os níveis de dificuldade que você pode desejar. E compare suas soluções com as de programadores experientes em todas as principais linguagens de programação.
Não sei ao certo o que você quer dizer com 'quais são alguns bons softwares para experimentar ...', mas posso recomendar o livro 'sete idiomas em sete semanas'
É um bom ponto de partida para experimentar novos idiomas.
Basta acessar qualquer um dos sites a seguir e verificar se você está enfrentando os desafios de codificação que eles apresentam: SPOJ , TOPCODER etc.
A maioria desses sites oferece a opção de codificar em várias linguagens de programação, para que você possa usar a que você está familiarizado.
E se você é um mestre no seu jogo, sempre há ICPC .
Eu diria que qualquer projeto que atenda aos três requisitos a seguir:
Qualquer coisa que você gosta o suficiente para continuar fazendo. O máximo de aprendizado é realizado nos últimos 1%, geralmente ignorados em um projeto paralelo, mas é uma parte muito importante de um produto de trabalho.
Como resultado, é uma escolha muito pessoal qual poderia ser o projeto. É por isso que existem tantos projetos de SO excelentes por aí, e por que todo mundo diz que é tão importante quando está no seu currículo / currículo: essa pessoa trabalhou duro e aprendeu muito trabalhando nos últimos 1% para criar utilizável por outros e desfruta do que eles fazem.