Informacje organizacyjne Kontakt Wstęp do informatyki Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki 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 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> 3 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 1
Informatyka teoretyczna teorie obliczalności metody numeryczne języki formalne Informatyka stosowana języki programowania inŝynieria oprogramowania systemy informatyczne Oblicza informatyki Informatyka Informatyka techniczna architektura sprzętu telekomunikacja elektronika Informatyka praktyczna wykorzystywanie sprzętu i oprogramowania do realizacji celów zawodowych 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> 5 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 6 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ń 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> 7 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 8 2
Problem Proces programowania Algorytmizacja Algorytm Struktury danych Kodowanie Program Matematyka komputerowa metody numeryczne weryfikacja hipotez poprzez wyjątki dowodzenie twierdzeń poszukiwania liczb pierwszych rachunki symboliczne fraktale rachunek Monte Carlo Programowanie Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 9 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 10 Fizyka komputerowa Chemia komputerowa obliczenia symulacyjne fizyka cząstek elementarnych fizyka materiałowa geofizyka, meteorologia astronomia 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> 11 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 3
Biologia i cybernetyka komputerowa Ekonomia komputerowa badanie własności substancji organicznych identyfikacja genomu istot Ŝywych modelowanie procesów ewolucyjnych modelowanie ekosystemów modelowanie zachowań 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> 13 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 14 Nauki o poznaniu Komputery w badaniach literackich modelowanie procesów poznawczych systemy ekspertowe i bazy wiedzy problemy sztucznej inteligencji problem osobowości 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> 15 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 16 4
Historia maszyn liczących Bardzo krótka XVII wiek Czasy prehistoryczne jeden, dwa mnóstwo: liczebniki kamyki, patyczki: narzędzia 3000-500 p.chr. liczydło 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> 17 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 18 XVII wiek Gottfried Leibniz (1646-1716) XIX wiek krosna Ŝakardowe pierwsza programowalna maszyna 1673 - czterodziałaniowa maszyna licząca Odkrywa układ dwójkowy (pod wpływem Ying-Yang) Wejście (program) Maszyna (przetwarzanie) Wyjście (tkanina) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 20 5
Maszyny Charlesa Babbage a: automatyzacja obliczeń (maszyna róŝnicowa), projekt maszyny analitycznej wykonującej program obliczeń 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> 21 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, 1944 Mark I : pierwsza elektromechaniczna maszyna cyfrowa 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 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> 23 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 24 6
1944 ENIAC (Electrical Numerical Integrator And Calculator): elektronika lampowa: komputery I generacji (1944-55) 1947 tranzystor elektronika półprzewodnikowa: komputery II generacji (1956-1963) 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 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) 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 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. 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> 27 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 28 7
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 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> 29 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 30 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 8
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 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 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> 35 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 36 9
Informatyka w społeczeństwie ZagroŜenia 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. 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> 37 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 38 10