Ta część dokumentacji zawiera notatki do wykładu z podstaw programowania.
Zajęcia zostały po raz pierwszy przeprowadzone w semestrze letnim 2008 r.
jako część przedmiotu Komputerowe Wspomaganie Projektowania.
Materiał dotyczący algorytmiki (rozdział 1.),
typów danych (rozdział 2.),
metodyki obliczeń (rozdział 3.),
uruchamiania kodu źródłowego (rozdział 4.)
i jego diagnostyki (fragmenty rozdziału 8.)
oparto na opracowaniach dotyczących przedmiotu
Podstawy Informatyki prowadzonego w latach
ubiegłych. Część materiału zamieszczona w rozdziałach 1.,
2. i 3.
jest przeznaczona do wykorzystania także w trakcie podstawowego kursu
Technologii Informacyjnych.
Rozdział 9. jest katalogiem problemów praktycznych
przeznaczonych do rozwiązania metodami programistycznymi. Jest on pomyślany
jako podstawa przykładów prezentowanych podczas kursu oraz jako swego rodzaju
„pożywka” do wykorzystania podczas zajęć laboratoryjnych. Jego
uzupełnieniem są zestawy ćwiczeń dostępne dla uczestników kursu.
Podobnie jak w całości opracowania, także i w tej części zastosowano
minimalistyczne, lecz spójne formatowanie XHTML.
Dokumentację zaleca się przeglądać za pomocą narzędzi obsługujących
grafikę SVG oraz mechanizmy generowania zawartości
i automatycznej numeracji CSS 2.
Cel
- Opanowanie podstawowych reguł algorytmiki
- Opanowanie języka programowania na poziomie elementarnym
- Integracja nabytych umiejętności z praktycznym użytkowaniem systemów przechowywania i przetwarzania danych
Tematy wykładów
- Metodologia. Zagadnienie algorytmiczne. Notacje algorytmów. Język Python jako jedna z notacji
- Zmienne, instrukcje proste i warunki
- Iteracje o znanej liczbie powtórzeń. Tablice, listy
- Podprogramy. Obsługa plików
- Dostęp do innych programów i sesji środowisk użytkowych. Biblioteki programistyczne
- Iteracje sterowane warunkiem. Metoda „dziel i zwyciężaj”. Metoda bisekcji w rozwiązywaniu równań
Tematy ćwiczeń
- Interpreter Pythona. Program źródłowy Pythona. Proste typy danych. Następstwo instrukcji. Instrukcje warunkowe
- Diagnostyka kodu źródłowego: wydruki kontrolne, tryb krokowy, podgląd zmiennych. Typy złożone: listy
- Iteracje o znanej liczbie powtórzeń. Iteracja po elementach listy. Sumowanie i zliczanie elementów spełniających zadany warunek
- Podprogramy. Tablicowanie funkcji. Czynność złożona jako procedura
- Obsługa plików. Elementy obsługi graficznego środowiska użytkowego
- Iteracje sterowane warunkiem. Metoda „dziel i zwyciężaj”. Metoda bisekcji w rozwiązywaniu równań
- Integracja programu ze środowiskiem użytkowym (arkusze kalkulacyjne, oprogramowanie do graficznej prezentacji danych)
- Praca kontrolna
Szczegółowe zadania będące przedmiotem ćwiczeń są umieszczone w osobnym serwisie dostępnym z laboratoriów.
Zalecana literatura
- Algorytmika
- N. Wirth:
Wstęp do programowania systematycznego;
1987,
WNT,
Warszawa.
- N. Wirth:
Algorytmy + struktury danych = programy;
2002,
WNT,
Warszawa (lektura uzupełniająca).
- J. Bentley:
Perełki oprogramowania;
wyd. II 2001,
WNT,
Warszawa (lektura uzupełniająca).
- Arkusze kalkulacyjne
- D. M. Bourg:
Excel w nauce i technice;
2006,
Helion, Gliwice.
- M. Dziewoński:
OpenOffice PL. Oficjalny podręcznik;
2005,
Helion, Gliwice.
- Języki programowania
- A. B. Downey:
Think Python. An Introduction to Software Design;
http://www.greenteapress.com/thinkpython;
2002–2008.
-
Kursy i artykuły online:
http://python.org.pl/kursy,jezyka.html.
- P. Norton i inni:
Python od podstaw;
2006,
Helion, Gliwice (lektura uzupełniająca).
- Swaroop C. H.:
Ukąś Pythona;
http://wiki.mercury.lo5.bielsko.pl/index.php/Uk%C4%85%C5%9B_Pythona;
2003–2008
(lektura uzupełniająca).
- G. van Rossum i inni:
Python Documentation;
http://www.python.org/doc;
1990–2009 (lektura uzupełniająca).
- G. van Rossum i inni:
Dokumentacja Pythona;
http://docs.python.org.pl;
1990–2003 (lektura uzupełniająca).
- M. Lutz, D. Ascher:
Python. Wprowadzenie;
wydanie III 2009,
Helion, Gliwice (lektura uzupełniająca).
- M. Pilgrim i inni:
Zanurkuj w Pythonie;
http://pl.wikibooks.org/wiki/Python;
2000–2007 (lektura uzupełniająca).
-
Dokumentacja online:
http://python.org.pl/python.html
(lektura uzupełniająca).
Zalecane oprogramowanie
- Interpreter i maszyna wykonawcza języka Python
- Python (zamiennie z następnym)
- ActivePython (opcjonalnie, zamiast poprzedniego)
- Edytory kodu źródłowego (jeden do wyboru)
- SciTE (zalecany w systemach Windows i UNIX dla uruchamiania kodu pisanego ad hoc)
- Komodo Edit (opcjonalnie)
- SPE (opcjonalnie)
- Bluefish (opcjonalnie)
- Notepad++ (opcjonalnie)
- (g)Vim (opcjonalnie)
- GEdit (opcjonalnie)
- Zintegrowane środowiska uruchomieniowe (jedno do wyboru)
- IDLE (opcjonalnie)
- PythonWin (zalecany w systemach Windows)
- WingIDE (opcjonalnie)
- Komodo IDE (opcjonalnie)
- WinPdb (sam debugger, opcjonalnie)
- Dodatkowe biblioteki i moduły
- EasyGUI
- PyWin32 (tylko w systemach Windows)
- ComTypes (opcjonalnie, tylko w systemach Windows)
- PyUNO
- NumPy (opcjonalnie)
- SciPy (opcjonalnie)
- SymPy (opcjonalnie)
- Gnuplot-py (opcjonalnie)
- SDXF (opcjonalnie)
- Matplotlib (opcjonalnie)
- PygreSQL lub Psycopg (opcjonalnie)
- PgOleDb (dla użytkowników PygreSQL)
- MySQL-Python (opcjonalnie)
- Wybór oprogramowania użytkowego i serwerowego (opcjonalnie)
- Gnuplot
- OpenOffice
- Excel (tylko w systemach Windows)
- Gnumeric
- PostgreSQL
- MySQL
- AutoCAD lub IntelliCAD (tylko w systemach Windows)
Szczegóły dotyczące pobierania i instalacji wymienionego oprogramowania
podajemy w podrozdziale 5.1.