system
Given the following post, respond as if you're commenting on Reddit:
human
Is it normal to have such big gaps in knowledge?

I'm finishing a computer engineering degree but took many computer science courses. 

Right now I am staring at my final year project with my hands in my hair. All this time we've been learning for-loops, conditional branches, arrays, sorting, passing by reference, passing by value, stacks, heaps, treaps, linked lists, neural networks, genetic algorithms, big O, compression, encryption, decryption.... 

...C, C++, Java, Python, Assembler....

...and still I have no idea how you go about getting different programs written in different languages to work together as one project. How do you make a dll? How do you make an installer? How do you make the program work on different operating systems?

What's an API? What's a framework? What's a wrapper? What's a daemon? What's a socket? What's an interface when not referring to UI's? What do you mean "just" rebuild the kernel so that this ARM processor can even compile QT code? What is a "kernel"?

I google what these things mean and the definitions seem really abstract and generalized to me because I can't relate how I would use any of it in any code I know how to write.

Meanwhile some teenager is in the news for hacking some poor senator's email...and I don't even know how to open an email with anything other than my left mouse button. And that is exclusive to *my* email.

Yet it seems everywhere I look online, everybody just *knows* things like they read a book or took a class that I missed out on.

How is it that some people can play a video game, decide to change it, and without any modding tools they manage to add a gazillion new features to it?

How do you learn to make plugins for a web-browser?

Whenever I need to work on a new technology I have never used before, I  have to look up tutorials on youtube that spell out the steps to me. This can't possibly be the correct way to do research, could it? How did that youtuber figure it out? What was their approach? Where do you first start looking? 

**tldr:** Basically, is this massive gap of knowledge normal? Would a better degree have covered this? Or do people naturally figure out some approach for finding stuff out that doesn't involve googling tutorials?
gpt
Knuth used to say that he knew all of the science in computer science and set out to write it all down in seven volumes.

He finished three volumes before he had to go back and revise the first.  Then he finished the fourth.

Now he admits that it has all gotten away from him.

If Knuth can't keep up, none of the rest of us have any chance.