1. Historie výpočetní techniky

První číslicové počítače byly vyrobeny ve 30. letech 20. století, avšak za jejich vynálezce je přesto považován Charles Babbage, který již v 19. století vymyslel základní principy fungování stroje pro řešení složitých výpočtů.

První zařízení, která se později vyvinula v dnešní počítače, byla velmi jednoduchá a byla založena na mechanických principech. Vývoj probíhal až do poloviny 20. století ve dvou větvích: analogové počítače a číslicové počítače.

Nultá generace
Za kalkulačky nulté generace jsou považovány elektromechanické počítače využívající většinou relé. Pracovaly obvykle na kmitočtu okolo 100 Hz. Hybnou silou vývoje nulté generace se stala druhá světová válka, kdy došlo k velkému pokroku souběžně v různých částech světa.

První generace (1945 až 1951)
První generace je charakteristická použitím elektronek a v menší míře též ještě relé. Počítače byly poměrně neefektivní, velmi drahé, měly velkou poruchovost a velmi nízkou výpočetní rychlost. Zpočátku byl program vytvářen na propojovacích deskách, později byly využity děrné štítky a děrné pásky, které též sloužily spolu s řádkovými tiskárnami k uchování výsledků. V té době neexistovaly ani operační systémy ani programovací jazyky ani assemblery. Počítač se ovládal ze systémové konzole. Jeden tým lidí pracoval jako konstruktéři, operátoři i technici, jejichž úspěchem bylo ukončit výpočet bez poruchy počítače.

Druhá generace (1951 až 1965)
Počítače druhé generace charakterizuje použití tranzistorů, které dovolily zlepšit všechny parametry počítačů (zmenšení rozměrů, zvýšení rychlosti a spolehlivosti, snížení energetických nároků).

Díky počátku obchodu s počítači byla snaha o co nejlepší využití počítače, proto vznikají první dávkové systémy, které byly zaváděny do počítače pomocí děrné pásky, štítků nebo magnetické pásky a které se využívaly při prodeji strojového času počítače (pronájem počítače po dobu vykonání programu). Počátek využívání operačních systémů, jazyka symbolických adres, první programovací jazyky (COBOL, FORTRAN, ALGOL).

Třetí generace (1965 až 1980)
Třetí generace je charakteristická použitím integrovaných obvodů. S postupem času roste počet tranzistorů v integrovaném obvodu (zvyšuje se integrace). V této době byl výkon počítače úměrný druhé mocnině jeho ceny, takže se vyplatilo koupit co nejvýkonnější počítač a poté prodávat jeho strojový čas. Majitelé požadovali maximalizaci využití počítače, proto se objevilo multiprogramování – zatímco jeden program čeká na dokončení I/O operace, je procesorem zpracovávána druhá úloha.
S tím úzce souvisí zavedení pojmu proces, který označuje prováděný program a zahrnuje kromě něj i dynamicky se měnící data. Objevuje se první podpora multitaskingu, kdy se programy vykonávané procesorem střídají, takže jsou zdánlivě zpracovávány najednou. Tento pokrok umožňuje zavedení interaktivních systémů (počítač v reálném čase reaguje na požadavky uživatele). Kromě velkých střediskových počítačů (mainframe, tzv. sálový počítač) se objevují i první minipočítače a mikropočítače.

Čtvrtá generace (od roku 1981)
Čtvrtá generace je charakteristická mikroprocesory a osobními počítači. Mikroprocesory v jednom pouzdře obsahují celý procesor (dřívější procesory se skládaly z více obvodů) a jsou to integrované obvody s vysokou integrací, které umožnily snížit počet obvodů na základní desce počítače, zvýšila se spolehlivost, zmenšily rozměry, zvýšila rychlost a kapacita pamětí. Nastává ústup střediskových počítačů (mainframe) ve prospěch pracovních stanic a v roce 1981 uvedeného osobního počítače IBM PC. Počítač shodné konstrukce vyrábějí i jiní výrobci jako tzv. IBM PC kompatibilní počítače. Přichází éra systémů DOS a vznikají grafická uživatelská rozhraní. Poměr cena/výkon je nejlepší u nejvíce prodávaných počítačů, vyšší výkon je vykoupen exponenciálním růstem ceny, proto se již nevyplatí koupit nejvýkonnější počítač na trhu a z mnoha běžných a laciných počítačů vznikají clustery. S rozvojem počítačových sítí vzniká Internet, distribuované systémy. Výkon počítačů se zvyšuje použitím několika procesorů (multiprocesory)