var wrote So, for programming courses I'll list my favorites:
Teamtreehouse (Introductory software engineering) paid
Pluralsight (Just about anything tech-related-software, hardware, IT, security, etc.) paid
Lynda (Like Pluralsight-Hardware/IT, software engineering, design, etc.) paid
Udacity (Mostly mobile & web development with courses co-designed with big companies like Google) paid/free
Udemy (courses uploaded by anyone, and about anything) paid/free
Stackoverflow (Where you'll end up when your code has a bug)
Quora (Where you should've asked this question)
Edx (Similar to Coursera)
CodeWars (For programming interview-like problems) free
A good course to take on Coursera (or EdX) is CS50, by Harvard. Also, I'm assuming W3Schools has gotten better, because I remember it being pure trash years ago. Many sites offer student discounts as well, so you should use a school email, if you have one. Also, asking Google my questions is my goto. It seems that almost any tech-related question I've had has been asked on either Quora or Stackoverflow. Finding good books to supplement online courses is typically a good idea as well.
Edit: There's a guy on youtube named "Eli The Computer Guy" (I believe) that may be a good place to learn about beginning computer engineering/architecture.
I was able to find a guide that I came across almost 2 years ago (I think). The author has an updated (and maintained) version of it on Github, but the older version is still relevant as well. [ Register or Signin to view external links. ]