I have primarly learned Ruby, Rails, HTML5, CSS3, and JavaScript over the past couple of months. While I plan on mastering these languages and continue to learn other frameworks, libraries, and potentially other languages in the near future, I thought I’d take a moment to learn some of the basics of computers. Here are some notes that I’ve taken during the Team Treehouse Computer Basics course that I took.

Computers use the binary numbering system. A bit is the smallest unit in binary (0, 1). 8 bits equal 1 byte.

Both the binary and decimal numbering system are positional number values. The binary system differs in that 2 is the base case as opposed to 10, which is the base in the demical numbering system.

2^0 > 1 > ones
2^1 > 2 > twoes
2^2 > 4 > fours
2^3 > 8 > eights
..and so on and so forth.

Hardware

A computer without program running on it is just a hunk of hardware (tablets, computer, desktop, smartphone). In order for a piece of hardware to do anything, it must run a program. In order for programs to work, it must be written in a way hardware can understand.

One of the first programs you see when you turn on your computer is the operating system. The OS helps all programs work by handling the messy details of controlling the computer’s hardware and is a core software component. It also provides interface between hard and software and watches for events (such as a click or a tap on a screen).

In order to save all this data, computer uses diff types of memory storage depending on priority.

RAM and virtual memory - temporary storage areas.
ROM and hard drives - permanent storage areas

WHen you open an app, it’s loaded into the RAM. In order to conserve RAM usage, it only loads the essential parts at first and then other pieces when you ask for them. That is why accessing data from RAM is faster.

For example, if you open up Word, your OS receives that request and Word is loaded into RAM. If you open up a documents, the file is then loaded into RAM. After you make some changes and save your work, the edited file is written to the specified storage device. if you don’t save your work, it won’t transfer the data to a more permanent storage area and it will be lost if you suddenly quit the application or if it crashes. When you exist Word, the application and any documents are removed from RAM to make new room for new applications and data. this is why RAM is only a temporary storage area.

Software

Collection of code or programs that run on your computer. considered soft because you can change it all the time (app updates - developer changing software) examples: - internet browser - operating systems - desktop applications (word, pages, etc)

2 types of software:
1. Application Software - some examples are: Word, Spotify, internet browser, etc.
Within application software, there are special programs used to process code, called programming software. These are editors, debuggers, comilers and linkers used to translate and combine programs into executables.
IDE (integrated development environment) - combine all of these together.
Most developers use text editor and terminal.
2. System software - designed to operate and control computer’s hardware and provide platform for running application software.