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 |