Celem kursu jest zapoznanie studentów z technikami konstrukcji algorytmów oraz algorytmami istotnymi z punktu widzenia matematyki i informatyki, a także z podstawowymi strukturami danych wykorzystywanymi w informatyce.

Tematyka kursu:

  1. Pojęcie algorytmu, rodzaje algorytmów, metody prezentacji algorytmów, przykłady algorytmów sekwencyjnych, rozgałęzionych i iteracyjnych. Problem złożoności obliczeniowej algorytmów.

  1. Podstawowe algorytmy wykorzystywane w matematyce – wypisywanie dzielników, wypisywanie wielokrotności, znajdowanie NWW, znajdowanie NWD, algorytmy związane z liczbami pierwszymi, doskonałymi oraz zaprzyjaźnionymi, algorytmy związane z zapisem liczby w innym systemie liczenia oraz metody ich udoskonalania.

  1. Algorytmy metod numerycznych – m.in. rozwiązywanie równań i układów równań, interpolacja, aproksymacja, wykorzystanie wzoru Taylora.

  1. Proste algorytmy sortujące m.in. sortowanie przez wstawianie, wybieranie, sortowanie bąbelkowe.

  1. Trudniejsze algorytmy sortujące.

  1. Algorytmy rekurencyjne i ich wykorzystanie. Fraktale.

  2. Podstawowe struktury danych (stosy, kolejki, listy) i ich wykorzystanie. Notacja polska zapisu formuł logicznych i matematycznych.