computer hardware architecture before we start learning the language we speak to give instructions to computers to develop softwarewe need to learn small amount about how computers are built if you were to take apart your computer or cell phone and look deep insideyou would find the following partssoftware input and output devices what nextcentral processing unit network main memory secondary memory figure hardware architecture the high-level definitions of these parts are as followsthe central processing unit (or cpuis the part of the computer that is built to be obsessed with "what is next?if your computer is rated at gigahertzit means that the cpu will ask "what next?three billion times per second you are going to have to learn how to talk fast to keep up with the cpu the main memory is used to store information that the cpu needs in hurry the main memory is nearly as fast as the cpu but the information stored in the main memory vanishes when the computer is turned off the secondary memory is also used to store informationbut it is much slower than the main memory the advantage of the secondary memory is that it can store information even when there is no power to the computer examples of secondary memory are disk drives or flash memory (typically found in usb sticks and portable music playersthe input and output devices are simply our screenkeyboardmousemicrophonespeakertouchpadetc they are all of the ways we interact with the computer these daysmost computers also have network connection to retrieve information over network we can think of the network as very slow place to store and retrieve data that might not always be "upso in sensethe network is slower and at times unreliable form of secondary memory while most of the detail of how these components work is best left to computer buildersit helps to have some terminology so we can talk about these different parts as we write our programs