Wprowadzenie do zasad programowania strukturalnego i algorytmiki -
dziedziny zajmującej się konstrukcją i analizą algorytmów.
Zaznajomienie studentów z podstawowymi algorytmami informatycznymi
- specyfikacja problemu, algorytm rozwiązujący i jego zgodność ze
specyfikacją. Zapoznanie ich z wybranymi metodami programowania
(programowanie funkcjonalne i obiektowe). Przedstawienie sposobów
reprezentowania algorytmów i komputerowych demonstracji ich
działania oraz możliwości samodzielnego i zespołowego
rozwiązywania typowych problemów za pomocą komputera.
SEMESTR 4 | TREŚCI NAUCZANIA |
- Sytuacja problemowa (zadanie algorytmiczne), specyfika
problemu i algorytm jego rozwiązywania.
- Zalgorytmizowana
rzeczywistość - przegląd typowych algorytmów z różnych dziedzin.
Klasyczne algorytmy informatyczne.
- Sposoby zapisywania i
reprezentowania algorytmów: listy kroków, metody graficzne
(schematy blokowe), pseudokody.
- Wykorzystanie programów
edukacyjnych do demonstracji metod projektowania i działania
algorytmów.
- Metody i zasady programowania. Podstawowe idee
programowania strukturalnego, modularnego i obiektowego.
- Typowe elementy języka programowania:
- Standardowe typy danych,
- Wyrażenia,
- Instrukcje
warunkowe i iteracyjne,
- Procedury i funkcje,
- Tablice
jedno- i dwuwymiarowe,
- Zbiory, rekordy,
- Pliki danych i
pliki tekstowe.
- Wykorzystanie struktur danych w różnych zastosowaniach
informatycznych i matematycznych.
- Podstawowe algorytmy
obliczeń matematycznych (algorytmy numeryczne): działania na
wielomianach, znajdowanie miejsc zerowych funkcji. Kryteria oceny
algorytmów numerycznych: błędy zaokrągleń, stabilność.
- Kryteria oceny poprawności i jakości (efektywności) rozwiązań
(algorytmów), porównywanie efektywności różnych rozwiązań tego
samego problemu na przykładzie problemu sortowania.
- Testowanie i weryfikacja programu.
- Dokumentowanie programu.
Ćwiczenia odbywają się w pracowni komputerowej. Studenci opanowują
zdolność samodzielnego tworzenia algorytmów i zapisywania ich w
języku programowania. Podstawą zaliczenia jest rozwiązanie
indywidualnego zadania poprzez opracowanie algorytmu (np. w formie
schematu blokowego) oraz jego implementację komputerową.
- N. Wirth, Wstęp do programowania
systematycznego, WNT, Warszawa 1978.
- G. M.
Weinberg, Myślenie systemowe, WNT, Warszawa 1979.
- Strużińska-Walczak, K. Walczak, Nauka programowania dla
początkujących. Turbo Pascal, Wydawnictwo Walczak & Walczak,
Warszawa 1993.
- Strużińska-Walczak, K. Walczak, Nauka
programowania dla ... już nie całkiem początkujących, Wydawnictwo
Walczak & Walczak, Warszawa 1996.
- Strużińska-Walczak, K. Walczak, Nauka programowania wizualno
- obiektowego, Wydawnictwo Walczak & Walczak, Warszawa 1996.
- W. Porębski, Wstęp do programowanie w języku
Pascal, Komputerowa oficyna wydawnicza "Help", Warszawa 1992.
- Z. Suraj, T. Rumak, Algorytmiczne rozwiązywanie zadań
i problemów - wstęp do programowania w języku Pascal, Wydawnictwo
oświatowe FOSZE, Rzeszów 1995.
- V. Aho, J. E.
Hopcroft, J. D. Ullman, Projektowanie i analiza algorytmów
komputerowych, PWN, Warszawa 1983.
- L. Banachowski,
A. Kreczmar, Elementy analizy algorytmów, WNT, Warszawa 1982.
- D. Harel, Rzecz o istocie informatyki.
Algorytmika, WNT, Warszawa 1992.
- S. Kowalski, A. W.
Mostowski, Teoria automatów i lingwistyka matematyczna, PWN,
Warszawa 1979.
- Marciniak, Podstawy systemu i języka
Turbo Pascal, PWN, Warszawa 1989.
- M. M.
Sysło, Algorytmy, WSiP, Warszawa 1997.
- P.
Drożdżewicz, Programowanie dla Windows, Wydawnictwo Lynex - SFT,
Warszawa 1992.
- P. Wróblewski, Algorytmy, struktury
danych i techniki programowania, Helion 1996.
- J.
Bentley, Perełki oprogramowania, WNT, Warszawa 2001.
Instytut Matematyki Akademii
Pedagogicznej w Krakowie,
28.09.2006