So you know how to install Microsoft Office, upgrade drivers, and maybe even do a little overclocking or programming here and there. But have you ever wanted to know more about a computer - how it really works? Here are just a few ways that you can learn a bit more about the mysterious machine.
- Open up your computerThis is a fun, interactive way to learn what's really under the hood. You can learn a lot by opening something up and picking out what the different parts do. Here is a link that explains some of the details. Although opening a computer might be a little intimidating for some people, keep in mind that computer parts are very durable, even if you have a laptop. It's also safe, as long as you unplug it from the wall first! :-)
- Set up a home server with an old computerPretty much everyone has at least one old piece of crap computer laying around. One of the best uses for a computer like that is to set it up as a home web server. It can teach you a lot about the Internet and also let you host your own site!
- Install LinuxThis can teach you tons about how a computer boots and what an operating system really does. Installing a Linux distro like Ubuntu is good since everything is open source. Linux also exposes many advanced and low level functionality that Windows and OSX try to build a wall around. By using Linux, you can tinker and examine with parts that are hidden in other operating systems.
- Upgrade your PC componentsHas your computer gotten too slow to run the latest games or applications, or do you just want a general speed up? Instead of buying a brand new $500 computer, try upgrading individual components like the RAM, graphics card, or CPU. This can be much cheaper, and is not as difficult as you may think.
- Learn a low-level programming languageEverything that runs on a computer was written with a programming language. Low-level languages like C and Assembly teach you the most because they are more connected to the computer's memory. C is a great language to learn, but if you really want to understand computers, learn Assembly.
- Do things the 'manual' wayIn a world of automatic everything, it is nice do do things the manual way every once and a while. Too much automation can cause you to forget what really happens in the background. Try mounting your flash drive manually, or compiling and installing that latest snapshot from source. Who knows? You might end up needing to do these sorts of things manually if something is not working.
- Write a barebones kernelWhat better way to understand an OS than to make one yourself! Making a simple kernel is not as hard and scary as many people think it is. Of course, if you want to make your kernel able to do something useful, be prepared to do a lot of reading. Here is a great place to start out with OS programming.
- Read a book on digital electronicsIt's hard to understand a computer if you don't know how different computer parts can communicate with each other. I highly recommend Digital Electronics Demystified, because it teaches you all the essentials. You can also use this knowledge to build some neat circuits.
- Program a microcontrollerThis requires a light background in electronics, but programming a microcontroller can be fun and useful. You can program microcontrollers in C or Assembly. You can also make a bunch of neat circuits with it, too.
- Read the book 'Code'This is a really great book about how computers really work. You can find a review of it here.