Routing proces w którym wyznaczana jest trasa pakietu danych i jest on nią przesyłany do miejsca przeznaczenia.
|
|
- Danuta Antczak
- 8 lat temu
- Przeglądów:
Transkrypt
1 jstaszek (Z34.3) Klasyczne algorytmy rutingu 1. Definicja Routing proces w którym wyznaczana jest trasa pakietu danych i jest on nią przesyłany do miejsca przeznaczenia. Algorytm routingu jest podstawą routingu dynamicznego (w odróżnieniu do routingu statycznego gdzie administrator ustawia tablice rutowania). Zadanie protokołów jest budowa i utrzymanie tablicy routingu. Algorytmy można w większości przypadków zredukować do dwóch podejść: Distance vector korzysta z algorytmu Bellmana Forde do wyszukiwania ścieżki. Graf składa się z routerów połączonych krawędziami. Każdy router widzi tylko bezpośrednio połączonych sąsiadów dlatego nie można zastosować bezpośrednio algorytmu Bellmana Forda Link state algorytmy Dijkstras, lub SPF (shortest path first). Zachowują dokładną topologię sieci. 2. Algorytmy distance vector Okresowo wysyłają wektor odległości. Jeśli jest znalezione lepsze połączenie to następuje jego aktualizacja. Information Protocol (RIP) protokół routowania wewnętrznego (działający w jednym systemie autonomicznym) metryka to liczba skoków max 15 skoków uaktualniany co 30 s Interior Gateway Routing Protocol (IGRP) funkcja przepustowości pasma, obciążenia pasma, opóżnień i niezawodności pasma uaktualniany co 90s Border Gateway Protocol (BGP) protokół routowania zewnętrznego działą między obszarami IPS (automous system)
2 podstawa działania internetu używa protokołu TCP 3. Algorytmy Link State każdy router przechowuje informacje o topologii całej sieci. Korzystają z: Link State Adverstiment wiadomości rozsyłane w sieci (nie tylko do sąsiadów) tylko jeśli zajdzie jakaś zmiana w topologii Bazy danych o topologii Algorytm SPF (Dijkstra) Cykliczne pakiety Hello wymagają większej mocy obliczeniowej, ale zwykle mniejszej przepustowości łącza. Są też szybciej zbieżne. Główna różnica między algorytmami wektora odległości, a algorytmami stanu łącza jest fakt, że każdy wierzchołek dzieli się tylko informacją o swoich POŁĄCZENIACH a nie rozsyła całą tabele routowania. Dlatego może to robić duzo rzadziej. Przykłady OSPF (Open Shortest Path First) Enchanced Interior Gateway Routing Protocol (EIGRP) połączenie algorytmu stanu łącza i wektora odległości Źródło: notatki Agnieszki Pochy, wykład dr Telegi, ftp://ftp.kis.p.lodz.pl/pub/people/m.bakala/materia%b3y/trwsk_6.pdf
3 Staszek (Z43.2) Semantyczna poprawność algorytmów: definicja, pojęcie asercji 1. Definicja Algorytm A jest semantycznie poprawny względem warunku początkowego alfa i warunku końcowego beta gdy dla każdych danych spełniających alfa algorytmu dochodzi do końca i wyniki spełniają warunek beta. Asercją nazywamy trójke {p},code,{q}, gdzie code jest programem, natomiast p i q są formułami rachunku predykatów, nazywane warunkiem wstępnym, oraz warunkiem końcowym. W językach programowania zazwyczaj realizowana przez funkcję assert która rzuca wyjątek jeśli argument jest inny od wartości logicznej true. Dowód poprawności algorytmu względem warunku dowodzi się przez częsciową poprawność (dla każdego alpha jeżeli dochodzi do końca to beta) określność A zadziała dla każdych danych własność stopu A dla każdych danych dochodzi do końca Źródło: AiSD/wyklad09.pdf Staszek (Z59.3) Protokoły: klasyfikacja i adresowanie.
4 Istnieje bardzo dużo różnych sposobów klasyfikacji protokołów 1. Model OSI/ISO. (7 klas) Np. HTTP jest protokołem prezentacji, a TCP jest protokołem warstwy transportowej, IP warstwy sieciowej. Warstwa aplikacji: hosty/sockety Warstwa prezentacji: konwersja na JPG/MPEG itp. Raczej brak protokołów Warstwa sesji: (np SSH) utrzymywanie sesji (niższe warstwy nie znają sesji) Warstwa transportowa: TCP, lub UDP. Zapewnia transport całego komunikatu Warstwa sieciowa: warstwa routerów, np IPv4, znają fizyczną budowę Warstwa łącza danych: pakuje dane w ramki Warstwa fizyczne: najniższe mechanizmy faktycznego przesyłania danych 2. Adresowanie Część wspólna adresowania wszystkich protokołów to tzw. adres MAC czyli fizyczny identyfikator karty sieciowej, unikalny w skali sieci. Pierwsze bity adresu MAC wyznaczają producenta karty sieciowej. Adresowanie jest częścią warstwy sieciowej. Głównymi protokołami warstwy sieciowej są IP (IPv4, IPv6), część stosu TCP/IP i IPX (część stosu IPX/SPX) i każdy posiada swój sposób adresowania.
5 Adresowanie w protokole IPv4 32 bity trzy typy: unicast/ broadcast/multicast dwie części: identyfikator sieci i identyfikator hosta. Granica może być wyznaczona przez maskę sieci kiedyś adresacja była oparta o klasy (A/B/C/D/E) Adresowanie w protokole IPv6 128 bitów lepsza hierarchia adresów prefiks wyznacza sieć Źródła: wikipedia (model OSI) wykład adresacja_ipv4.pdf i ipv6.pdf z sieci dr Telegi +klasyfikacja+i+adresowanie Staszek (Z9.3) Fazy techniczne cyklu życia oprogramowania
6 1. Definicja Cykl życia oprogramowania inżynieria oprogramowania stara się zidentyfikować i opisać podstawowe fazy tworzenia i funkcjonowania oprogramowania, a także wskazać model optymalnego przebiegu tych faz Podstawowe czynności związane z tworzeniem oprogramowania określenie wymagań i specyfikacji transformacja wymagań/celów użytkownika na formalną specyfikacje analiza zrozumienie dziedziny problemu projektowanie dekompozycja, architektura implementacja testowanie dokumentacja instalacja i wdrożenie pielęgnacja Powstało pare modeli faz technicznych cyklu oprogramowania. Omówimy 3 z nich: model kaskadowy, V i SCRUM (metodyka zwinna) 2. Model kaskadowy (waterfall) 6 faz [PAPITP]
7 Model V jest rozszerzeniem modelu kaskadowego, gdzie każdy etap tworzy gotowy kawałek do testowania. Dzięki temu można rozpocząć jak najwcześniej plany testów. Oczywiście dalej jest to model typu waterfall i nie ma tutaj pojęcia iteracji. 3. SCRUM Jest to przykład metodologii z kategorii zwinnych.
8 Pojęcia: sprint podstawowa jednostka developmentu product backlog numerowana lista wymagań w formie historyjek sprint backlog wybrany podzbiór product backlog do zaimplementowania w ciągu jednego sprintu Źródło: wikipedia
9 Staszek (Z23.2) Algorytmy wyszukiwania wzorca, omówić jeden z nich 1. Algorytmy naiwny O(nm) KMP Knutha Moriss Pratt O(n+m) = O(n) RK Rabin Karpa BM Boyer Moore 2. Knuth Moriss Pratt. Prezentacja: 1. definicja krawędzi (Border), 2. bezpieczne przesunięcie to j bord(j), 3. funkcja licząca Bord (PI), 4. funkcja dopasowywująca
10 Czyli tablica Bord jest niezbędna do poprawnego działania algorytmu. (uwaga to samo co w Cormenie, tylko dzięki sprytnemu warunkowi krańcowemu jest łatwiejszy zapis) function compute_bord(){ Bord(0) = 1, t = 1 for(j=1;j<=m;++j){ while(t>=0 and pat[t+1]!=pat[j]){ t = Bord(t); } t = t+1; Bord(j) = t; } } Ostateczny algorytm, bardzo podobny do brutalnego
11 Uwaga: troche inne sformułowanie niż w Cormenie. W Cormenie jest PI zamiast Bord, i przesuwa sie wzorzec, a nie tekst. Także w Cormenie algorytm KMP występuje w tych slajdach jako algorytm MP. Jak się mylę to niech to ktoś poprawi. Źródło:
12 Staszek (Z42.1) Mechanizmy uwierzytelniania klientów w sieci. 1.Podstawy Oparta o to co: zna (hasło, PIN) posiada (karta, generator haseł) jest (odcisk palca, siatkówka, głos) Zasada Kerckhoffsa: bezpieczeństwo systemu nie powinno się opierać o tajność algorytmu 2. Hasło hasło jest przesyłane bezpiecznym kanałem do serwera (np używając klucza publicznego serwera, lub protokołu który to opakowywuje, jak HTTPS) szereg wad, w tym większość psychologiczna: użytkownicy wybierają słabe hasła, łatwe do zapamiętania, używają tych samych haseł w wielu miejsach, zapisują je na kartkach które gubią, itp. keyloggery zwykle weryfikacja przez porównaniu hashu hasła + sol 3. Hasła jednorazowe (np. w systemach bankowych) rozwiązują większość problemów, ale są niewygodne mogą być przez kartę kodów, lub protokołem (np. schemat Lamporta) 4. Wyzwanie odpowiedź (zerowa wiedza) wspólna tajemnica (klucz symetryczny, liczba)
13 5. Single sign on np. oparte Kerberos (klienci dostają od Kerberosa klucz sesyjny używany np do szyfrowania symetrycznego połączenia) single point of failure (jak to jest złamane, to haker dostaje dostęp do wszystkich miejsc, gdzie loguje sie użytkownik) 6. Protokoły (wcześniej zostały wymieniony metody, i one są implementowane w konkretnych protokołach) Kerberos: centrum dystrybucji kluczy, daje bilet zawierający klucz sesyjny SSL/TLS: opiera się na szyfrowaniu asymetrycznym i certyfikatach X.509 HTTPS: http over ssl
14 Staszek (Z10.3) Podstawowe cechy transakcji; szeregowalność harmonogramów. 1. Definicja Transakcja wykonywany program, który tworzy jednostkę przetwarzania w bazie danych. Transakcja składa się z jednej lub wielu operacji dostępu do bazy danych i może obejmować operacje wstawiania, usuwania, modyfikowania i pobierania danych. Nie koniecznie jedno zapytanie SQL! Transakcja musi być ACID atomowa (ang. atomic), spójna (ang. consistent) separowana (ang. isolated) i trwałą (ang. durable). atomowość transakcji oznacza, iż każda transakcja albo wykona się w całości, albo w ogóle, czyli np. jeżeli w ramach jednej transakcji odbywać ma się przelew bankowy (zmniejszenie wartości jednego konta i powiększenie innego o tę samą kwotę), to nie może zajść sytuacja, że z jednego konta ubędzie pieniędzy a kwota na docelowym będzie bez zmian: albo przelew zostanie wykonany w całości, albo w ogóle. spójność transakcji oznacza, że po wykonaniu transakcji system będzie spójny, czyli nie zostaną naruszone żadne zasady integralności. izolacja transakcji oznacza, iż jeżeli dwie transakcje wykonują się współbieżnie, to zazwyczaj (zależnie od poziomu izolacji) nie widzą zmian przez siebie wprowadzanych. Poziom izolacji w bazach danych jest zazwyczaj konfigurowalny i określa, jakich anomalii możemy się spodziewać przy wykonywaniu transakcji. trwałość danych oznacza, że system potrafi uruchomić się i udostępnić spójne, nienaruszone i aktualne dane zapisane w ramach zatwierdzonych transakcji, na przykład po nagłej awarii zasilania 2. Szeregowalność harmonogramów Harmonogram to ciąg operacji wykonywanych jednocześnie transkacji, w których zachowany jest porządek operacji każdej wewnątrz każdej transakcji. Harmonogram sekwencyjny to harmonogram w którym operacje każdej transakcji są wykonywane kolejno zgodnie z kolejnością transakcji
15 Wady harmongramów szeregowych: Nieefektywne Harmongram szeregowalny harmonogram którego wpływ na bazę danych jest identyczny jak pewnego harmonogramu szeregowego Harmonogram szeregowalny konfliktowo jeżeli jest konfliktowy równoważny pewnemu harmongramowi szeregowemu S Operacje są konfliktowe: różne operacje ten sam element jedna zapisu (minimum) Sprawdzać, czy harmonogram jest szeregowalny konfliktowo można robić przez szukanie cyklów w grafie poprzedzania. Szeregowalność konfliktowa może być łatwo osiągalna, ale często jest uważana za zbyt restrykcyjną (np. 2 phase locking)
16 Staszek (Z15.3) Podstawowe metody indeksowania w systemach baz danych 1. Definicje indeks dodatkowa struktura fizyczna, ktorej celem jest przyspieszenie wykonywania operacji, które nie są wystarczajaco efektywne wspierane przez podstawowe organizacje plików. jest to uporządkowany plik z rekordami indeksu o stałej długości. rekord indeksu zawiera dwa pola: klucz reprezentujący jedną z wartości, oraz wskaźnik na blok danych zawierających krotkę atrybut indeksowy zbiór na którym jest założony indeks 2. Taksonomia indeksów indeks gęsty/rzadki indeks podstawowy/zgrupowany/wtórny (porządkujacy unikalny, nieunikalny, nieporządkujący) indeks jedno/wielopoziomowy
17 3. ISAM indexed sequential access method brak zaawansowanych mechanizmów modyfikacji dlatego wykorzystywane są B+ drzewa (najczęściej wykorzystywana struktura w bazie danych dzięki optymalizacji dostępu dyskowego) 4. B+ drzewo wierzchołki wewnętrzne służą do wspomagania wyszukiwania wierzchołki liści zawierają rekordy indeksu ze wskaźnikami od t 1 do 2t 1 w jednym wierzchołku dynamiczna struktura dobre ograniczenia na wysokość drzewa optymalizują ilość zapytań do dysku (zwykle t w okolicach rozmiaru strony w pamięci) liście połączone w listę dwukierunkową
18 Źródło: ch+baz+danych, ważniak indeksy
19 Staszek (Z16.2) Problemy NP zupełne: definicja i przykłady 1. Definicja Klasa P problemy (wyszukiwania lub decyzyjne w zależności od definicji), które da sie rozwiązać w czasie wielomianowym Klasa NP problemy (wyszukiwania, lub decyzyjne w zależności od definicji), których czas jest wielomianowy, lub większy Używając modelu obliczeniowego maszyny turinga możemy zdefiniować zbiory NP i P. Pytanie czy NP = P jest jednym z najważniejszych pytań współczesnej informatyki gdzie NTIME określa zbiór problemów (decyzyjnych) rozwiązywanych przez niedeterministyczną maszynę turinga. Większość naukowców sądzi, że NP nie jest równe P i argumentów jest bardzo dużo, brakuje niestety dowodu. Jednym z argumentów jest że kazde twierdzenie można przedstawić jako formułę logiczną i gdyby P=NP to matematycy byliby zbędni. Problem (wyszukiwania, lub decyzyjny) jest NP zupełny jeśli wszystkie inne problemy się do niego redukują. Przez redukcję rozumiemy rozwiązanie problemu A przez rozwiązanie transformacji A do B, a potem użycia transformacji odwrotnej z transformacjami w czasie wielomianowym Wszystkie problemy NP zupełne są równoważne. Wszystkie problemy da sie zredukować do SAT (bo każdy algorytm jest równoważny pewnemu ukladowi logicznemu). 2. Przykłady 3SAT (x lub y lub ~z) ^ (z lub x).. TSP Problem plecakowy Programowanie całkowite liniowe (Ax<=b and c*x >= g), programowanie liniowe binarne proste
20 Cykl Hamiltona (rudrata) cykl eulera prosty Źródło:
21 Staszek (Z30.2) Programowanie dynamiczne: definicja i przykład zagadnienia, do którego można je zastosować 1. Definicja Programowanie dynamiczne technika projektowania algorytmów stosowana przeważnie do rozwiazywania problemow optymalizacyjnych Programowanie dynamiczne opiera się na podziale problemu na sparametryzowane podproblemy i składaniu ich w rozwiązanie całości. Często jednym z parametrów podproblemu jest jego wielkość. Własność optymalnej podstruktury istnieje porządek na podproblemach i sposób rozwiązania problemy przez kompozycję rozwiązań podproblemów. 2. Przykłady najdłuzszy rosnąc podciąg ciągu najkrótsze ścieżki w grafie (Bellman Ford, Floyd Warshall) Algorytm CYK (sprawdzanie czy słowo należy do języka bezkontekstowego w postaci normalnej Chomskiego) 3. Problem plecakowy (nie dyskretny) Problem plecakowy formalnie problem może być zdefiniowany: zmaksymalizuj przy założeniach: Jeśli zdefiniujemy K(w) maksymalna wartość plecaka o objętości W to K(w) = max_{i: w_i < w} (K(w w_i) + v_i). Bardzo prosto napisać program który to liczy. for i:=0 to W do A[i]:= 0
22 for i:=0 to W do for j:=1 to n do if ( w[j] <= i ) then //sprawdzenie czy j ty element mieści się w plecaku o rozmiarze i A[i] = max(a[i], A[i w[j]] + c[j]) Czas działania programu to O(nW). Warto zauważyć, że problem ten jest NP Zupełny i ta złożoność wcale nie jest wielomianowa.
23 Źródło: wikipedia Staszek (Z46.3) Mechanizm stronicowania pamięci wirtualnej 1. Definicja [pamięc wirtualna = ramki + strony i dlatego potrzebne jest stronicowanie. normalnie moglibyśmy mieć tylko ramki czyli brak potrzeby stronicowania] Pamięc wirtualna organizacja zasobów pamięci, zrealizowana w oparciu o przestrzeń wymiany w pamięci drugiego rzędu (dysk). Pozwala na : poszerzenie rozmiarów pamięci bardziej racjonalne wykorzystanie zasobów (programy tworzone z nadmiarem) Ramka pamięc operacyjna jest podzielona na ramki, często rozmiaru 4KB. Strona to wirtualny odpowiednik ramki. Bit poprawności oznacza czy ma ona swój odpowiednik rzeczywisty w pamięci, jeśli nie trzeba zastosować stronicowanie Stronicowanie sprowadzanie do pamięci operacyjnej stron adresowanych przez procesor. Sprowadzanie jest zadaniem systmeu operacyjnego i jest realizowane w przypadku wystąpienia błędu strony. Podstawowe zadania: wybór ramki ofiary problem wznawiania rozkazów Wspomaganie sprzętowe: bit poprawności (używany do obsługi błędu strony), bit modyfikacji (przy stronicowaniu), odniesienia (przy algorytmach wyboru ramki ofiary) [błąd strony > wybór ofiary > wznawianie rozkazów] 2. Obsługa błędu strony Ramka!= strona. Adresy logiczne odnoszą się do stron, które nie koniecznie muszą prowadzić do ramki!!
24 3. Wybór ramki ofiary wymiana na żądanie (usuwanie i psorawdzanie) FIFO zastępowana najstarsza
25 LIFO zastępowana najmłodsza... wymiany ze sprowadzaniem na żądanie usuwanie samodzielnie WS usuwane są strony do których nie było odniesień przez określony czas (odmiana WSClock) wsŧepnego sprowadzania (sprowadza więcej niż 1) OBL (one block ahead) sprowadzana jest następna strona 4. Wznawianie rozkazu błąd. Po sprowadzeniu strony ponownie wykonujemy cykl rozkazowy który spowodował Źródło: ważniak,
26 Staszek (Z33.3) Układy kombinacjne: definicja i przykłady 1. Definicje Układ elektroniczny zespół połączonych ze sobą częsci elektronicznych (tranzystory, rezystory) realizujący jakąś funkcję Układ cyfrowy układ elektroniczny w których sygnały napięciowe przyjmują tylko określoną liczbę poziomów Układ kombinacyjny układ cyfrowy bez pamięci. KAżdej kombinacji impulsów wejściowych przyporządkowywujemy dokładnie jedną kombinację wyjściową. Najprostszy przykład to bramki logiczne: AND OR NOT NAND NOR XOR Układ projektujemy przykładowo z wykorzestaniem minimalizacji tabelami Karnaugh
27 2. Przykład półsumatora [narysować tabelke i zauwazyc ze s = x^y i c = xy]
28 Źródło: notatki Agnieszka Pocha, wykład oak Dziadzio Wladzio!
29 Staszek (Z36.1) Strukturalne typy danych w językach programowania 1. Definicja Strukturalny typ danych typ danych, który nie jest prosty (char, int, bool), ale nie jest obiektowy, czyli nie posiada metod. 2. Struktura, unia, krotka wiele typów w jednym Struktura (rekord) to złożony typ danych występujący w wielu językach programowania (np C++), grupujący logicznie powiązane ze sobą dane różnego typu w jednym obszarze pamięci. Pola struktury są etykietowane cczyli mają swoje unikatowe nazwy. Przykładem struktury może być informacja o książce: tytuł, autor, wydawnictwo. W językach z silną typizacją musi zostać zdefiniowany odpowiedni typ. Np w C++ struct miasto{ long ludność char * rzeka } instancja; Krotka struktura danych będaca odzwierciedleniem matematycznej krotki, czyli uporządkowanego ciągu wartości. Często można zmodyfikować żadnego elementu, natomiast odczyt wymaga podania indeksu liczbowego (python). Obecne w Pythonie, Ruby, C++11. Zapis w językach programowania często identyczny z matematycznym np. ( Jan, Kowalski, 33) Unia typ danych w niektórych językach programowania (C, asembler) zdecydowanie mniej popularny. Grupuje wiele różnych sposobów interpretacji tego samego fragmentu pamięci. Unia jest podobna do struktury ale wszystkie elementy zajmują ten sam obszar pamięci 3. Inne tablica, typ tekstowy
30 Typ tekstowy typ danych służący do przechowywania ciągów znakowych. W niektórych językach są typem wbudowanym (PHP, Pascal), w innych realizowane za pomocą innych struktur językowych (Java, C++). Często jest to typ niemodyfikowalny (Java, C#, Scala). Tablica kontener danych w którym kolejne wartości są dostępne za pomocą indeksów. W C++ tworzone przez int array[] = new int[18];
31 Staszek (Z41.2) Złożoność obliczeniowa algorytmów: definicja, notacja i przykłady 1. Definicja Złożoność obliczeniowa dział teorii obliczeń określająca ilość zasobów potrzebnych do wykonania algorytmu złożoność pamięciowa złożoność czasowa Miarą złożoności czasowej jest liczba operacji elementarnych wykonanych w zależności od rozmiaru wejścia. Dla dostatecznie dużych danych wejściowych interesuje nas jedynie rząd wielkości funkcji złozności (stałe wspołczynniki i mniej znaczące składniki są zdominowane przez rozmiar danych). 2. O notacja Ważną częscią notacji złożoności obliczeniowej jest tzw. O notacja (ang. O notation). Określa ona zbiory funkcji, które można porównywać. duże O : Mówimy, że f jest co najwyżej rzędu g, gdy istnieją takie stałe, oraz, że: Zapis: małe o : Mówimy, że f jest niższego rzędu niż g, gdy dla każdej stałej, że: istnieje stała Zapis: omega duże :
32 Mówimy, że f jest co najmniej rzędu g, gdy istnieją takie stałe, oraz, że: Zapis: omega małe : Mówimy, że f jest co najmniej rzędu g, gdy istnieją takie stałe, oraz, że: Zapis: theta duże Mówimy, że f jest dokładnie rzędu g, gdy istnieją takie stałe, oraz i, że: Zapis: Można powiedzieć, że, gdy jest jednocześnie rzędu i. 3. NP/P Używając modelu obliczeniowego maszyny turinga możemy zdefiniować zbiory NP i P. Pytanie czy NP = P jest jednym z najważniejszych pytań współczesnej informatyki gdzie NTIME określa zbiór problemów (decyzyjnych) rozwiązywanych przez niedeterministyczną maszynę turinga. 4. Przykłady
33 Jeżeli oraz, to oraz, ale również. Złożoność obliczeniowa merge sort (dowód przez np. twierdzenie o rekurencji uniwersalnej, albo prościej można policzyć ilość węzłów w drzewie) Źródło: notatki Agnieszki Pochy, wikipedia ( ) Bonus:
34 Staszek (Z53.1) Kontrola typów w językach programowania. 1. Definicja Kontrola typów proces sprawdzania poprawności typów w każdym węźle drzewa składni. System kontroli typów przydziela każdej wyliczonej wartości typ. Główną motywacją implementacji kontroli typów jest eliminacja błędów oprogramowania. Może odbywać się statycznie (w czasie kompilacji), lub dynamicznie (w czasie działania, za pomocą przypisanych tagów do obiektu). 2. Kontrolowane konstrukty językowe przykład (Elementy kontroli typów) przypisanie operacja arytmetyczna wywołanie funkcji odwołanie do pól rekordu wywołania metod obiektu 3. Słabe, a silne typowanie ( ) Brak konkretnej definicji, jest to pojęcie intuicyjne. Język może mieć (w różnym zakresie): typowanie statyczne np Java/C#/C++ typowanie dynamiczne większość języków, każdy obiekt ma tag który oznacza typ. Używane do sprawdzania typów w czasie tworzenia dynamicznego nowych obiektów i wiele innych. Przykłady kolokwialnie słabo typowanych języków: Python, Javascript Przykłady kolokwialnie silno typowanych języków: C++, C# (wszystko zamknięte w jednym systemie typów dziedziczącym bo bazowym Object) 4. Zalety Wczesne wyłapywanie błędów Forma dokumentacji Możliwość optymalizacji przez kompilator
35 Źródło: Staszek (Z8.1) Kryteria oceny języków programowania 1. Wieloplatformowość czy kod bajtowy da się odpalić na wielu platformach (Java) 2. Silna/słaba typowalność mocno nieformalne pojęcie oznaczające jak elastycznie można zmieniać typy. Przykład języka słabo typowanego jest Python, a silnie typowanego Java, lub Scala (gdzie wiele typów jest wnioskowanych przez kompilator) 3. Obiektowość na ile język wspiera paradygmat programowania obiektowego (np. C nie jest obiektowy, a C++ jest obiektowy) 4. Sposób zarządzania pamięcią np. C++ nie ma garbage collectora, ale Java/Scala/Python/Ruby mają 5. Kompilowalny język np. Java jest kompilowana do bajtkodu, a bash jest interpretowany 6. Wspieranie współbieżności na ile język wspiera paradygmaty programowania współbieżnego np Java (monitory, słowo kluczowe synchronized), Scala (Erlang like system aktorów). 7. Funkcyjne zwykle w językach funkcyjnych funkcję są pełnoprawnymi obiektami. Język może być czysto funkcyjny (tj. nie wspierający programowania imperatywnego) jak np. Haskell, albo może umożliwiać obydwa style programowania (Scala) 8. Imperatywne program to sekwencja instrukcji, większość języków (np. C++) 9. Umożliwiające metaprogramowanie czyli część pracy jest wykonywana w czasie kompilacji. np C++ [work in progress] Źródło:
36 Staszek (Z18.3) Układy sekwencyjne: definicja i przykłady. 1. Definicja Układ elektroniczny zespół połączonych ze sobą częsci elektronicznych (tranzystory, rezystory) realizujący jakąś funkcję Układ cyfrowy układ elektroniczny w których sygnały napięciowe przyjmują tylko określoną liczbę poziomów Układ sekwencyjny układ cyfrowy posiadający pamięc (stan). Układy sekwencyjne podobne są do automatów skończenie stanowych. 2. Przerzutniki Elementarnymi układami pamiętającymi (przechowującymi) jeden bit są przerzutniki Przerzutnik D (latch) ma dwa wejścia R (reset) i S (set). Ma również dwa wyjścia Q i ~Q. Najprostszy i najbardziej logiczny z przerzutników. Jak C = 0 to zachowaj, jak C = 1 to przerzuć na stan D.
37 Analizujemy układ sekwencyjny zwykle za pomocą grafu przejść stanu (podobnie jak automat skończony). 3. Przykład Za pomocą przerzutników D możemy zrobić prosty rejestr 4 bitowy z operacjami Load i Clear.
38 Źródło: wykład OAK Staszek (Z11.3) Wytwarzanie oprogramowania w środowisku zintegrowanym; funkcjonalności 1. Definicja Środowisko zintegrowane (ang. IDE: Integrated Development Environment) zespół aplikacji służący do wytwarzania, testowania i konserwowania aplikacji. Przykłady to: Visual Studio, Eclipse, IntelliJ 2. Funkcjonalności kompilator interpreter system wspomagania wersji kontroli (git/svn) projektowanie aplikacji refaktoryzacja skomplikowany system pluginów przeglądanie obiektów podpowiadanie autouzupełnianie system wspomagania testowania jednostkowego 3. Wytwarzanie oprogramowania Dobrze używane IDE zwykle przyspiesza proces wytwarzania oprogramowania. Dzięki skrótom można dużo szybciej poruszać się w obrębie kodu. Zintegrowane testy jednostkowe umożliwiają zastosowanie technik TDD (test driven development). Wiele specjalizowanych IDE posiada bardzo przydatne własności dla danej platformy, przykładowo Eclipse udostępnia projektowanie wyglądu aplikacji na Androida, lub Visual Studio umożliwia edycję bazy daych MS SQL z poziomu IDE.
39 Staszek (Z60.3) Najważniejsze diagramy UML używane w projektowaniu systemów. 1. Strukturalne diagramy Diagram jest strukturalny jeśli nie zawiera w sobie informacji o czasowym porządku. Diagram klas opisuje strukture systemu, relacje między obiektami, siłę powiązań. Stanowi dobrą podstawę do implementacji systemu Diagram komponentów Diagram pakietów 2. Diagramy behawioralne Diagram przypadków użycia przedstawia przypadki użycia systemu w odniesieniu do użytkownika. Umożliwia dziedziczenie i rozszerzanie przypadków. Modeluje też zależności między nimi. Często używa się wielopoziomowych diagramów.
40 Diagram sekwencji diagram interakcji obiektów. Pokazuje czas życia obiektów, asynchroniczność metod, odpowiedzialność za obiekty na osi czasu.
41 Diagram aktywności ogólny przypływ sterowania, który opisuje akcje, wybory, współbieżność.
42 Spis treści: 1. Staszek (Z34.3) Klasyczne algorytmy rutingu 2. Staszek (Z43.2) Semantyczna poprawność algorytmów: definicja, pojęcie asercji 3. Staszek (Z59.3) Protokoły: klasyfikacja i adresowanie. 4. Staszek (Z9.3) Fazy techniczne cyklu życia oprogramowania 5. Staszek (Z23.2) Algorytmy wyszukiwania wzorca, omówić jeden z nich
43 6. Staszek (Z42.1) Mechanizmy uwierzytelniania klientów w sieci. 7. Staszek (Z10.3) Podstawowe cechy transakcji; szeregowalność harmonogramów. 8. Staszek (Z15.3) Podstawowe metody indeksowania w systemach baz danych 9. Staszek (Z16.2) Problemy NP zupełne: definicja i przykłady 10. Staszek (Z30.2) Programowanie dynamiczne: definicja i przykład zagadnienia, do którego można je zastosować 11. Staszek (Z46.3) Mechanizm stronicowania pamięci wirtualnej 12. Staszek (Z33.3) Układy kombinacjne: definicja i przykłady 13. Staszek (Z36.1) Strukturalne typy danych w językach programowania 14. Staszek (Z41.2) Złożoność obliczeniowa algorytmów: definicja, notacja i przykłady 15. Staszek (Z53.1) Kontrola typów w językach programowania. 16. Staszek (Z8.1) Kryteria oceny języków programowania 17. Staszek (Z18.3) Układy sekwencyjne: definicja i przykłady. 18. Staszek (Z11.3) Wytwarzanie oprogramowania w środowisku zintegrowanym; funkcjonalności
Warstwa sieciowa rutowanie
Warstwa sieciowa rutowanie Protokół IP - Internet Protocol Protokoły rutowane (routed) a rutowania (routing) Rutowanie statyczne i dynamiczne (trasowanie) Statyczne administrator programuje trasy Dynamiczne
Bardziej szczegółowoZagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ
(INT) Inżynieria internetowa 1. Tryby komunikacji między procesami w standardzie Message Passing Interface 2. HTML DOM i XHTML cel i charakterystyka 3. Asynchroniczna komunikacja serwerem HTTP w technologii
Bardziej szczegółowoINFORMATYKA Pytania ogólne na egzamin dyplomowy
INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja
Bardziej szczegółowoPojęcie bazy danych. Funkcje i możliwości.
Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór
Bardziej szczegółowoZagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ
(INT) Inżynieria internetowa 1.Tryby komunikacji między procesami w standardzie Message Passing Interface. 2. HTML DOM i XHTML cel i charakterystyka. 3. Asynchroniczna komunikacja serwerem HTTP w technologii
Bardziej szczegółowoDR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.
DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r. PLAN Ruting a przełączanie Klasyfikacja rutingu Ruting statyczny Ruting dynamiczny
Bardziej szczegółowoStronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Bardziej szczegółowoWykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny
Wykład 3: Internet i routing globalny 1 Internet sieć sieci Internet jest siecią rozproszoną, globalną, z komutacją pakietową Internet to sieć łącząca wiele sieci Działa na podstawie kombinacji protokołów
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Bardziej szczegółowoKlasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoWykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Bardziej szczegółowoProgramowanie dynamiczne cz. 2
Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy
Bardziej szczegółowoAnaliza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Bardziej szczegółowoPodstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Bardziej szczegółowoWykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Bardziej szczegółowo3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Bardziej szczegółowoZagadnienia na egzamin dyplomowy
Zagadnienia na egzamin dyplomowy Zagadnienia podstawowe i kierunkowe 1. Wyjaśnij budowę i działanie pojedynczego neuronu w sztucznej sieci neuronowej. 2. Definicja złożoności czasowej i obliczeniowej algorytmów.
Bardziej szczegółowo< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >
Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Bardziej szczegółowoHistoria modeli programowania
Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu
Bardziej szczegółowoAlgorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoZarządzanie infrastrukturą sieciową Modele funkcjonowania sieci
W miarę rozwoju sieci komputerowych pojawiały się różne rozwiązania organizujące elementy w sieć komputerową. W celu zapewnienia kompatybilności rozwiązań różnych producentów oraz opartych na różnych platformach
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Bardziej szczegółowoPORADNIKI. Routery i Sieci
PORADNIKI Routery i Sieci Projektowanie routera Sieci IP są sieciami z komutacją pakietów, co oznacza,że pakiety mogą wybierać różne trasy między hostem źródłowym a hostem przeznaczenia. Funkcje routingu
Bardziej szczegółowo2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew
0-0-6 PLAN WYKŁADU Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew BAZY DANYCH Wykład 9 dr inż. Agnieszka Bołtuć INDEKSY - DEFINICJE Indeksy to pomocnicze struktury
Bardziej szczegółowoPrzesyłania danych przez protokół TCP/IP
Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoSchemat programowania dynamicznego (ang. dynamic programming)
Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten
Bardziej szczegółowoTechnologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
Bardziej szczegółowoRouting. mgr inż. Krzysztof Szałajko
Routing mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu do sieci Wersja 1.0
Bardziej szczegółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoInformacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoSpis treści. Przedmowa
Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach
Bardziej szczegółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Bardziej szczegółowoSieci komputerowe - Protokoły wspierające IPv4
2013-06-20 Piotr Kowalski KAiTI Plan i problematyka wykładu 1. Odwzorowanie adresów IP na sprzętowe i odwrotnie protokoły ARP i RARP. - Protokoły wspierające IPv4 2. Routing IP Tablice routingu, routing
Bardziej szczegółowoang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku
System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej
Bardziej szczegółowoSZKOLENIE: Administrator baz danych. Cel szkolenia
SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoProjektowanie. Projektowanie mikroprocesorów
WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowoSystemy baz danych. mgr inż. Sylwia Glińska
Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania
Bardziej szczegółowoZasady organizacji projektów informatycznych
Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych
Bardziej szczegółowoBazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)
Indeksy Wykład przygotował: Robert Wrembel BD wykład 7 (1) 1 Plan wykładu Problematyka indeksowania Podział indeksów i ich charakterystyka indeks podstawowy, zgrupowany, wtórny indeks rzadki, gęsty Indeks
Bardziej szczegółowoModelowanie hierarchicznych struktur w relacyjnych bazach danych
Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego
Bardziej szczegółowoPlan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej
Wyznaczanie tras (routing) 1 Wyznaczanie tras (routing) 2 Wyznaczanie tras VLSM Algorytmy rutingu Tablica rutingu CIDR Ruting statyczny Plan wykładu Wyznaczanie tras (routing) 3 Funkcje warstwy sieciowej
Bardziej szczegółowoTadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
: idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Bardziej szczegółowoWykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych
Wykład 2: Budowanie sieci lokalnych 1 Budowanie sieci lokalnych Technologie istotne z punktu widzenia konfiguracji i testowania poprawnego działania sieci lokalnej: Protokół ICMP i narzędzia go wykorzystujące
Bardziej szczegółowoKomputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Bardziej szczegółowoSieci komputerowe. Routing. dr inż. Andrzej Opaliński. Akademia Górniczo-Hutnicza w Krakowie. www.agh.edu.pl
Sieci komputerowe Routing Akademia Górniczo-Hutnicza w Krakowie dr inż. Andrzej Opaliński Plan wykładu Wprowadzenie Urządzenia Tablice routingu Typy protokołów Wstęp Routing Trasowanie (pl) Algorytm Definicja:
Bardziej szczegółowoLaboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
Bardziej szczegółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoAdresy w sieciach komputerowych
Adresy w sieciach komputerowych 1. Siedmio warstwowy model ISO-OSI (ang. Open System Interconnection Reference Model) 7. Warstwa aplikacji 6. Warstwa prezentacji 5. Warstwa sesji 4. Warstwa transportowa
Bardziej szczegółowoSieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet
Sieci Komputerowe Wykład 1: TCP/IP i adresowanie w sieci Internet prof. nzw dr hab. inż. Adam Kisiel kisiel@if.pw.edu.pl Pokój 114 lub 117d 1 Kilka ważnych dat 1966: Projekt ARPANET finansowany przez DOD
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoGrupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)
Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne przedmioty.
Bardziej szczegółowoprocesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
Bardziej szczegółowoStruktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Bardziej szczegółowoZagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Bardziej szczegółowoPROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ
PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy
Bardziej szczegółowoWprowadzenie do złożoności obliczeniowej
problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów
Bardziej szczegółowoRouting. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski
Routing część 2: tworzenie tablic Sieci komputerowe Wykład 3 Marcin Bieńkowski W poprzednim odcinku Jedna warstwa sieci i globalne adresowanie Każde urządzenie w sieci posługuje się tym samym protokołem
Bardziej szczegółowoTeoria obliczeń i złożoność obliczeniowa
Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy
Bardziej szczegółowoWykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Bardziej szczegółowoProgramowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
Bardziej szczegółowoPBS. Wykład Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu.
PBS Wykład 5 1. Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu. mgr inż. Roman Krzeszewski roman@kis.p.lodz.pl mgr inż. Artur Sierszeń asiersz@kis.p.lodz.pl mgr inż. Łukasz
Bardziej szczegółowoBaza danych. Baza danych to:
Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego
Bardziej szczegółowoEGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA
EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA POZIOM ROZSZERZONY FORMUŁA OD 2015 ( NOWA MATURA ) ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZ MIN-R1,R2 MAJ 2018 Uwaga: Akceptowane są wszystkie odpowiedzi
Bardziej szczegółowoPlan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.
Plan wykładu 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Modem analogowy Sieć komputerowa Siecią komputerową nazywa się grupę komputerów
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoPodstawy modelowania programów Kod przedmiotu
Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki
Bardziej szczegółowoStruktury Danych i Złożoność Obliczeniowa
Struktury Danych i Złożoność Obliczeniowa Zajęcia 1 Podstawowe struktury danych Tablica Najprostsza metoda przechowywania serii danych, zalety: prostota, wady: musimy wiedzieć, ile elementów chcemy przechowywać
Bardziej szczegółowoKumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy
Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Marek Żukowicz 14 marca 2018 Streszczenie Celem napisania artykułu jest próba podania konstruktywnego dowodu, który wyjaśnia, że niewielka
Bardziej szczegółowoPodstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
Bardziej szczegółowoProtokoły sieciowe - TCP/IP
Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy
Bardziej szczegółowoINFORMATYKA POZIOM ROZSZERZONY
EGZAMIN MATURALNY W ROKU SZKOLNYM 2016/2017 FORMUŁA OD 2015 ( NOWA MATURA ) INFORMATYKA POZIOM ROZSZERZONY ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZ MIN-R1, R2 MAJ 2017 Uwaga: Akceptowane są wszystkie odpowiedzi
Bardziej szczegółowoPlan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.
Plan wykładu 2 BAZY DANYCH Wykład 4: Indeksy. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krętowska Wydział Informatyki PB Pojęcie
Bardziej szczegółowoStos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)
Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie uzupełniające się protokoły: połączeniowy TCP
Bardziej szczegółowoTeraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Bardziej szczegółowoZiMSK. Routing dynamiczny 1
ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Routing dynamiczny 1 Wykład
Bardziej szczegółowoPROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Bardziej szczegółowoRozległe Sieci Komputerowe
Rozległe Sieci Komputerowe Rozległe Sieci Komputerowe Literatura: D.E. Conner Sieci komputerowe i intersieci R. W. McCarty Cisco WAN od podstaw R. Wright Elementarz routingu IP Interconnecting Cisco Network
Bardziej szczegółowoProjektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia
ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych
Bardziej szczegółowoSieci Komputerowe Modele warstwowe sieci
Sieci Komputerowe Modele warstwowe sieci mgr inż. Rafał Watza Katedra Telekomunikacji AGH Al. Mickiewicza 30, 30-059 Kraków, Polska tel. +48 12 6174034, fax +48 12 6342372 e-mail: watza@kt.agh.edu.pl Wprowadzenie
Bardziej szczegółowoZarządzanie pamięcią operacyjną
SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt
Bardziej szczegółowoZestaw zagadnień na egzamin dyplomowy inżynierski
Zestaw zagadnień na egzamin dyplomowy inżynierski Matematyka; matematyka dyskretna 1. Podstawowe działania na macierzach. 2. Przestrzeń wektorowa: definicja, przykłady, odwzorowania liniowe 3. Układy równań
Bardziej szczegółowoTechnologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:
1.1. Podstawowe pojęcia Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: informatykę (włącznie ze sprzętem komputerowym oraz oprogramowaniem używanym do tworzenia, przesyłania,
Bardziej szczegółowoPODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych
PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych 2005/2006 Wykład "Podstawy baz danych" 1 Statyczny model pamiętania bazy danych 1. Dane przechowywane są w pamięci zewnętrznej podzielonej
Bardziej szczegółowoDziałanie komputera i sieci komputerowej.
Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia
Bardziej szczegółowoSterowniki Programowalne (SP)
Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i
Bardziej szczegółowoPAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS Obowiązuje od roku akademickiego: 2011/2012 Instytut Techniczny Kierunek studiów: Informatyka Kod kierunku: 11.3 Specjalność: Informatyka Stosowana
Bardziej szczegółowoGrupy pytań na egzamin inżynierski na kierunku Informatyka
Grupy pytań na egzamin inżynierski na kierunku Informatyka Dla studentów studiów dziennych Należy wybrać dwie grupy pytań. Na egzaminie zadane zostaną 3 pytania, każde z innego przedmiotu, pochodzącego
Bardziej szczegółowo