principles of algorithm design why do we want to study algorithm designthere are of course many reasonsand our motivation for learning something is very much dependent on our own circumstances there are without doubt important professional reasons for being interested in algorithm design algorithms are the foundations of all computing we think of computer as being piece of hardwarea hard drivememory chipsprocessorsand so on howeverthe essential componentthe thing thatif missingwould render modern technology impossibleis algorithms the theoretical foundation of algorithmsin the form of the turing machinewas established several decades before digital logic circuits could actually implement such machine the turing machine is essentially mathematical model thatusing predefined set of rulestranslates set of inputs into set of outputs the first implementations of turing machines were mechanical and the next generation may likely see digital logic circuits replaced by quantum circuits or something similar regardless of the platformalgorithms play central predominant role another aspect is the effect algorithms have in technological innovation as an obvious exampleconsider the page rank search algorithma variation of which the google search engine is based on using this and similar algorithms allows researchersscientiststechniciansand others to quickly search through vast amounts of information extremely quickly this has massive effect on the rate at which new research can be carried outnew discoveries madeand new innovative technologies developed