Ja w sumie dalej klasyfikuje siebie jako początkującego i zawsze lubię nową wiedzę spróbować stosować w praktyce pisząc jakieś aplikacje użytkowe. :D Czyli jak kiedyś tam dowiedziałem się jak odczytywać i zapisywać pliki, no to stworzyłem aplikacje dla siebie która szyfruje daną wiadomość w pliku i potem deszyfrowuje (szyfr cezara albo jakiś XOR bo to proste :D). Kiedyś potrzebowałem jakiejś aplikacji do pobrania html strony i przerobienia go w pewien sposób, to tak samo, sprawdziłem jak to się robi w javie i napisałem sobie taki program.
Także polecam robić programy użytkowe które do czegoś może kiedyś zastosujesz a nie programy pisane dla samego pisania.
A co do drugiego pytania, to jak chcesz po prostu oglądnąć jak ktoś od zera koduje jakąś rzecz z tłumaczeniem to może coś takiego:
https://www.youtube.com/watch?v=AaGK-fj-BAM
Ogólnie on ma dużo takich odcinków z tej serii, ale jak jesteś totalnym początkującym to pewnie nie wiele zrozumiesz. :D