input devices is processed by the cpu and may be shuffled off to the main or secondary memory similarlywhen information needs to be displayedthe cpu sends it to one or more output devices so what happens when you fire up your favorite game or word processing programfirstthe instructions that comprise the program are copied from the (morepermanent secondary memory into the main memory of the computer once the instructions are loadedthe cpu starts executing the program technically the cpu follows process called the fetch-execute cycle the first instruction is retrieved from memorydecoded to figure out what it representsand the appropriate action carried out then the next instruction is fetcheddecoded and executed the cycle continuesinstruction after instruction this is really all the computer does from the time that you turn it on until you turn it off againfetchdecodeexecute it doesn' seem very excitingdoes itbut the computer can execute this stream of simple instructions with blazing speedzipping through millions of instructions each second put enough simple instructions together in just the right wayand the computer does amazing things programming languages remember that program is just sequence of instructions telling computer what to do obviouslywe need to provide those instructions in language that computer can understand it would be nice if we could just tell computer what to do using our native languagelike they do in science fiction movies ("computerhow long will it take to reach planet alphalpha at maximum warp?"unfortunatelydespite the continuing efforts of many top-flight computer scientists (including your author)designing computer to fully understand human language is still an unsolved problem even if computers could understand ushuman languages are not very well suited for describing complex algorithms natural language is fraught with ambiguity and imprecision for exampleif say" saw the man in the park with the telescope,did have the telescopeor did the manand who was in the parkwe understand each other most of the time only because all humans share vast store of common knowledge and experience even thenmiscommunication is commonplace computer scientists have gotten around this problem by designing notations for expressing computations in an exact and unambiguous way these special notations are called programming languages every structure in programming language has precise form (its syntaxand precise meaning (its semanticsa programming language is something like code for writing down the instructions that computer will follow in factprogrammers often refer to their programs as computer codeand the process of writing an algorithm in programming language is called coding python is one example of programming language it is the language that we will use throughout this book you may have heard of some other languagessuch as ++javaperlschemeor basic although these languages differ in many detailsthey all share the property of having well-definedunambiguous syntax and semantics languages themselves tend to evolve over time specificallythe book was written using python version if you have an earlier version of python installed on your computeryou should upgrade to the latest stable version to try out the examples