• Support PF! Buy your school textbooks, materials and every day products Here!

Programs Which major do i take if i want to learn how a computer works?

  • Thread starter kramer733
  • Start date
One of my life goals is to really just learn how a computer works. I want to learn all the mathematics it takes to understand how a computer works, i want to know the history of it, i want to basically go back to first principles of how a computer works and understand how it evolved into it's current state. I want to know how the hardware interacts with the software, i want to understand how the software interacts with the hardware.

How is it that we can "program" silicon to do all these amazing things? (obviously i have no idea what i'm talking about but to the layman that's what it seems)

How long will it take an average person to learn this?
There are a lot of majors that can lead to an understanding of how computers work. Before you decide to choose a major based on this single goal, check out this great book:

The Elements of Computing Systems: Building Modern Computers from First Principles

It gives a nice introduction and overview of computing.

Anyway, how computers work has also been a personal interest and hobby of mine. I majored in physics, and have taken some elective courses in programming, digital circuits, discrete math and solid state physics. I still have a lot to learn (a LOT!), but my point is you can learn about how computers work without actually majoring in computer engineering. Keep this in mind when choosing a major.
I'm actually in mathematics now. But i'm finding that it's just pure mathematics. I want a more applied approach to it than just proving things day in and day out.
Depending on what aspects you are interested in, it could be math, computer science, electrical engineering, computer engineering, physics, and even chemistry.

Computers might be considered one of the pinnacles of human achievement. They are absolutely incredible and fascinating devices that have resulted from the work of thousands of people in many different fields. It's amazing to think of how many different things are involved in getting computers to work. I wonder if anyone in the whole world really knows the whole story.

The top level is computer science, which covers how software works, among other things. At the next level down, you have things like compiler construction and operating systems, which are intermediate things between hardware and software (really, it's software, but it's software that has more interaction with the hardware). These require knowing assembly language as a prerequisite, which, at my undergrad, was covered in a 2nd semester computer engineering course.

Going down one level, you have hardware at the computer engineering level. Again, computer engineering. But underlying that, you have digital electronics. Then, below that, you get into solid-state physics and chemistry.

Sounds like what you want is computer engineering. So, look into EE and CS.
Adding to what has been said above, you might also look into the field of theoretical computer science (particularly if you have a background in mathematics), which concerns itself with the nature of computation in the abstract.


Gold Member
There is nobody that knows in detail (understands) all the facets involved in designing, building, and operating computers. As far as operating them goes, programming is your best route to understanding.

When I got into programming, 286 PCs were very "powerful" and 386's were generally servers. Things were a lot simpler back then, but open architecture gave me the ability to disable the resource-stealing applications so my applications (generally processor-intensive accounting programs) could run without being crippled by ill-behaved apps that would steal interrupts, etc. People didn't know that if they (or their kids, often) loaded games onto their hard-drives they often got mal-ware, too, like TSRs.

Related Threads for: Which major do i take if i want to learn how a computer works?


Hot Threads