Wprowadzenie do teoretycznych podstaw informatyki (c) Jerzy Nawrocki Wykł. 1 Teoretyczne podstawy informatyki Wykład 1 Wprowadzenie do teoretycznych podstaw informatyki Jerzy.Nawrocki@put.poznan.pl http://www.cs.put.poznan.pl/jnawrocki/tpi/ Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki
J.Nawrocki, Wprowadzenie do TPI (c) Jerzy Nawrocki Co to jest informatyka? Wykł. 1 Dziedzina wiedzy zajmująca się problemami przetwarzania, przechowywania i przesyłania danych. J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Definiowanie informatyki ACM = Association for Computing Machinery IEEE = Institution of Electrical and Electronics Engineers IEEE CS = IEEE Computer Society J.Nawrocki, Wprowadzenie do TPI
ACM i IEEE a sprawa polska Dąż wciąż, A i ty osiągniesz szczyty. Międzynarodowy Konkurs Projektowy, IEEE Computer Society, USA: 2000: III miejsce 2001: I miejsce 2002: II miejsce 2004: I miejsce 2005: II miejsce ACM Collegiate Programming Contest: 1998: I miejsce w Europie Północ. 1999: XIV miejsce na świecie J.Nawrocki, Wprowadzenie do TPI
Trzy filary informatyki Matematyka Nauki ścisłe (science) Inżynieria Mathematics Engineering Science J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Struktury dyskretne Klika Graf nieskierowany J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Struktury dyskretne Graf skierowany J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Struktury dyskretne Drzewo Cykl w grafie J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Struktury dyskretne Ojciec Dzieci Cykl w grafie Drzewo J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Struktury dyskretne Ojciec Dzieci Cykl w grafie Drzewo J.Nawrocki, Wprowadzenie do TPI
Acykliczny graf skierowany (DAG) Struktury dyskretne Cykl w grafie Acykliczny graf skierowany (DAG) J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Podstawy programowania (c) Jerzy Nawrocki Podstawy programowania Wykł. 1 Język schematów blokowych Start Stop R2 > 0 Tak Nie R 1 S S + 1 J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Podstawy programowania Silnia(n) = n! = 123 .. n n! = (n-1)! n s 1 n > 1 Tak s s * n n n - 1 Nie Wynik s Silnia(0) = 1 Silnia(1) = 1 Silnia(2) = 2 Silnia(3) = 6 Silnia(4) = 24 Silnia(5) = 120 int Silnia (int n) { int s = 1; while (n > 1) { s = s * n; n = n – 1;} return s; } J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
AL: Algorytmy i złożoność AL3: Fundamentalne algorytmy obliczeniowe AL4: AL5: Obliczalność AL6: Klasy złożoności P i NP . . . AL11: J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność Dany jest zbiór A zawierający n liczb całkowitych dodatnich. Czy można go podzielić na takie dwa zbiory B, C, że suma liczba w zbiorze B jest równa sumie liczb w zbiorze C? 123 132 112 134 114 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność Dany jest zbiór A zawierający n liczb całkowitych dodatnich. Czy można go podzielić na takie dwa zbiory B, C, że suma liczba w zbiorze B jest równa sumie liczb w zbiorze C? 112 123 134 132 123 114 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: Wielomianowe: p: czas(n) p(n) 123 132 112 134 114 n*n + n + 5 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: „Wykładnicze”: p: czas(n) p(n) 123 132 112 134 114 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: „Wykładnicze”: p: czas(n) p(n) 123 132 112 134 114 n*n + n + 1 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: „Wykładnicze”: p: czas(n) p(n) 123 132 112 134 114 n*n + n + 1 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: „Wykładnicze”: p: czas(n) p(n) 123 132 112 134 114 n*n*n + n*n + n + 1 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: „Wykładnicze”: p: czas(n) p(n) 123 132 112 134 114 n*n*n + n*n + n + 1 2 n J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: „Wykładnicze”: p: czas(n) p(n) 123 132 112 134 114 n*n*n + n*n + n + 1 k n0 nn0 2n > nk J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Algorytmy i złożoność n=6 Klasy algorytmów: Wielomianowe: p: czas(n) p(n) 123 132 112 134 114 „Wykładnicze”: p: czas(n) p(n) Klasy problemów: Wielomianowe: alg. wielomianowy NP-trudne: najpraw. alg. wielomian. J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
AR: Architektura i organizacja AR1: Logika i systemy cyfrowe AR2: Maszynowa reprezentacja danych AR3: Organizacja maszyn na poziomie asemblera AR4: Organizacja i architektura pamięci . . . AR9: J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Jest mała i szybka pamięć operacyjna i duża lecz wolna pamięć dyskowa. Jak zbudować z nich pamięć, która byłaby duża i szybka? J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Jest mała i szybka pamięć operacyjna i duża lecz wolna pamięć dyskowa. Jak zbudować z nich pamięć, która byłaby duża i szybka? J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie 1 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie 1 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie 1 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie 7 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie 7 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie 9 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie 9 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Pamięć wirtualna Odczyt komórki o adresie log. ladr: str = ladr / 3 prz = ladr mod 3 J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Tablica stron Pamięć wirtualna Odczyt komórki o adresie log. ladr: str = ladr / 3 prz = ladr mod 3 fadr = blok(str) + prz J.Nawrocki, Wprowadzenie do TPI
Architektura i organizacja Tablica stron Pamięć wirtualna Odczyt komórki o adresie log. ladr: str = ladr / 3 prz = ladr mod 3 fadr = blok(str) + prz J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
OS: Systemy operacyjne OS1: Przegląd systemów operacyjnych OS2: OS3: Współbieżność OS4: OS5: OS6: Zarządzanie urządzeniami . . . OS12: J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne LP HD B A Jak uniknąć zastoju w systemie? AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne LP HD B A AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B Ale proste! LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD ? AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateLP; AllocateHD; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Systemy operacyjne A B Ale proste! LP HD AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateLP; AllocateHD; UseHDandLP; ReleaseLP; ReleaseHD; J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
NC: Obliczenia w sieciach . . . NC4: WWW jako przykład obliczeń typu klient-serwer NC5: Budowanie aplikacji WWW NC9: J.Nawrocki, Wprowadzenie do TPI
NC: Obliczenia w sieciach . . . NC4: WWW jako przykład obliczeń typu klient-serwer NC5: Budowanie aplikacji WWW NC9: J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
PL: Języki programowania PL1: Przegląd języków programowania . . . PL3: Wprowadzenie do translacji języków PL8: Systemy translacji PL11: J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI (c) Jerzy Nawrocki Języki programowania Wykł. 1 Kompilator Analizator Generator .pas .exe J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
J.Nawrocki, Wprowadzenie do TPI (c) Jerzy Nawrocki Języki programowania Wykł. 1 Dany jest ciąg cyfr, nawiasów, znaków +, -, *, /. Czy ten ciąg jest poprawnie zbudowanym wyrażeniem arytmetycznym? 1 + 2 * 3 = 7 1 + * 2 3 = ??? J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Komunikacja człowiek-komputer . . . NC4: WWW jako przykład obliczeń typu klient-serwer NC5: Budowanie aplikacji WWW NC9: J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Grafika i wizualizacja Jak odwzorowywać na ekranie obiekty 3-wymiarowe w czasie rzeczywistym? J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Politechnika Poznańska Politechnika Poznańska Politechnika Poznańska Systemy inteligentne Politechnika Poznańska Politechnika Poznańska Jak rozpoznawać obrazy lub pismo? Politechnika Poznańska Politechnika Poznańska J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Zarządzanie informacją Jak manipulować dużą ilością danych? Podaj nazwiska tych, u których dochód na głowę > 11 000 zł J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Inżynieria oprogramowania Syndrom LOOP Loop L O P ate (późno) ver budget (przekroczony budżet) vertime (nadgodziny) oor quality (kiepska jakość) J.Nawrocki, Wprowadzenie do TPI
Inżynieria oprogramowania Kiedy i za ile? Co za miesiąc? Wiem, że nie wiem Wiem czego chcę J.Nawrocki, Wprowadzenie do TPI
Inżynieria oprogramowania (c) Jerzy Nawrocki Inżynieria oprogramowania Wykł. 1 Plan wydania: Gra planistyczna Klient It was not OK. Pisze opowieści J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Inżynieria oprogramowania (c) Jerzy Nawrocki Inżynieria oprogramowania Wykł. 1 Opowieści użytkownika Data: 6.11.01 Typ: Nowa: X Naprawa:__ Rozbudowa:__ Numer opowieści: 23 OPOWIEŚĆ: Dla każdego konta oblicz saldo dodając wszystkie wpłaty i odejmując wszystkie wypłaty. Rozmiar: J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Inżynieria oprogramowania (c) Jerzy Nawrocki Inżynieria oprogramowania Wykł. 1 Opowieści użytkownika Data: 6.11.01 Typ: Nowa: X Naprawa:__ Rozbudowa:__ Numer opowieści: 23 OPOWIEŚĆ: Dla każdego konta oblicz saldo dodając wszystkie wpłaty i odejmując wszystkie wypłaty. Rozmiar: J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Inżynieria oprogramowania (c) Jerzy Nawrocki Inżynieria oprogramowania Wykł. 1 Plan wydania: Gra planistyczna Dla opowieści szac. pracochłon. i ryzyko. Ponadto dostępny czas Informatycy It was not OK. 90h, małe Dzieli opowieść Klient It was not OK. Klient 2 tyg= 24 h/osobę It was not OK. Pisze opowieści J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Inżynieria oprogramowania (c) Jerzy Nawrocki Inżynieria oprogramowania Wykł. 1 Plan wydania: Gra planistyczna Pracochł., ryzyko dostępny czas Informatycy More colors 9 godz Wybiera zakres Klient More colors func. 9 h 6 h Klient More colors Opowieści są OK. 2 tyg * 2 osoby= 48 h J.Nawrocki, Wprowadzenie do TPI Teoretyczne podstawy informatyki
Curriculum 2001 - Obszary wiedzy Struktury dyskretne (43) Podstawy programowania (38) Algorytmy i złożoność (31) Architektura i organizacja (36) Systemy operacyjne (18) Obliczenia w sieciach (15) Języki programowania (21) Komunikacja człowiek-komputer (8) Grafika i wizualizacja (3) Systemy inteligentne (10) Zarządzanie informacją (10) Społeczne aspekty informatyki (16) Inżynieria oprogramowania (31) Obliczenia i metody numeryczne (0) J.Nawrocki, Wprowadzenie do TPI
Obliczenia i metody numeryczne 2x = 10 Jak rozwiązać układ równań lub pojedyncze równanie? 3x = 1 x2 = 2 J.Nawrocki, Wprowadzenie do TPI
Obliczenia i metody numeryczne a2 + b2 = a 1 + (b/a)2 = b 1 + (a/b)2 begin a:= 3e-25; b:= 4e-25; if a > b then m:= a*sqrt(1+ (b/a)*(b/a)) else m:= b*sqrt(1+ (a/b)*(a/b)); writeln(m) end. begin a:= 3e-25; b:= 4e-25; m:= sqrt(a*a + b*b); writeln(m) end. 0.0000000000E+00 5.0000000000E-25 J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Egzamin Termin ??? 5 zadań; od 0 do 10 pkt za zadanie Od 28 pkt 3.0; od 33 pkt 3.5; od 38 pkt 4.0, ... Indeks lub legitymacja Kalkulatory zabronione J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Podsumowanie Struktury dyskretne: grafy Podstawy progr.: schematy blokowe Algorytmy i złożoność: podział zbioru Architektura: pamięć wirtualna Systemy operacyjne: problem zastoju Języki progr.: kompilator i wyr. arytm. Systemy inteligentne: rozpozn. pisma Zarządzanie informacją: bazy danych Inżynieria oprogr.: gra planistyczna Metody numeryczne: sqrt(a*a+b*b) Wreszcie! J.Nawrocki, Wprowadzenie do TPI
J.Nawrocki, Wprowadzenie do TPI Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak? J.Nawrocki, Wprowadzenie do TPI