Informatyka zarys historii informatyki dr hab. inż. Mikołaj Morzy
kontakt dr hab. inż. Mikołaj Morzy tel. +61 665 2961 email Mikolaj.Morzy@put.poznan.pl skype mikolaj.morzy
plan przedmiotu historia informatyki architektura komputerów kodowanie algorytmy systemy operacyjne sieci komputerowe sieć Internet bezpieczeństwo systemów informatycznych podstawy programowania systemy baz danych grafika komputerowa
plan wykładu definicja informatyki informatyka jako dziedzina naukowa historia informatyki zadania i zastosowania informatyki kierunki rozwoju współczesnej informatyki
co to jest informatyka? informatyka (ang. computer science) to dziedzina nauki i techniki zajmująca się przetwarzaniem informacji, w tym technologiami przetwarzania informacji i technologiami wytwarzania systemów do przetwarzania informacji pl.wikipedia.org Informatyka to systematyczne badanie procesów algorytmicznych, które charakteryzują i przetwarzają informację, teoria, analiza, projektowanie, badanie efektywności, implementacja i zastosowania procesów algorytmicznych Association for Computing Machinery
postrzeganie informatyki informatyka może być widziana jako samodzielna dyscyplina naukowa narzędzie wykorzystywane przez inne nauki (np. biologię) gałąź techniki przemysł wytwarzający sprzęt i oprogramowanie termin "informatyka" wprowadził do języka polskiego w roku 1968 prof. Romuald Marczyński na konferencji poświęconej maszynom matematycznym, wzorował się na francuskiej informatique i niemieckiej Informatik.
początki liczenia czasy prehistoryczne i przedhistoryczne karby i nacięcia na kościach (30 tys. lat p.n.e.) kalendarz w Stonehenge (2800 r. p.n.e.) quipu, liczby na sznurkach w systemie pozycyjnym układy kamieni abacus, 500 r. p.n.e., Mezopotamia calculus (łac.) kamyk abacus (gr.) tabliczka, deska liczydła sau-pan w Chinach soro-ban w Japonii sczoty w Rosji
pierwsze algorytmy Euklides z Aleksandrii algorytm wyznaczania największego wspólnego dzielnika dwóch liczb rok 650 n.e., Hindusi odkrywają numeryczne zero rok 830 n.e., Muḥammad ibn Mūsā al-khwārizmī, "Al dżebr we'l mukabala" rok 1100 n.e., pierwsza zapisana tabliczka mnożenia rok 1274 n.e., Ramon Lull, "Ars magna generalis et ultimata"
tabliczki Napiera John Napier (1550-1617) odkrywa logarytmy i popularyzuje kropkę dziesiętną konstruuje kostki logarytmiczne które ułatwiają mnożenie, dzielenie, potęgowanie i pierwiastkowanie tworzy nową dziedzinę rabdologię
kalkulatory mechaniczne W. Schickard zegar liczący, wykonuje 4 działania, wykorzystuje pomysł pałeczek Napiera, nie zachowany do naszych czasów B. Pascal Pascalina, maszyna kółkowa realizująca dodawanie i odejmowanie G.W. Leibnitz żywa ława do obliczeń, wykonywała 4 działania
maszyna Jacquarda zbudowana w 1805 r. maszyna tkacka sterowana kartami perforowanymi krosno Jacquarda umożliwiało wielobarwne tkanie wzorzyste pierwszy w historii przykład maszyny sterowanej programem
pierwszy komputer Charles Babbage (1791-1871) matematyk, inżynier, wynalazca, filozof w XIX wieku stworzył maszynę liczącą tak podobną do współczesnych komputerów, że do dziś znany jest jako "ojciec komputera" rewolucja przemysłowa nowe rynki: finanse, ubezpieczenia, podróże, podboje konieczność wyznaczania dokładnych tablic logarytmicznych zawodne tablice, ponad 4 000 błędów w 40 tomach zastąpienie komputerów maszyną
maszyna różnicowa maszyna napędzana przez silnik parowy, wyliczała tablice logarytmów metodą różnic skończonych i zapisywała wyniki na metalowej płytce projekt nie został ukończony problemy budżetowe kopia na podstawie planów Babbage'a przygotowana w London Science Museum w 1990 roku 4000 elementów, 3m wysokości, 3 tony obliczenia z dokładnością do 31 cyfr
maszyna analityczna nowy projekt po rezygnacji z maszyny różnicowej opracowany w latach 1834-36 maszyna realizowała cztery operacje arytmetyczne, posiadała pamięć (magazyn), skład (store), procesor zwany młynem (mill), program zapisywany na karcie perforowanej instrukcje powtarzanie warunkowe rozgałęzianie eksperymentalny model opracowany w 1871 r.
technika i poezja Ada Augusta Lovelace (1815-1852) córka Lorda Byrona, od młodości zafascynowana matematyką i techniką w latach 1842-43 współpracowała z Ch.Babbage'em i przygotowała pierwszy program komputerowy: instrukcję wyznaczania liczb Bernoulliego za pomocą maszyny analitycznej referencje na jej cześć nazwano język programowania Ada jej podobizna występuje na hologramach Microsoft
maszyna tabulacyjna Herman Hollerith (1860-1929) matematyk i wynalazca, pracował nad amerykańskim spisem powszechnym dane z 1880 roku liczono 8 lat ludność: 3.9 mln (1790), 17.1 mln (1840), 31.4 mln (1860) dzięki maszynie tabulacyjnej 62 mln policzono w 6 tygodni w 1896 r. Hollerith zakłada Tabulating Machine Company, od 1924 r. firma nosi nazwę IBM
inne wydarzenia związane z informatyką 1622: William Oughtred tworzy suwak logarytmiczny 1800: Alessandro Volta wynajduje baterię 1837: Samuel Morse buduje telegraf elektromagnetyczny 1845: kabel telegraficzny pod kanałem La Manche 1854: George Bool opracowuje rachunek logiczny 1875: Thomas Edison buduje powielacz woskowy 1903: Nicola Tesla tworzy elektryczne bramki logiczne 1904: John Fleming wynajduje diodę 1925: Vannevar Bush buduje kalkulator analogowy, następuje pierwsze przesłanie obrazów drogą radiową 1931-38: Konrad Zuse buduje Z1, komputer przekaźnikowy 1936-39: John Atanasoff i Clifford Berry budują maszynę do rozwiązywania układów równań liniowych (komputer ABC)
maszyna Turinga Alan Turing (1912-1954) genialny matematyk, kryptolog, twórca całej współczesnej informatyki maszyny Turinga bomba Turinga test Turinga: czy maszyny myślą? najważniejsza praca "On Computable Numbers"
maszyna Turinga uniwersalny komputer nieskończona taśma skończony alfabet głowica czytająco-pisząca http://www.youtube.com/watch?v=e3kelemwfhy olbrzymie znaczenie teoretyczne, każdy współczesny komputer jest swego rodzaju maszyną Turinga dowolny problem jest rozwiązywalny, jeśli da się zdefiniować maszynę Turinga rozwiązującą problem przykład problemu nierozwiązywalnego: problem stopu
maszyna von Neumanna John von Neumann (1903-1957) matematyk, chemik, fizyk, informatyk twórca teorii gier, autor w projekcie Manhattan, twórca matematycznych podstaw mechaniki kwantowej, twórca architektury współczesnych komputerów rzeczywista implementacja maszyny Turinga pamięć komputerowa (dane i instrukcje) jednostka kontrolna (pobieranie danych i instrukcji) jednostka arytmetyczno-logiczna (wykonywanie obliczeń) urządzenie wejścia-wyjścia
model działania maszyny von Neumanna wymagania system posiada skończoną i funkcjonalnie pełną listę rozkazów program jest wprowadzany do pamięci przez urządzenie I/O program jest przechowywany tak samo jak dane dane i instrukcje są dostępne w taki sam sposób dla procesora przetwarzanie przez sekwencyjne odczytywanie instrukcji z pamięci i wykonywaniu ich w procesorze 1. pobierz instrukcję z pamięci 2. pobierz dane wskazane w instrukcji z pamięci 3. wykonaj rozkaz i zapisz wynik w pamięci 4. wróć do pkt. (1)
co wydarzyło się później 1940: powstaje idea telefonii komórkowej 1941: K.Zuse tworzy maszynę z arytmetyką zmiennoprzecinkową 1941: Alonso Church opracowuje rachunek lambda, Andriej Markow tworzy opis algorytmów na łańcuchach 1944: w IBM Howard Aiken tworzy komputer Mark I 1947: odkrycie tranzystora 1947: powstaje ENIAC, później EDSAC i EDVAC 1954: IBM sprzedaje komputer z systemem operacyjnym 1958: Frank Rosenblatt buduje perceptron, Jack Kilby i Robert Noyce tworzą układ scalony 1960: PDP-1, pierwszy minikomputer zbudowany przez Della
co wydarzyło się później 1965: pierwszy doktorat z informatyki 1968: powstaje firma Intel, pamięć statyczna RAM 1970: pierwsza dyskietka (8,5"), światłowody 1971: pierwszy mikroprocesor Intel 4004 1972: powstaje Cray Research, pierwsze superkomputery 1974: Intel wypuszcza procesor 8080 1981: pierwsza myszka, pierwszy laptop, pierwszy PC 1986: Hewlett-Packard wprowadza procesor RISC 1990: pierwszy serwer usługi WWW
generacja 0 (do 1950) zasadniczym elementem jest przekaźnik elektromagnetyczny praca w systemie dziesiętnym komputer MARK I
generacja 1 (1950-1957) komputery oparte na lampach elektronowych 1000-krotne przyspieszenie obliczeń dane wprowadzane z kart perforowanych, taśm lub dalekopisów jeden program w kodzie binarnym brak systemu operacyjnego komputer ENIAC
generacja 2 (1957-1965) komputery oparte na tranzystorach pierwsze pamięci zewnętrzne (dyski i taśmy magnetyczne, bębny) wieloprogramowość języki symboliczne (FORTRAN, COBOL) prędkość do 100 000 operacji na sekundę komputer IBM/360
generacja 3 (1965-1975) komputery oparte na układach scalonych typy układów scalonych: SSI, MSI wieloprogramowość i wieloprocesowość sieci komputerowe i urządzenia peryferyjne prędkość do 10 000 000 operacji na sekundę komputer PDP-1
generacja 4 (1975-1985) komputery oparte na mikroprocesorach 1976: Steve Woźniak i Steve Jobs zakładają Apple Computers i produkują mikrokomputer Apple I 1981: Microsoft Disk Operating System (MS-DOS)
generacja 5 (od 1985) miniaturyzacja sprzętu zwiększenie możliwości obliczeniowych przetwarzanie równoległe i rozproszone sztuczna inteligencja generacja 6? biokomputery nanokomputery obliczenia przy pomocy DNA komputery kwantowe
czym jest komputer dane komputer wynik program
zastosowania: matematyka komputerowa automatyczne dowodzenie twierdzeń 10%-25% błędów znalezionych w tablicach całek kryptografia, poszukiwania największych liczb pierwszych teoria obliczalności obrazy fraktalne
zastosowania: biologia i biocybernetyka symulacja działania komórek nerwowych, układu nerwowego, funkcji mózgu medycyna wspierana komputerowo symulacje cykli biochemicznych w farmakologii
zastosowania: archeologia rekonstrukcje zabytków wizualizacje stanowisk archeologicznych graficzne bazy danych obiektów rozproszonych po wielu muzeach
zastosowania: badania literackie stylometria: badanie stylu literackiego za pomocą metod ilościowych metody klasyfikacji tekstu digitalizacja ogromnych wolumenów tekstu rozstrzyga sporne kwestie literackie
zastosowania: inne modelowanie procesów pogodowych kierowanie ruchem lotniczym, drogowym, kolejowym projektowanie, aplikacje typu CAD/CAM sekwencjonowanie genomów symulacja pola walki i sterowanie systemami obrony
kierunki rozwoju algorytmika tworzenie nowych algorytmów, obliczalność, optymalizacja bazy danych gigantyczne wolumeny danych, języki zapytań, nowe typy danych grafika komputerowa kartografia, wizualizacja 2D i 3D, rozrywka, diagnostyka medyczna kryptografia ochrona informacji, prywatność, elektroniczny podpis programowanie nowe języki programowania, inżynieria oprogramowania sieci komputerowe architektury, systemy mobilne, usługi sieciowe, aplikacje, Web 2.0 i 3.0 systemy operacyjne architektury, zarządzanie zasobami, systemy sieciowe