Wprowadzenie do teoretycznych podstaw informatyki

Slides:



Advertisements
Podobne prezentacje
Programowanie w PMC.
Advertisements

Wprowadzenie do informatyki Wykład 6
Informatyka jako dziedzina wiedzy
Grażyna Mirkowska PJWSTK 15 listopad 2000
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Programowanie Ekstremalne
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
ZŁOŻONOŚĆ OBLICZENIOWA
Przetwarzanie tekstów i AWK Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Informatyka jako dziedzina wiedzy Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Procesy współbieżne Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Szacowanie rozmiaru i pracochłonności
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Obliczalność i złożoność obliczeniowa
Informatyka jako dziedzina wiedzy
Budowa komputera Wstęp do informatyki Wykład 15
Zwinne metodyki programowania Copyright, 2006 © Jerzy R. Nawrocki Inżynieria oprogramowania.
Inżynieria Oprogramowania Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Dyscyplina i zwinność w projektach informatycznych
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Informatyka jako dziedzina wiedzy Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Wprowadzenie do teoretycznych podstaw informatyki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Programowanie imperatywne i język C
Języki formalne i gramatyki
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Od algebry Boole’a do komputera
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Metody formalne Copyright, 2005 © Jerzy R. Nawrocki Analiza systemów informatycznych.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Testowanie oprogramowania
Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Komunikacja poprzez Internet
? Rosnące potrzeby użytkowników Rozmiar problemu Czas Komputer domowy
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Copyright © Jerzy R. Nawrocki Metody formalne Inżynieria oprogramowania II Wykład 5.
PORZĄDEK WŚRÓD INFORMACJI KLUCZEM DO SZYBKIEGO WYSZUKIWANIA
Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.
Instytut Matematyki i Informatyki
Informatyka jako dziedzina wiedzy
Informatyka jako dziedzina wiedzy
Translatory Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 11.
Gramatyki i translatory
Ogólna struktura programu w TP
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
Języki formalne Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Wyrażenia regularne i język AWK Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne.
Wstęp do programowania Wykład 4
Wstęp do programowania Wykład 1
Inżynieria oprogramowania
POLITECHNIKA POZNAŃSKA, WYDZIAŁ INŻYNIERII ZARZĄDZANIA
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
POLITECHNIKA POZNAŃSKA, WYDZIAŁ INŻYNIERII ZARZĄDZANIA
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

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! = 123 .. 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 nn0  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