<4>
Streszczenie
Komputery nie przestały być maszynami matematycznymi - jak kiedyś je nazywano - i obecnie służą również do wykonywania różnych obliczeń. Kurs jest poświęcony m.in. algorytmom 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.
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.
Rozważania są prowadzone na elementarnym poziomie i do ich wysłuchania oraz wzięcia udziału w warsztatach wystarczy znajomość informatyki wyniesiona z gimnazjum oraz matematyki na poziomie szkoły średniej. Te zajęcia są adresowane do wszystkich uczniów w szkołach ponadgimnazjalnych, zgodnie bowiem z nową podstawą programową, kształceniem umiejętności algorytmicznego rozwiązywania problemów mają być objęci wszyscy uczniowie.
W tych materiałach dla słuchaczy, algorytmy są zapisywane w języku Pascal. Odpowiednie wersje w języku C++ będą przekazane słuchaczom na zajęciach.