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.
- 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,
                1.10.2005