Depende mto do q vc quer aprender, pois vc pode fazer qqr coisa com programação.
Mas vamos por partes.
Vc pode iniciar pensando: vc quer aprender a linguagem de programação, vc quer fazer um site, um jogo, um aplicativo mobile, um sistema pra algum hardware?
Se quer aprender a linguagem de programação, recomendo mto procurar e fazer bte exemplos de estruturas de dados e algoritmos de programação. Depois pode aprender mais sobre orientação a objeto. Esses eu recomendo bte fazer, pois não são só exercícios para treinar mais a linguagem de programação, mas tbm pra entender parte do fundamentos da base de programação q mtos podem achar bobo, mas são importantes na escolha durante o uso em uma aplicação real. Tipo, grafos pode ser bem utilizado em redes sociais, mas se não souber utilizar, ela vai apenas utilizar uma lista q é bem ruim.
Vc pode fazer tbm um site, q tem várias alternativas. Pode fazer um site simples de aprensentação de algum produto, nesse caso pode até fazer um site sobre seu portfólio por exemplo, pode fazer alguma coisa como rede social básico, site de compras, blogs, youtube, site de roteamento de transito, google maps, etc. Não precisa ser completo, procura sites reais e tenta duplicar um pedaço dele. Eu gosto de exemplificar nesse caso, o google maps. Vc sabe como colocar o google maps pra funcionar no site? Mta gente não sabe, pois ele é mto usado, mas as pessoas simplesmente não tem ideia de como colocar ele pra funcionar no site. E como eu disse, não precisa ser completo, basta olhar o q vc utiliza no dia-a-dia, veja aquilo e seja curioso de saber como aquilo funciona por trás, por exemplo, como funciona adicionar pagamento por pix no site de compras.
Vc tbm pode fazer jogo. Esse recomendo bte pq além de mexer programação, mexe com design (desenho ou modelagem 3d) e tbm sons. Nesse tbm aprende mto a aplicar física, alguns algoritmos de programação, e tbm orientação a objetos. É um bom treino. Ai ql jogo fazer. Bom, pode começar com simples, pacman, break ball, jogo da velha, os tradicionais antigos. Ai pode tentar algo como plataforma, jogos isometricos, jogos de ação simples, jogos de simulação... bom, depende mto do q vc quer fazer. Basta entrar no steam e ver algo q vc quer tentar. E como qqr outro, vc não precisa fazer completo, faça aquilo q vc quer aprender como funciona. Vc não está na etapa de criação e sim de aprendizagem. São coisas totalmente diferentes. Criar algo real é demorado e longo, vc nunca faz em um dia.
Vc pode fazer tbm app mobile ou até desktop, tipo paint, bloco de notas, TODO list, coisas mais básicas voltadas para o cotidiano e gerenciamento da pessoa. Pode também aprender coisas como acessar a camera do celular/pc e mostrar no app, aprender a lidar com permissões de uso (aquela coisa chata q sempre aparece dizendo se vc permite mostrar notificações, se permite usar gps e tals). Tbm é legal aprender como manipular arquivos, ou até mexer em banco de dados. Um legal é vc criar um paint vetorial e salvar um svg sem a utilização de plugins/biblioteca. Vc sabe como é um arquivo svg? Já teve curiosidade de como ele é salvo? E um arquivo .gpx, sabe pra q q serve? Bom, pode aprender isso, só ir lá e correr atrás para saber o q vc quer fazer.
Tbm dá pra fazer algo nível mais hardware, esse tenho pouco conhecimento e acho q precisaria utilizar linguagem de programação como C, bom, pesquise. Mas daria pra treinar com arduino, trabalhar com alguma coisa de robótica. Já pensou como funciona aquelas máquinas robotizadas por trás? Pq não fazer um carrinho de controle remoto do zero? Ou até criar um mini braço mecanico? Esse pode depender mais do financeiro, pois terá q gastar um pouco com peças, mas produzir essas pequenas coisas pra mover algo de forma automatizada tbm é bem legal, mas precisa pensar pra q vc quer. Pode automatizar aguar as plantas da sua mãe, pode criar um alarme q dependendo de quem passa ele toca o alarme... bem olhe ao redor da sua casa e veja coisas q vc pode automatizar com hardware.
Exemplos é o q não falta. O que normalmente falta em iniciantes são curiosidades. Basta vc olhar ao redor, olhar o q vc utiliza, e simplesmente tentar replicar.
E como disse em algum lugar do texto, é impossível um aprendiz fazer um sistema completo, tipo querer fazer o netflix, ou criar o google maps (diferente em saber como utilizar o google maps no app e tals). Essas coisas exigem centenas de pessoas, exigem anos de conhecimentos e exige mto tempo para produzir.
Vc apenas precisa aprender a ver por partes. Pega partes dela e veja se consegue replicar. Não seja ganancioso em querer fazer tudo completo, mas sim curioso em saber como aquilo funciona cada parte de um todo.
Resolver seus problemas pessoais pode ser um bom início, ou se não tiver isso, veja os problemas dos outros e tente solucionar. Nosso trabalho é resolver os problemas das pessoas com uso da tecnologia, então como vc ainda está na fase de aprendizagem, pegue partes pequenas dele e tenta entender como funciona e tente replicar. São os melhores exercícios q vc pode produzir.
Bons estudos.