Ta witryna wykorzystuje pliki cookie, dowiedz się więcej Zgadzam się
Różnorodne algorytmy i ich komputerowe realizacje



O Kursie

Cel kursu
Celem kursu jest przekazanie uczestnikom wiedzy dotyczącej m.in. algorytmów wyznaczania: dziesiętnej i binarnej reprezentacji liczb, obliczania wartości wielomianu, największego wspólnego dzielnika dwóch liczb (algorytm Euklidesa) oraz wartości potęgi. Motywacją dla wprowadzenia tych algorytmów jest chęć objaśnienia metody szyfrowania informacji z kluczem publicznym RSA, powszechnie stosowanej w kryptografii komputerowej.

Tematyka kursu
Z podstaw algorytmiki omawiane są m.in. specyfikacja problemu, schematy blokowe algorytmów, podstawowe struktury danych (ciąg i tablica) oraz pracochłonność algorytmów. Część praktyczna zajęć jest poświęcona wprowadzeniu podstawowych instrukcji języka programowania (iteracyjnych i warunkowych oraz procedury i funkcji niestandardowej), wystarczających do zaprogramowania i uruchomienia komputerowych realizacji omówionych algorytmów. Język programowania służy głównie do zapisywania i testowania rozwiązań rozważanych problemów, a nie jest celem zajęć samym w sobie. Wykorzystywane jest również oprogramowanie edukacyjne, ułatwiające zrozumienie działania algorytmów i umożliwiające wykonywanie eksperymentów z algorytmami bez konieczności ich programowania. Przytoczono ciekawe przykłady zastosowań omawianych zagadnień. W drugiej części kursu są przedstawiane wybrane techniki rozwiązywania problemów za pomocą komputera, m.in. podejście zachłanne (do wydawania reszty), przeszukiwanie z nawrotami (do ustawiania hetmanów na szachownicy) i rekurencja w realizacji wybranych algorytmów. Zajęcia praktyczne są poświęcone komputerowej realizacji wybranych technik algorytmicznych na odpowiednio dobranych przykładach problemów.

1. Wprowadzenie
2. Warm-up – rozgrzewka
3. Obliczanie wartości wielomianu – schemat Hornera
    3.1. Wyprowadzenie schematu Hornera
    3.2. Schemat blokowy schematu Hornera
    3.3. Komputerowa realizacja schematu Hornera
4. System dziesiętny i system binarny
    4.1. Zamiany liczby binarnej na liczbę dziesiętną
    4.2. Otrzymywanie binarnego rozwinięcia liczby dziesiętnej
    4.3. Długość rozwinięcia binarnego liczby
5. Rekurencja
    5.1. Wieże Hanoi
    5.2. Króliki i chaotyczny profesor – liczby Fibonacciego
    5.3. Inne spojrzenie na schemat Hornera
    5.4. Wyprowadzanie liczb od początku
6. Szybkie obliczanie wartości potęgi
7. Algorytm Euklidesa
8. Algorytmy zachłanne
    8.1. Problem wydawania reszty
    8.2. Zmartwienie kinomana
    8.3. Pakowanie najcenniejszego plecaka
    8.4. Najdłuższa droga na piramidzie
    8.5. Inne przykłady użycia metody zachłannej
9. Przeszukiwanie z nawrotami
    9.1. Wyjście z labiryntu metodą zgłębiania
    9.2. Rozmieszczanie hetmanów na szachownicy
10. Dodatek. Algorytm, algorytmika i algorytmiczne rozwiązywanie problemów

Struktura kursu
Kurs składa się z następujących elementów:

  1. Wykład wprowadzający do kursu (video),
  2. Zeszyt dydaktyczny do kursu - w formacie PDF,
  3. Prezentacja PowerPoint do kursu - w formacie .ppt,
  4. Test z pytaniami sprawdzającymi wiedzę

Sposób realizacji kursu
Kurs jest przeznaczony do realizacji w trybie samokształcenia lub pod kierunkiem nauczyciela. Po zapoznaniu się ze wszystkimi elementami kursu oraz wykonaniu testu sprawdzającego wiedzę, uczestnik otrzymuje prawo do samodzielnego wystawienia certyfikatu potwierdzającego zrealizowanie kursu e-learningowego „Różnorodne algorytmy i ich komputerowe realizacje” przygotowanego przez Warszawską Wyższą Szkołę Informatyki.

Certyfikat potwierdzający realizację kursu

certyfikat

O wykładowcy
Prof. dr hab. Maciej Marek Sysło jest wykładowcą Wydziału Matematyki i Informatyki Uniwersytetu Wrocławskiego oraz Wydziału Matematyki  i Informatyki Uniwersytetu Mikołaja Kopernika w Toruniu. W latach 2010-2012 prowadził szkolenia z zakresu algorytmiki i programowania w ramach projektu Informatyka +.