TECHNIKI ALGORYTMICZNE – przybliżone i dokładne WPROWADZENIE DO ALGORYTMIKI

Slides:



Advertisements
Podobne prezentacje
PORZĄDEK WŚRÓD INFORMACJI KLUCZEM DO SZYBKIEGO WYSZUKIWANIA
Advertisements

Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
© Matematyczne modelowanie procesów biotechnologicznych - laboratorium, Studium Magisterskie Wydział Chemiczny Politechniki Wrocławskiej, Kierunek Biotechnologia,
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Poczta elektroniczna – e- mail Gmail zakładanie konta. Wysyłanie wiadomości.
EWALUACJA PROJEKTU WSPÓŁFINANSOWANEGO ZE ŚRODKÓW UNII EUROPEJSKIE J „Wyrównywanie dysproporcji w dostępie do przedszkoli dzieci z terenów wiejskich, w.
KOMUNIKOWANIE W PROCESIE WSPIERANIA ROZWOJU SZKOŁY Jarosław Kordziński NA.
Wypadkowa sił.. Bardzo często się zdarza, że na ciało działa kilka sił. Okazuje się, że można działanie tych sił zastąpić jedną, o odpowiedniej wartości.
Wprowadzenie Celem naszej prezentacji jest przypomnienie podstawowych informacji na temat bezpiecznego powrotu do domu i nie tylko. A więc zaczynamy…;)
W KRAINIE TRAPEZÓW. W "Szkole Myślenia" stawiamy na umiejętność rozumowania, zadawania pytań badawczych, rozwiązywania problemów oraz wykorzystania wiedzy.
Algorytmy Informatyka Zakres rozszerzony
Algorytm Newtona - Raphsona
„Jak zwiększyć bezpieczeństwo uczestników ruchu drogowego?” Co nam dała realizacja projektu?
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
Czym jest gramofon DJ-ski?. Gramofon DJ-ski posiada suwak Pitch służący do płynnego przyspieszania bądź zwalniania obrotów talerza, na którym umieszcza.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza WYDZIAŁ ELEKTROTECHNIKI I INFORMATYKI ZAKŁAD METROLOGII I SYSTEMÓW POMIAROWYCH METROLOGIA Andrzej Rylski.
Świat mówi o Bogu. CELE : Na dzisiejszych zajęciach: dowiesz się czy o istnieniu Boga można mieć pewną wiedzę czy też mamy w Niego tylko wierzyć.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
Renata Maciaszczyk Kamila Kutarba. Teoria gier a ekonomia: problem duopolu  Dupol- stan w którym dwaj producenci kontrolują łącznie cały rynek jakiegoś.
ZASTOSOWANIE  Programowanie  Ułatwianie pracy  Szybkie obliczanie  Spisywanie kosztów  Tworzenie tabel i wykresów  Obliczanie średniej, sumy,
Jak tworzymy katalog alfabetyczny? Oprac.Regina Lewańska.
Co to Internet? Internet (skrótowiec od ang. inter-network, dosłownie "między- sieć") – ogólnoświatowa sieć komputerowa, określana również jako sieć sieci.
, + - = 0,5 CZYTAJ DOKŁADNIE ZADANIA I POLECENIA. IM TRUDNIEJSZE ZADANIE, TYM BARDZIEJ WARTO JE PRZECZYTAĆ KILKA RAZY.
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
Szkoła Podstawowa Nr 47 im. Jana Klemensa Branickiego w Białymstoku
Toruńskie Technikum Informatyczne
„Programowanie to nasza przyszłość”
Rola książki w życiu człowieka
wspomaganej systemem komputerowym NABÓR 2017
W kręgu matematycznych pojęć
Schematy blokowe.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
Internet to nie tylko gry
WYPROWADZENIE WZORU. PRZYKŁADY.
On-the-Fly Garbage Collection
Wyniki egzaminu gimnazjalnego Matematyka Rok szkolny 2016/1017
Liczby pierwsze.
Przybliżenia dziesiętne liczb rzeczywistych
ALGORYTMY I STRUKTURY DANYCH
Wstęp do Informatyki - Wykład 3
Opracowała: Monika Grudzińska - Czerniecka
Wstęp do Informatyki - Wykład 8
Materiały pochodzą z Platformy Edukacyjnej Portalu
Języki programowania.
Prezentację wykonali: Uczniowie klasy VI Rok szkolny 2009/2010
RÓŻNORODNE ALGORYTMY OBLICZEŃ I ICH KOMPUTEROWE REALIZACJE
PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA WPROWADZENIE DO ALGORYTMIKI
CZY WSZYSTKO MOŻNA POLICZYĆ NA KOMPUTERZE WSTĘP DO ZŁOŻONOŚCI OBLICZENIOWEJ
EXCEL Wykład 4.
Problem Plecakowy (Problem złodzieja okradającego sklep)
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
MATEMATYKAAKYTAMETAM
Proste obliczenia w arkuszu kalkulacyjnym
Implementacja rekurencji w języku Haskell
Znajdowanie liczb pierwszych w zbiorze
Doskonalenie rachunku pamięciowego u uczniów
POZNAJEMY PULPIT Opracowanie: mgr Barbara Benisz SP nr 20 w Rybniku
MATEMATYKA Opracowała: Martyna Białas
Elementy Kombinatoryki
Program na dziś Wprowadzenie Logika prezentacji i artykułu
Andrzej Majkowski informatyka + 1.
Zapis prezentacji:

