Zaawansowane języki skryptowe


Informacje ogólne

Typ:obowiazkowy
Kierunek:Informatyka studia licencjackie
Semestr:2,5
Wymiar zajęć:30 godzin wykładu, 30 godzin laboratorium
Punkty ECTS:9

Program

  • Podstawowe koncepcje: Kompilatory i interpretery. Podstawowe typy danych. Dynamiczne typy danych.
  • Funkcje: Konstrukcja funkcji w Pythonie. Dokumentowanie funkcji. Filtrowanie i lambda-funkcje.
  • Moduły i pakiety: Koncepcja przestrzni nazw. Definicja modułu oraz sposoby jego importowania. Tworzenie pakietów.
  • Klasy i obiekty: Definicja klas i tworzenie instancji. Dziedziczenie i atrybuty. Metody specjalne.
  • Pliki i wyjątki: Podstawowe operacje na plikach. Moduł pickle. Instrukcja try i jej sekcje. Tworzenie i podnoszenie wyjatków.
  • Wyrażenia regularne: Podstawowe konstrukcje. Kompilacja wyrażeń. Grupy i podgrupy.
  • Przetwarzanie języka HTML: Biblioteka sgmllib.py. Funkcje locals() i globals(). Przykład Dialectizer
  • Moduł unittest: Testowanie poprawności, błędów i zdrowości. Unit tests w poprawianie programu.

Sposób zaliczenia

Laboratorium: Zaliczenie na podstawie kolokwium, krótkich sprawdzianów z bieżącego materiału oraz pracy studenta na zajęciach przy rozwiązywaniu bieżących zadań programistycznych.
Wykład: Egzamin pisemny z treści prezentowanych a wykładzie.

Literatura

  • Guido van Rossum, Python Tutorial, http://docs.python.org/tut/.
  • Mark Pilgrim, Dive into Python. http://diveintopython.org/.
  • Bruce Eckel, Thinking in Python, http://www.mindview.net/Books/TIPython.
  • Python's official documentation, http://docs.python.org/.