Lista zagadnień na zaliczenie
Lista zagadnień na zaliczenie wykładu obowiązujących dla poszczególnych poziomów trudności.
I. Poziom podstawowy
- Porównanie kompilowanych i interpretowanych języków programowania.
- Podstawowe informacje o języku Python.
- Literały, zmienne i typy danych.
- Operatory.
- Operacje wejścia/wyjścia.
- Instrukcja warunkowa.
- Wyrażenie warunkowe (ang. conditional expression).
- Instrukcje iteracyjne.
- Podstawy definiowania i wywoływania funkcji.
- Podstawowe informacje i operacje wykonywane na:
- sekwencyjnych typach danych,
- słownikach,
- zbiorach,
- łańcuchach znaków.
- Surowe łańcuchy znaków (ang. raw strings).
II. Poziom średnio-zaawansowany
- Definiowanie i użytkowanie sparametryzowanych funkcji.
- Zwracanie wartości z funkcji.
- Indeksowanie sekwencyjnych typów danych.
- Mechanizm wycinania fragmentów (ang. slicing).
- Zaawansowane informacje i przetwarzanie danych zapisanych w:
- sekwencyjnych typach danych,
- słownikach,
- zbiorach.
- Mechanizm składania jednowymiarowych list/słowników (ang. list/dict comprehension).
- Koncepcja i użytkowanie modułów.
- Koncepcja błędów składniowych i wyjątków.
- Hierarchia wbudowanych wyjątków.
- Formatowanie łańcuchów znaków.
- Koncepcja i użytkowanie obiektów plikowych.
- Przetwarzanie tekstowych obiektów plikowych.
- Cechy paradygmatu programowania obiektowego w kontekście języka Python.
- Składnia definiowania klas. Konstruktory. Dziedziczenie.
- Obiekty iterowalne (ang. iterable objects).
- Wyrażenia generatorów (ang. generator expressions).
III. Poziom zaawansowany
- Mechanizm składania wielowymiarowych list/słowników.
- Zasięgi i przestrzenie nazw (ang. scopes and namespaces).
- Zaawansowane informacje o modułach, m.in.:
- bytecode,
- uruchamianie modułu jako skrypt i argumenty wejściowe.
- Koncepcja i użytkowanie pakietów.
- Obsługa wyjątków.
- Mechanizmy jawnego i niejawnego łączenia wyjątków (ang. exception chaining).
- Argumenty i notatki wyjątków.
- Asercje (ang. assertions).
- Zaawansowane informacje i przetwarzanie łańcuchów znaków.
- Przetwarzanie binarnych obiektów plikowych.
- Obsługa wyjątków w kontekście przetwarzania obiektów plikowych.
- Charakterystyka obiektów klas, instancji i metod.
- Zaawansowane koncepcje paradygmatu programowania obiektowego w kontekście języka Python.
- Iteratory, funkcje generatorów i generatory (ang. iterators, generator functions and generators).
- Wyrażenia lambda (ang. lambda expressions).
- Domknięcia (ang. closures).
- Cechy paradygmatu programowania funkcyjnego w kontekście języka Python.
- Zaawansowane typy danych (np. bytes, bytearray) i wbudowane funkcje (np. map(), filter()).