TECHNIKI ALGORYTMICZNE – przybliżone i dokładne WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka +

Algorytm, algorytmika algorytm od Muhammad informatyka + Algorytm – opis rozwiązania krok po kroku postawionego problemu lub sposobu osiągnięcia jakiegoś celu Pierwszy algorytm – algorytm Euklidesa 300 p.n.e algorytm od Muhammad ibn Musa al-Chorezmi IX w. Algorytmika – dziedzina zajmująca się algorytmami i ich własnościami informatyka +

Algorytmy a informatyka Informatyka – jedna z definicji: dziedzina wiedzy i działalności zajmująca się algorytmami Czy zajmuje się też algorytmami kulinarnymi? Donald E. Knuth: Mówi się często, że człowiek dotąd nie zrozumie czegoś, zanim nie nauczy tego – kogoś innego. W rzeczywistości, człowiek nie zrozumie czegoś (algorytmu) naprawdę, zanim nie zdoła nauczyć tego – komputera. Ralf Gomory (IBM): Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań (szybszymi algorytmami) Będziemy uczyć komputery, czyli programować je ! informatyka +

Algorytmiczne rozwiązywanie problemu Dla problemu – chcemy otrzymać rozwiązanie komputerowe, które jest: zrozumiałe dla każdego, kto zna problemu poprawne, czyli spełnia specyfikację (opis) problemu efektywne, czyli nie marnuje czasu i pamięci komputera Metoda rozwiązywania: analiza sytuacji problemowej sporządzenie specyfikacji: wykaz danych, wyników i relacji projekt rozwiązania komputerowa realizacja rozwiązania – implementacja testowanie poprawności rozwiązania dokumentacja i prezentacja rozwiązania informatyka +

Rozwiązywanie problemów z pomocą komputerów Objaśnienie dwóch terminów: Problem: problem, gdy nie podano nam, jak należy go rozwiązać, ale wiemy wystarczająco, by poradzić sobie z nim a więc, problem jest dla każdego nie tylko dla orłów Programowanie: komputery wykonują tylko programy cokolwiek uruchamiamy na komputerze: Google, dokument w Word, arkusz w Excel, naciśnięcie klawisza – jest programem każdy widoczny i niewidoczny efekt działania komputera to wynik działania jakiegoś programu Konkluzja: powinniśmy lepiej poznać programowanie komputerów informatyka +

