well, depends on what schools
berkeley basically had 3 'intro' courses for cs engineers that were mandatory, each a semester each
first one was scheme, basically super abstract and lots of lambda expressions
second one was mostly what I wrote, c+assembly+ hardware structure. I remember one project (two weeks to do) was basically to emulate nix directory and file structure in c
that was FRESHMAN year lol
third one was OOP and java, I APed out of that thankfully- still remember a facebook group picture of huge cup of coffee the professor was drowning everyone in
all 3 were 'weeder' courses. so top schools actually want to weed out people who arent good enough. so the scope of programming interest is quite important to know where to start.
I know a lot of people who got into programming because they thought it was cool and they liked being computer users and pseudo hacking with kiddie scripts. they later regretted that decision dearly.
and yeah,
java fukking sucks. any server built on java is status