Języki skryptowe

Transkrypt

Języki skryptowe
KARTA KURSU (realizowanego w module specjalności)
Administracja systemami informatycznymi
(nazwa specjalności)
Nazwa
Języki skryptowe
Nazwa w j. ang.
Script languages
Punktacja
ECTS*
Kod
5
Zespół dydaktyczny:
Koordynator
mgr Roman Czapla
mgr Roman Czapla
mgr Wojciech Nawalaniec
mgr Wojciech Nawalaniec
dr Olaf Bar
Opis kursu (cele kształcenia)
W czasie zajęć studenci powinni się zapoznać z bardzo popularnym i potężnym narzędziem jakim w
pracy programisty i administratora są języki skryptowe. Językami, które będą omawiane, są BASH i
PERL (PYTHON).
Kurs jest prowadzony w języku polskim.
Warunki wstępne
Wiedza
Podstawowa wiedza o programowaniu strukturalnym.
Umiejętności
Kursy
Używanie instrukcji sterujących i warunkowych oraz wykorzystywanie zmiennych i tablic.
Podstawy programowania, Systemy operacyjne.
Efekty kształcenia
Efekt kształcenia dla kursu
Odniesienie do
efektów dla
specjalności
Po zakończeniu kursu student:
W01: zna zasadę działania języków skryptowych i powszechne zastosowania
Wiedza
tych narzędzi programistycznych.
S1_W01
W02: rozumie zasadę działania i sposoby stosowania wyrażeń regularnych.
S1_W01
W03: zna popularne techniki programowania w BASH.
S1_W01
W04: zna popularne techniki programowania w PERL (PYTHON).
S1_W01
1
Odniesienie do
efektów dla
specjalności
Efekt kształcenia dla kursu
Po zakończeniu kursu student:
U01: programuje skrypty w Unixowej powłoce BASH. Potrafi zastosować
Umiejętności popularne techniki oprogramowania skryptowego powłoki systemów
Unixowych.
S1_U06
U02: programuje skrypty w języku PERL (PYTHON). Potrafi operować na
strukturach danych PERL-a (PYTHON-a) takich jak listy, tablice i tablice
asocjacyjne.
S1_U06
U03: potrafi zarówno w BASH jak i PERL (PYTHON) konstruować wyrażenia
regularne.
S1_U06
Efekt kształcenia dla kursu
Odniesienie do
efektów dla
specjalności
)
Kompetencje Po zakończeniu kursu student:
społeczne K01: jest świadomy celowości i przydatności uzupełnienia wiedzy
programistycznej.
S1_ K04
K02: jest świadomy korzyści płynących z umiejętności rozwiązywania
problemów z zastosowaniem skryptów.
S1_ K04
Studia stacjonarne
Organizacja
Forma zajęć
Ćwiczenia w grupach
Wykład
(W)
A
Liczba godzin
15
K
L
S
P
E
45
Opis metod prowadzenia zajęć
Zajęcia prowadzone są poprzez pisanie skryptów rozwiązujących zadany problem. Prowadzący
wprowadza w zagadnienie, ewentualnie przedstawia sugestie, co do możliwych metod
rozwiązania. Studenci piszą zadany skrypt. Następnie odbywa się wspólna analiza jednego lub
większej ilości napisanych rozwiązań.
2
X
X
X
X
X
X
X
W01
W02
W03
W04
U01
U02
U03
K01
K02
X
X
X
X
X
X
X
X
X
Inne
Egzamin
pisemny
Egzamin ustny
Praca pisemna
(esej)
Referat
Udział w
dyskusji
Projekt
grupowy
Projekt
indywidualny
Praca
laboratoryjna
Zajęcia
terenowe
Ćwiczenia w
szkole
Gry
dydaktyczne
E – learning
Formy sprawdzania efektów kształcenia
X
X
X
X
X
X
Podstawą do zaliczenia jest ocena z kolokwiów oraz projektu.
Kryteria oceny
Ocena końcowa będzie wystawiona na podstawie wyników egzaminu pisemnego.
Ocenę dobrą lub bardzo dobrą może uzyskać student, który potrafi samodzielnie
napisać zaawansowany skrypt w omawianych językach programowania.
Uwagi
Treści merytoryczne (wykaz tematów)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Wybór powłoki. Jak interpreter traktuje skrypt.
Metaznaki, potoki warunkowe.
Zmienne w powłoce, zmienne środowiskowe, przekazywanie parametrów do skryptu, cytowanie
Wyrażenia arytmetyczne
Instrukcje warunkowe, operatory polecenia test, testowanie plików i katalogów
Pętle for i while
Podpowłoki (podshell-e)
Przetwarzanie tekstu w shell-u
Obsługa sygnału wysyłanego do procesu
Wyrażenia regularne w shell-u
Posix
Grep, działanie, rodzaje grep-a
Znaki specjalne, wyrażenia nawiasowe
Powtórzenia, wyrażenia interwałowe
Pozycjonowanie, rozpoznawanie słów
Alternatywa, nawiasy, priorytety
Predefiniowane klasy znaków
Odwołania wsteczne (backreference)
Wykorzystanie perl-a, interpreter perla, składnia
Dane skalarne, liczby, łańcuchy, operatory liczbowe i łańcuchowe
Zmienne, zasady ustalania wartości zmiennych, kontekst, zmienna $_ (lub odpowiadające im
obiekty w języku python)
3
22. Operatory porównania na liczbach i łańcuchach. Operatory logiczne
23. Sterowanie przebiegiem programu, struktury kontrolne
24. Listy i tablice, funkcje reverse, sort, chomp, push, pop, shift, unshift… (lub odpowiadające im
obiekty w języku python)
25. Metody sortowania tablic
26. Pętla for/foreach na tablicach, next, last, redo, etykiety (lub ich odpowiedniki w języku python)
27. Operacje wejścia/wyjścia
28. Pliki, uchwyty plików, zmienna $., operator <>, operator <data> (lub) (lub ich odpowiedniki w języku
python)
29. Tablice asocjacyjne, pojęcie, zasady działania, funkcje służące do operowania na tablicach
asocjacyjnych, metody pisania skryptów z wykorzystaniem tablic asocjacyjnych
30. Zmienne predefiniowane
31. Wzorce w perl-u: metaznaki, powtórzenia, specjalne klasy znaków, podstawienia, globalne
dopasowanie, odwołania wsteczne (lub ich odpowiedniki w języku python)
32. Poruszanie się w drzewie katalogów
33. Funkcje, zmienne lokalne w funkcjach
34. Wielozadaniowość w perl-u, fork, identyfikacja procesów macierzystego i potomnego, grupa
procesów, system() vs exec(), obsługa sygnałów, potoki (lub ich odpowiedniki w języku python)
Wykaz literatury podstawowej
1.
2.
3.
4.
„Programowanie skryptów powłoki”,A.Robbins, Helion 2005
„Perl – wprowadzenie", R.Schwartz, Hellion 2006
„Bash. Receptury”, C. Albing, J.P. Vossen, C. Newham, Helion 2008
„Python. Wprowadzenie. Wydanie IV” M. Lutz, Helion 2010
Wykaz literatury uzupełniającej
1. „Perl - Tworzenie aplikacji sieciowych”,L.D.Stein, Helion 2002
2. „Python. Leksykon kieszonkowy. Wydanie IV” M. Lutz, Helion 2010
Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) - studia stacjonarne
Liczba godzin w kontakcie z
prowadzącymi
Liczba godzin pracy
studenta bez kontaktu z
prowadzącymi
Wykład
15
Konwersatorium (ćwiczenia, laboratorium itd.)
45
Pozostałe godziny kontaktu studenta z prowadzącym
5
Lektura w ramach przygotowania do zajęć
25
Przygotowanie krótkiej pracy pisemnej lub referatu po
zapoznaniu się z niezbędną literaturą przedmiotu
Przygotowanie projektu lub prezentacji na podany temat
(praca w grupie)
10
Przygotowanie do egzaminu
25
Ogółem bilans czasu pracy
125
Liczba punktów ECTS w zależności od przyjętego przelicznika
5
4