Even the rise of needing computers/internet access to do homework has sort of worked against learning how computers work. It's all bubble wrapped to hide away the nitty gritty details.
And I'm not actually even saying this is a bad thing. It's just that the way you work with a computer is very different than it was for me. By the time you were exposed a lot of things had already been very simplified.
Just to give you an idea of what I mean by that.
For me to install a game on my old DOS computer, I had to work with potentially multiple 3.5 floppy disks. I'd run `cd A:\` to get to the A drive where the floppy resided. From there I'd run `dir \w` to get a list of the files on the floppy disk. I'd be on the lookout for a `SETUP.EXE` or `INSTALL.EXE` file to start the install process. From there, the installation prompt would ask me a bunch of questions about my computer things like "What sort of sound card do you have"? "What is the IRQ port for your card"? "Do you have a VooDoo Graphics card"? "Where do you want to install this game (We recommend C:\DOOM)"?
After some whirring and clicking the install would be complete and we'd have to `cd C:\DOOM` and run `DOOM.EXE`. There we'd run the executable and... shoot, I put in the wrong sound sound card, the wrong port, etc. It's at that point we'd have to diagnose the problem, maybe modify an .ini file. All from reading the manuals and past experience.
It's that sort of experience that I have which made me intimately familiar with concepts like file systems and disk partitions. Familiar with random parts of a computer in ways that were vastly simplified. I mean, for example, I had to do things like installing new GPU drivers to make some games work properly. I couldn't just trust windows update to grab a relatively up to date (or even the correct) driver.
That said, I'm 1000% sure your CS class was WAY better than my intro to programming. The resources I had for programming were really bad. It was a lot of self taught effort.