Głównym celem trzeciej części kursu jest opanowanie przez uczestników języka programowania w stopniu umożliwiającym wykorzystanie go do samodzielnego pisania krótkich programów wspomagających proste obliczenia oraz konwersje formatów danych — także we współpracy z innymi środowiskami i narzędziami (takimi jak arkusze kalkulacyjne i systemy baz danych). W obszarze zainteresowania znajdą się:
Od roku akademickiego 2007/08 zajęcia są prowadzone w ramach przedmiotu Komputerowe Wspomganie Projektowania w oparciu o język programowania Python.
Założono, że uczestnicy zajęć znają reguły arytmetyki liczb rzeczywistych, techniki rachunkowe algebry liniowej oraz podstawowe pojęcia i twierdzenia rachunku różniczkowego funkcji jednej zmiennej, oraz że umieją posługiwać się oprogramowaniem systemowym i użytkowym w podstawowym zakresie.
http://www.greenteapress.com/thinkpython;
2002–2008. Poprzednie wersje tej książki były zatytułowane
How to Think Like a Computer Scientist. Learning with Python (2002)
i How to Think Like a (Python) Programmer (2007).
http://www.python.org/doc;
1990–2009 (lektura uzupełniająca).
http://pl.python.org/docs;
1990–2003.
http://wiki.mercury.lo5.bielsko.pl/index.php/Uk%C4%85%C5%9B_Pythona;
2003–2008
(lektura uzupełniająca).
http://pl.python.org/kursy,jezyka.html.
http://pl.python.org/python.html;
2007–2008 (lektura uzupełniająca).
Poważne książki z dziedziny algorytmiki i podręczniki języków programowania wymagają solidnego przygotowania matematycznego, a zakresem treści wykraczają daleko poza tematykę zajęć. Dlatego zalecam lekturę ich fragmentów jako uzupełnienie.
| Tygodnie | Temat zajęć | Zadania |
|---|---|---|
| Wykłady | ||
| 0 | Metodologia. Zagadnienie algorytmiczne. Notacje algorytmów. Język Python jako jedna z notacji | |
| 1 | Zmienne, instrukcje proste i warunki | |
| 2 | Iteracje o znanej liczbie powtórzeń. Tablice, listy | |
| 3 | Podprogramy. Obsługa plików | |
| 4 | Dostęp do innych programów i sesji środowisk użytkowych. Biblioteki | |
| 5 | Iteracje sterowane warunkiem. Metoda „dziel i zwyciężaj”. Metoda bisekcji w rozwiązywaniu równań | |
| Materiały źródłowe | ||
| Wprowadzenie | ||
| Algorytmika, czyli reguły zabawy (rozdział wspólny dla części II i III) | ||
| Podstawowe typy danych (rozdział wspólny dla części II i III) | ||
| Rodzaje środowisk obliczeniowych (rozdział wspólny dla części II i III) | ||
| Język programowania, kod źródłowy, uruchamianie programu | ||
| Środowisko, czyli nasz plac zabaw | ||
| Dane w programie, czyli nasze własne zabawki | ||
| Kod, czyli jak się bawić własnymi zabawkami | ||
| Diagnostyka, czyli jak naprawiać zabawki | ||
| Czarna robota, czyli po co nam te zabawy | ||
| Obiekty, czyli nowe zabawki są lepsze | ||
| Moduły, pakiety i biblioteki, czyli zabawy cudzymi zabawkami | ||
| Podsumowanie | ||
| Ćwiczenia | ||
| 1 | Interpreter Pythona. Program źródłowy Pythona. Proste typy danych. Następstwo instrukcji. Instrukcje warunkowe | |
| 2 | Diagnostyka kodu źródłowego: wydruki kontrolne, tryb krokowy, podgląd zmiennych. Typy złożone: listy | |
| 3 | Iteracje o znanej liczbie powtórzeń. Iteracja po elementach listy. Sumowanie i zliczanie elementów spełniających zadany warunek | |
| 4 | Podprogramy. Tablicowanie funkcji. Czynność złożona jako procedura | |
| 5 | Obsługa plików. Elementy obsługi graficznego środowiska użytkowego | |
| 6 | Iteracje sterowane warunkiem. Metoda „dziel i zwyciężaj”. Metoda bisekcji w rozwiązywaniu równań | |
| 7 | Integracja programu ze środowiskiem użytkowym (arkusze kalkulacyjne, oprogramowanie do graficznej prezentacji danych) | |
| 8 | Praca kontrolna | |