Small nitpick:
for file in .java; do javac $file; done
This will break if the filename contains funky characters like newline or whitespaces. You should prefer using find instead:
find . -name '.java' -exec javac {} \+
Also, I would suggest adding a pragaraph about proper quoting, I usually find it to be an issue beginners struggle with the most.