Wstęp do informatyki Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Informacje organizacyjne Kontakt dr inŝ. Cezary Bolek pokój 142, Katedra Informatyki, Wydział Zarządzania konsultacje: wtorek 15 00-15 45 środa 11 30-13 00 email: materiały: cbolek@ki.uni.lodz.pl http://www.ki.uni.lodz.pl/~cbolek Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 Literatura 1. David Harel, Rzecz o istocie informatyki - algorytmika, WNT 2000 2. William Stallings, Organizacja i architektura systemu komputerowego, WNT 2000 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 3 1
Informatyka jako dyscyplina naukowa Badanie praw rządzących procesami kodowania, zapisywania, przetwarzania i przesyłania informacji. RóŜnorodność i multidyscyplinarność: matematyka, fizyka, chemia, biologia, nauki przyrodnicze, społeczne oraz humanistyczne Ścisły związek podstaw teoretycznych ze sferą aplikacyjną. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 Oblicza informatyki Informatyka teoretyczna teorie obliczalności metody numeryczne języki formalne Informatyka techniczna architektura sprzętu telekomunikacja elektronika Informatyka Informatyka stosowana języki programowania inŝynieria oprogramowania systemy informatyczne Informatyka praktyczna wykorzystywanie sprzętu i oprogramowania do realizacji celów zawodowych Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 5 Algorytmika Nauka o formułowaniu szczegółowych przepisów na rozwiązywanie zagadnień, pod kątem ich automatycznej realizacji. Rozwiązywalność zadań: algorytmy heurystyczne Efektywność algorytmów: złoŝoność obliczeniowa Poprawność algorytmów: dowodzenie poprawności Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 6 2
Struktury danych Abstrakcyjna reprezentacja obiektów świata rzeczywistego na potrzeby realizacji algorytmu. Liczby: zakres i dokładność Tablice, rekordy: wielość w jedności Stosy, kolejki, listy: liczy się kolejność Drzewa, grafy: złoŝoność powiązań Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 7 Zapis algorytmów Metody graficzne: diagramy, schematy blokowe, sieci działań Języki formalne: zestawy symboli i reguł ich uŝycia (składnia), pozwalające na zapis algorytmu. Program: zapis algorytmu w języku formalnym, który moŝna przetłumaczyć na kod maszynowy. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 8 Proces programowania Algorytm Problem Struktury danych Program Algorytmizacja Kodowanie Programowanie Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 9 3
Matematyka komputerowa metody numeryczne weryfikacja hipotez poprzez wyjątki dowodzenie twierdzeń poszukiwania liczb pierwszych rachunki symboliczne fraktale rachunek Monte Carlo Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 10 Fizyka komputerowa obliczenia symulacyjne fizyka cząstek elementarnych fizyka materiałowa geofizyka, meteorologia astronomia Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 11 Chemia komputerowa symulacje syntezy chemicznej analiza własności materiałów projektowanie związków chemicznych farmakologia komputerowa Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 4
Biologia i cybernetyka komputerowa badanie własności substancji organicznych identyfikacja genomu istot Ŝywych modelowanie procesów ewolucyjnych modelowanie ekosystemów modelowanie zachowań Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 13 Ekonomia komputerowa modelowanie procesów ekonomicznych analiza rynków finansowych analiza procesów demograficznych analiza zuŝycia zasobów naturalnych prognozowanie tendencji rozwoju rynku Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 14 Nauki o poznaniu modelowanie procesów poznawczych systemy ekspertowe i bazy wiedzy problemy sztucznej inteligencji problem osobowości Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 15 5
Komputery w badaniach literackich analiza występowania i znaczenia słów w tekstach literackich stylometria: badania stylu literackiego Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 16 Historia maszyn liczących Czasy prehistoryczne jeden, dwa mnóstwo: liczebniki kamyki, patyczki: narzędzia Bardzo krótka 3000-500 p.chr. liczydło Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 17 XVII wiek 1622 - suwak logarytmiczny, William Oughtred, Anglii 1642 - maszyna do dodawania (Pascalina), Blaise Pascal "Nie jest bowiem rzeczą godną wykształconego człowieka, by tracić godziny pracując jak niewolnik nad obliczeniami, które wykonać mógłby kaŝdy, gdyby uŝyto w tym celu maszyny". Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 18 6
XVII wiek Gottfried Leibniz (1646-1716) 1673 - czterodziałaniowa maszyna licząca Odkrywa układ dwójkowy (pod wpływem Ying-Yang) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 XIX wiek krosna Ŝakardowe pierwsza programowalna maszyna Wejście (program) Maszyna (przetwarzanie) Wyjście (tkanina) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 20 Maszyny Charlesa Babbage a: automatyzacja obliczeń (maszyna róŝnicowa), projekt maszyny analitycznej wykonującej program obliczeń Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 21 7
XIX wiek arytmometry mechaniczne z wykorzystaniem kart perforowanych XX wiek złoŝone obliczenia wojskowe: balistyka, szyfrowanie informacji (Enigma), broń atomowa Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 22 Alan Turing studia nad moŝliwością automatycznego rozwiązywania problemów matematycznych, koncepcja maszyny realizującej algorytm według wczytywanych symboli i aktualnego stanu: Maszyna Turinga koncepcja osobowości jako skomplikowanego algorytmu: Test Turinga John von Neumann koncepcja współczesnego komputera, składającego się z jednostki centralnej, pamięci i układów peryferyjnych, przetwarzającego program zapisany w pamięci Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 23 1944 Mark I : pierwsza elektromechaniczna maszyna cyfrowa długość 120m, wysokość 2.5m, waga 5 ton, dł.przewodów 700km 760.000 części, głównie przekaźników elektromechanicznych przeznaczenia: wojskowe obliczenia balistyczne urządzenie wyjściowe: elektryczna maszyna do pisania szybkość: mnoŝenie ok. 3s Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 24 8
1944 ENIAC (Electrical Numerical Integrator And Calculator): elektronika lampowa: komputery I generacji (1944-55) 17.468 lamp elektronowych, 70.000 rezystorów, 10.000 kondensatorów, 1.500 przekaźników, 6.000 przełączników ręcznych and 5 millionów połączeń lutowniczych powierzchnia 167 m 2, waga 30 tons, moc 160 kilowatów (włączenie powodowało przyciemnienie świateł w Filadelfii) W czasie 1s ENIAC (1000 razy szybsza maszyna licząca od dotychczasowo zbudowanych) mógł wykonać: 5,000 sumowań, 357 mnoŝeń lub 38 dzieleń. Programowanie polegało na łączeniu elementów wykonujących poszczególne obliczenia za pomocą przewodów (hardwired programming) i trwało całe tygodnie. Maszyna wymagała równieŝ częstych zabiegów konserwacyjnych. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 25 1947 tranzystor elektronika półprzewodnikowa: komputery II generacji (1956-1963) Niskie napięcia zasilania, małe zuŝycie energii, małe wymiary, bardzo mała awaryjność. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 26 1958 układ scalony: komputery III generacji (1964-1972) Skomplikowany układ elektroniczny na powierzchni płytki krzemowej (tranzystory, diody, rezystory i połączenia elementów) wytworzony w jednorazowym procesie produkcyjnym, ogromny stopień upakowania elementów przy małej mocy układu. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 27 9
1971 mikroprocesor Intel 4004 komputery IV generacji 1973-1977 Intel 4004 o rozmiarach 3mm x 4mm posiadał 2300 tranzystorów i miał moc obliczeniową równą komputerowi ENIAC (18.000 lamp). W 1972r. sonda Pioneer 10 wykorzystywała juŝ mikroprocesor Intel4004 Połączenie w jednym układzie scalonym jednostki sterującej, wykonawczej i rejestrów roboczych. Następne generacje komputerów róŝnią się jedynie stopniem zagęszczenia elementów w układach scalonych, ale ogólna koncepcja budowy komputera jest taka sama. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 28 komputery osobiste 1976 pierwszy mikrokomputer Apple I Steven Wozniak, Steve Jobs Mikroprocesor: MOS 6502, 1 MHz Pamięć RAM: 8 KB Pamięć ROM: 256 bajtów Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 29 1977 - Apple II komputery osobiste Mikroprocesor: MOS 6502, 1 MHz Pamięć RAM: 4 KB (do 64KB) Pamięć ROM: 12 kb Wbudowany interpreter języka Basic W róŝnych wersjach produkowany do 1993 r. 1980 - Apple III Mikroprocesor: MOS 6502A, 2 MHz Pamięć RAM: 128 KB (do 256KB) Pamięć ROM: 16 kb Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 30 10
komputery osobiste 1982 - Lisa/Lisa 2 Mikroprocesor: Motorola MC68000, 5MHz Pamięć RAM: 1 MB Pamięć ROM: 16 kb System operacyjny: Lisa OS 1984 - Macintosh Mikroprocesor: Motorola MC68000, 7.83MHz Pamięć RAM: 128 KB (do 512kB) Pamięć ROM: 64 kb System operacyjny: Macintosh System 1.0 1987 - Macintosh II Mikroprocesor: Motorola MC68020, 15.66MHz Pamięć RAM: 1MB (do 8MB) Pamięć ROM: 256 kb System operacyjny: Macintosh System 4.0 1989 - Macintosh Portable Mikroprocesor: Motorola MC68HC000, 16MHz Pamięć RAM: 1MB (do 9MB) Pamięć ROM: 256 kb System operacyjny: MacOS 6.0.4 do 7.5.5 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 31 1981 komputer osobisty (PC) - IBM (5150) Pierwszy 16 bitowy mikroprocesor Intel 8088 z zegarem 4.77 MHz. 16kB pamięci, rozszerzalnej do 256kB, stacja dyskietek o pojemności 160kB, kolorowy monitor, cena 1565$ (równowaŝność 4000$ dziś), pierwotnie wyposaŝony w interpreter języka BASIC w pamięci ROM, system operacyjny DOS (nieco później) Koncepcja otwartej architektury przyczyna ogromnej popularności, trwającej w zasadzie do dzisiaj. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 32 komputery osobiste 1983 - IBM PC/XT (5160) Mikroprocesor: Intel 8088, 4.77MHz Pamięć RAM: 64-640kB (w zaleŝności od modelu) Karta graficzna: CGA (320x200 / 640x200) System operacyjny: MS-DOS 2.0 FDD 5.25, HDD 10,20MB 1983 - IBM PC Junior Mikroprocesor: Intel 8088, 4.77MHz Pamięć RAM: 64 KB (do 640kB) Karta graficzna: CGA (320x200 / 640x200) System operacyjny: MS-DOS 2.0 Pamięć zewn.: magnetofon, opcja: FDD 5.25 1984 - IBM PC/AT Mikroprocesor: Intel 80286, 6MHz Pamięć RAM: 512 KB (do 3MB) Karta graficzna: EGA (640x350) System operacyjny: MS-DOS 3.0 HDD,FDD 1984 - IBM PC Portable (5155) Mikroprocesor: Intel 8088, 4.77MHz Pamięć RAM: 256 KB (do 640kB) Karta graficzna: CGA (320x200 / 640x200) System operacyjny: PC-DOS 2.1 1x lub 2x FDD 5.25 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 33 11
Wykształcenie informatyczne Uniwersytet aspekty teoretyczne informatyka teoretyczna - computer science Politechnika aspekty aplikacyjne informatyka stosowana computer engineering Informatyka fizyczna, chemiczna, ekonomiczna, medyczna, etc. Poza uczelniami: szeroka edukacja społeczeństwa w zakresie praktycznych aspektów informatyki Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 34 Programowanie Rzemiosło? program jako dodatek do sprzętu,,,najwaŝniejsze, Ŝe działa Nauka? od rzeczywistości do abstrakcji, podstawy teoretyczne, odpowiedniość metod do problemu Sztuka? kreatywność poczucie estetyki i elegancji dąŝenie do ideału Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 35 Rewolucja informacyjna Łatwość pozyskiwania informacji MoŜliwość swobodnej komunikacji Nowe dziedziny, usługi i formy pracy Zmiana działania urzędów i administracji Nowa organizacja państwa Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 36 12
Informatyka w społeczeństwie Postrzeganie informatyki jedynie jako biegłości w posługiwaniu się komputerem UtoŜsamianie uŝywania oprogramowania z kreatywnością informatyczną. UtoŜsamianie programowania z rozwiązywaniem problemów informatycznych. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 37 ZagroŜenia Szum i śmietnik informacyjny Forma informacji nad treścią Telepraca przymus pracy w domu Zanik prywatności i anonimowości Wszechwładza urzędów i słuŝb Czy naprawdę jesteśmy szczęśliwsi??? Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 38 13