Myślenie algorytmiczne Myślenie komputacyjne (ang Myślenie algorytmiczne Myślenie komputacyjne (ang. computational thinking) Reklama firmy IBM z 1924 roku Komputer to maszyna do myślenia !!! informatyka +

Techniki algorytmiczne – przybliżone i dokładne – idee W wielu sytuacjach postępujemy intuicyjnie, podejmując decyzje, które wydają się nam najlepsze, chociaż nie potrafimy tego uzasadnić – podejście zachłanne Jednak czasem musimy przejrzeć wszystkie możliwości – dobrze jest mieć pewność, że przeglądamy (pośrednio lub bezpośrednio) wszystkie, ale bez powtórzeń – metoda przeszukiwania z nawrotami Stara zasada – korzystać z tego, co już znamy – strategia dziel i zwyciężaj Komputery staramy się używać wtedy, gdy bez niech nie potrafimy sobie poradzić. A najlepiej, gdyby komputery wykonywały za nas dużą część roboty. Rekurencja – czyli jak zwalić robotę na komputer informatyka +

Techniki algorytmiczne – przybliżone i dokładne – Plan zajęć Podejście zachłanne: wydawanie reszty zmartwienie napalonego kinomana pakowanie najcenniejszego plecaka najdłuższa droga w piramidzie Przeszukiwanie z nawrotami poszukiwanie wyjścia z labiryntu rozmieszczanie hetmanów na szachownicy Strategia dziel i zwyciężaj poszukiwanie elementów w zbiorze uporządkowanym Rekurencja wyprowadzanie liczb od początku szybkie potęgowanie algorytm Euklidesa informatyka +

Metoda zachłanna: wydawanie reszty – problem Problem Reszty. Dane: nominały, np. 1 gr, 2 gr, 5 gr, … K – kwota do wydania Wynik: Utworzyć K z najmniejszej liczby banknotów i monet Dyskusja: jak wydają sprzedawcy? jaki mamy pomysł? czy potrafimy uzasadnić, że nasz pomysł da najlepsze rozwiązanie? Konkluzja – algorytm zachłanny: Wydawaj sukcesywnie, zawsze możliwie największy nominał banknotu lub monety Dla sprzedawcy to także dobre kryterium – ma mniej okazji, by się pomylić informatyka +

Metoda zachłanna: wydawanie reszty – w arkuszu Rozwiązanie w arkuszu – w arkuszu można również wykonywać algorytmy Ćwiczenie na warsztatach: utworzyć taki arkusz informatyka +

Warsztaty Algorytm, język programowania, komputer Proces komputerowej realizacji algorytmu: Opis algorytmu Zapis w języku programowania (Pascal, C++) Przetłumaczenie na język zrozumiały przez komputer Wykonanie Testowanie Prezentacja rozwiązania informatyka +

Metoda zachłanna: wydawanie reszty – program Deklaracje zmiennych Program Zachlanna_reszta_PL; var i,ile,kwota_int:integer; kwota :real; nominal:array[1..14] of integer =(20000,10000,5000,2000,1000,500,200,100,50,20,10,5,2,1); reszta :array[1..14] of integer; begin write('kwota'); read(kwota); kwota_int:=round(kwota*100); for i:=1 to 14 do begin ile:=kwota_int div nominal[i]; reszta[i]:=ile; kwota_int:=kwota_int-ile*nominal[i] end; for i:=1 to 8 do writeln(nominal[i] div 100,' zl.: ',reszta[i]); for i:=9 to 14 do writeln(nominal[i],' gr.: ',reszta[i]) end. Nominały w groszach Czytanie kwoty Zamiana kwoty na grosze Obliczanie wielkości kolejnych nominałów Wyprowadzenie wyników informatyka +

Metoda zachłanna: wydawanie reszty – jak dobrze? Pytanie: jak dobry jest algorytm zachłanny? Czy zawsze tworzy resztę z najmniejszej liczby banknotów i monet? Sytuacje: brakuje niektórych nominałów w kasie, np. 5 gr. i 10 gr. pojawia się nowa moneta, np. 21 gr. Fakt: Istniejące w świecie nominały, gdy tylko jest ich dostatecznie dużo w kasie, gwarantują, że algorytm zachłanny daje zawsze najmniejszą liczbę banknotów i monet informatyka +

Metoda zachłanna: zmartwienie kinomana Sytuacja: Dane: program filmów w Multikinie na dany dzień Wynik: Kinoman chce jednego dnia zobaczyć jak najwięcej filmów w Multikinie Strategia: Wybieraj filmy, które kończą się możliwie jak najwcześniej Uzasadnienie: Pozostaje więcej czasu na następne filmy Konkluzja: Jest to optymalny algorytm. 1 X 2 X X X 3 X X 4 X informatyka +

Metoda zachłanna: pakowanie plecaka Ogólny problem plecakowy Dane: n rzeczy (towarów, produktów itp.), w nieograniczonej ilości: i-ta rzecz waży wi jednostek i ma wartość pi: W – maksymalna pojemność plecaka. Wynik: ilości poszczególnych rzeczy (mogą być zerowe), których całkowita waga nie przekracza W i których sumaryczna wartość jest największa wśród wypełnień plecaka rzeczami o wadze nie przekraczającej W. Decyzyjny problem plecakowy – 0-1 (zero-jedynkowy) Rzeczy są tylko w pojedynczych ilościach – decyzja: bierzemy albo nie informatyka +

Metoda zachłanna: pakowanie plecaka Przykład: wartość towaru: waga towaru: Zachłanne kryteria wyboru rzeczy do plecaka: 1. Najcenniejsze najpierw: 7 x nr 5 + 1 x nr 4 = 7x10 + 1x7 = 77 2. Najlżejsze najpierw: 23 x nr 6 = 23x2 = 46 3. Najcenniejsze w stosunku do swojej wagi najpierw, czyli w kolejności nierosnących wartości ilorazu pi / wi Kolejność: 7/2, 10/3, 4/2, 2/1, 5/3, 6/6 11 x nr 4 + 1 x nr 6 = 11x7 + 1x2 = 79 NAJLEPSZE OPTYMALNE: 10 x nr 4 + 1 x nr 5 = 10x7 + 1x10 = 80 Żadne zachłanne nie jest optymalne – na ogół tak jest Pojemność plecaka informatyka +

Metoda zachłanna: najdłuższa droga z piramidy 3 5 7 8 2 4 6 Dane: Piramida liczb: Wynik: Znaleźć najdłuższą drogę z korzenia Algorytm zachłanny. Zacznij w korzeniu Wybieraj większą liczbę poniżej. Droga z korzenia Długość drogi zachłannej: niebieska: 3+7+5+7+4 = 26 Długość drogi najdłuższej: różowa: 3+5+8+5+6 = 27 informatyka +

Przeszukiwanie z nawrotami Opis sytuacji: Duża przestrzeń możliwych rozwiązań. Nie znamy innej metody znalezienia rozwiązania niż przeszukanie tej przestrzeni Decydujemy się przeszukać całą przestrzeń, ale chcemy to zrobić systematycznie każde rozwiązanie powinno się pojawić, bezpośrednio lub pośrednio, ale żadne nie więcej niż raz Może nas interesować znalezienie wszystkich rozwiązań Przykłady: Wychodzenie z labiryntu – duża liczba możliwych dróg Ustawianie figur na szachownicy – duża liczba możliwych układów informatyka +

Przeszukiwanie z nawrotami: wychodzenie z labiryntu Opis sytuacji: Labirynt: pola = kwadraty, brak zamkniętych komnat Cel: znaleźć wyjście z dowolnego pola Algorytm: Wybieraj kierunki w kolejności: G (do góry), L (w lewo), P (w prawo), D (do dołu) – patrzymy zawsze przed siebie Jeśli nie ma przejścia – cofnij się na pole, z którego przyszedłeś. Nawrót informatyka +

Przeszukiwanie z nawrotami: wychodzenie z labiryntu Droga z pola 4a: G-3a, G-2a, G-1a – do Góry już nie można iść, ale można iść w Prawo P-1b – z tego pola nie ma już przejść G, L, P – cofamy się B-1a – także nie ma innego przejścia – cofamy się B-2a – podobnie, cofamy się B-3a – podobnie, cofamy się – z 3a można iść jeszcze w Prawo P-3b – istnieje przejście w Lewo L-2b – istnieje przejście w Prawo P-2c – istnieje przejście w Lewo WYJŚCIE z labiryntu informatyka +

Przeszukiwanie z nawrotami: rozmieszczanie hetmanów na szachownicy Opis sytuacji: Szachownica: n x n, hetman – atakuje po wszystkich liniach Cel: ustawić jak największą liczbę nie atakujących się hetmanów Algorytm: Poruszamy się kolumnami, od lewej do prawej, a w kolumnach od góry. Ustaw hetmana w danej kolumnie na nie atakowanym polu. Jeśli nie można, to cofnij się do poprzedniej kolumny i wybierz następne pole Nawrót informatyka +

Przeszukiwanie z nawrotami: rozmieszczanie hetmanów na szachownicy b2: brak pola w c nawrót do b: b1 c3: brak pola w d nawrót a: a3 b1 c4 d2 !!! informatyka +

Przeszukiwanie z nawrotami: rozmieszczanie hetmanów na szachownicy Drzewo poszukiwania ustawień: Ustawienie 4 hetmanów Odbicie symetryczne Oś symetrii drzewa informatyka +

Strategia dziel i zwyciężaj – przykład – poszukiwanie elem Strategia dziel i zwyciężaj – przykład – poszukiwanie elem. w zbiorze uporządkowanym Zgadywana liczba: 17 w przedziale [1 : 20] Metoda: połowienia przedziału Kolejne kroki: strzałka wskazuje wybór; kolor czerwony – ciąg do przeszukania: 5 porównań zamiast 20 !!! informatyka +

Techniki algorytmiczne – rekurencja Myślenie rekurencyjne: przykłady z życia: jedzenie, tańczenie wyprowadzanie liczb od początku Wieże Hanoi liczby Fibonacciego szybkie potęgowanie algorytm Euklidesa Rekurencyjny algorytm: Rozwiązując problem … odwołuje się do siebie Korzyści: Część pracy … zwalamy na komputer! informatyka +

Rekurencja – przykłady z życia 11.12.2007 Rekurencja – przykłady z życia Jedzenie kaszki z talerza – A. Jerszow Jedz kaszkę; jeśli talerz jest pusty to koniec jedzenia w przeciwnym razie weź łyżkę kaszki; Jedz kaszkę Taniec Tańcz; jeśli nie gra muzyka to koniec tańczenia zrób krok; Tańcz Warunek początkowy – zatrzymuje wywołania Procedura rekurencyjna wywołuje siebie informatyka + Rekurencja w komputerze

Rekurencja – wyprowadzanie kolejnych cyfr liczby 11.12.2007 Rekurencja – wyprowadzanie kolejnych cyfr liczby Liczbę 3045 drukuj w kolejności cyfr: 3 4 5 Liczba 304 to: 3045 div 10 = 304 Algorytm – drukowania cyfr liczby 3045 1. Najpierw drukuj cyfry liczby 304 2. Później drukuj cyfrę 5 Potrzebne są dwie operacje: reszta z dzielenia mod: np. 3045 mod 10 = 5 dzielenie całkowite div: np. 3045 div 10 = 304 Cyfra 5 to reszta: 3045 mod 10 = 5 Zauważmy: możemy zastosować ten sam algorytm ale do liczby 304 – REKURENCJA informatyka + Rekurencja w komputerze

Rekurencja – wyprowadzanie kolejnych cyfr liczby 11.12.2007 Rekurencja – wyprowadzanie kolejnych cyfr liczby KolejnaCyfra (m) if m < 10 then write (m) else begin KolejnaCyfra (m div 10); write (m mod 10) end Uwagi: 1. Można zastąpić 10 przez 2 i otrzymamy kolejne cyfry binarne, od najbardziej znaczącej 2. Po zmianie kolejności poleceń – drukowanie cyfr od końca Warunek początkowy – gdy liczba ma jedną cyfrę. Wywołanie rekurencyjne dla liczby bez ostatniej cyfry Drukowanie ostatniej cyfry informatyka + Rekurencja w komputerze

Rekurencja – wyprowadzanie kolejnych cyfr liczby 11.12.2007 Rekurencja – wyprowadzanie kolejnych cyfr liczby Wywołania rekurencyjne KolejnaCyfra (3045) KolejnaCyfra (304) KolejnaCyfra (30) KolejnaCyfra (3) write (3045 mod 10) = 5 write (304 mod 10) = 4 write (30 mod 10) = 0 write (3) = 3 304 = 3045 div 10 Kolejno drukowane cyfry Powrót z wywołań rekurencyjnych informatyka + Rekurencja w komputerze

Rekurencja – inny przykład – Wieże Hanoi 11.12.2007 Rekurencja – inny przykład – Wieże Hanoi Hanoi (n, A, B, C) {z A na B za pomocą C} if n = 0 then nic nie rób else begin Hanoi (n – 1, A, C, B); Największy krążek z A na B; Hanoi (n – 1, C, B, A) end Procedura rekurencyjna wywołuje siebie Warunek początkowy – zatrzymuje wywołania informatyka + Rekurencja w komputerze

Rekurencja – inny przykład – króliki Fibonacciego 11.12.2007 Rekurencja – inny przykład – króliki Fibonacciego F(n) – liczba par królików po n miesiącach 1 2 3 n–1 n–2 n       Rekurencja: F(1)=1 F(2)=1 Warunki początkowe Króliki, które przeżywają Króliki, urodzone przez pary żyjące ponad miesiąc dla n > 2: F(n) = F(n-1) + F(n-2) Liczby Fibonacciego: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, … informatyka + Rekurencja w komputerze

Rekurencja – inne przykłady 11.12.2007 Rekurencja – inne przykłady Uwaga. Obliczenia przebiegają tak, jakby n było liczbą binarną zapisaną w postaci schematu Hornera Podnoszenie do potęgi Potega (x, n) { xn } if n = 1 then Potega := x else if n – parzyste then Potega := Potega (x, n/2)^2 {xn = (xn/2)2} else Potega := Potega (x, n – 1)*x {xn = (xn–1)x} Algorytmy sortowania – demo w programie Sortowanie Sortowanie przez scalanie Sortowanie szybkie informatyka + Rekurencja w komputerze

Rekurencja – inne przykłady 11.12.2007 Rekurencja – inne przykłady Algorytm Euklidesa NWD(m,n) {zakładamy mn} if m = 0 then NWD := n else NWD := NWD(n mod m, m) Wartość wielomianu stopnia n w punkcie x w(n,x) if n = 0 then w := a0 else w := w(n – 1, x) *x + an Reszta z zdzielenia n przez m. informatyka + Rekurencja w komputerze

Pokrewne zajęcia w Projekcie Informatyka + Wykład+Warsztaty (Wszechnica Poranna): Wprowadzenie do algorytmiki i programowania – wyszukiwanie i porządkowanie informacji Proste rachunki wykonywane za pomocą komputera. Techniki algorytmiczne – przybliżone (heurystyczne) i dokładne. Wykłady (Wszechnica Popołudniowa): Czy wszystko można policzyć na komputerze? Porządek wśród informacji kluczem do szybkiego wyszukiwania. Dlaczego możemy się czuć bezpieczni w sieci, czyli o szyfrowaniu informacji. Znajdowanie najkrótszych dróg, najniższych drzew, najlepszych małżeństw informatyka +

Pokrewne zajęcia w Projekcie Informatyka + Kursy (24 godz.) – Wszechnica na Kołach: Algorytmy poszukiwania i porządkowania. Elementy języka programowania Różnorodne algorytmy obliczeń i ich komputerowe realizacje Grafy, algorytmy grafowe i ich komputerowe realizacje  Kursy (24 godz.) – Kuźnia Informatycznych Talentów – KIT dla Orłów: Przegląd podstawowych algorytmów Struktury danych i ich wykorzystanie Zaawansowane algorytmy Tendencje – Wykłady  Algorytmy w Internecie, K. Diks Czy P = NP, czyli jak wygrać milion dolarów w Sudoku, J. Grytczuk Między przeszłością a przyszłość informatyki, M.M Sysło informatyka +