Лучше начни писать свою программу. Тут самое главное, делать приложение не просто, чтобы что-то делать, а обязательно в соответствии со своими интересами. Любишь спортом заниматься, напиши планировщик тренировок или журнал результатов, любишь играть на компе, напиши записную книжку для игр, коды, пароли. Сложность программы не нужна, главное, чтобы это не были обрывки кода, а полноценное приложение. Главное написать сначала простейшее, а потом его усложнять разными функциями.
Почему приложение должно быть тебе интересно? Потому что в ходе его написания, ты стопицот раз будешь упираться в проблемы, которые тебе будут казаться неразрешимыми и вот чтобы ты тут же ничего по пути не бросил, заинтересованность и нужна. Одно дело, ПРОШУ ПРОЩЕНИЯ ПРЕДЫДУЩЕГО ОТВЕЧАЮЩЕГО, калькулятор, а другое дело приложение, которое ты сам в итоге можешь использовать и тебе будет интересно сделать не просто дубовый код, а постоянно его улучшать.
Вобщем, без практики ничего не получится, и нужно уже давно начинать. Придется постоянно рыскать по Интернету в поисках решения и анатогов, это нормально. Стековерфлоу будет твоим другом :))
Главное понимать, что не бывает неразрешимых проблем, заставили же как-то комп распознавать речь и т. п. Главное сначала делать все просто, и постепенно усложнять свою прогу.