KARTA KURSU Nazwa Nazwa w j. ang. Języki skryptowe Script languages Kod Punktacja ECTS* 3 Koordynator mgr Alfred Budziak Zespół dydaktyczny: dr Olaf Bar mgr Alfred Budziak 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. Kurs jest prowadzony w języku polskim. Warunki wstępne Wiedza Umiejętności Kursy Podstawowa wiedza o programowaniu strukturalnym. Używanie instrukcji sterujących i warunkowych oraz wykorzystywanie zmiennych i tablic. Wstęp do programowania, Systemy operacyjne. Efekty kształcenia Wiedza W01: zna zasadę działania języków skryptowych i powszechne zastosowania tych narzędzi programistycznych. K_W07 W02: rozumie zasadę działania i sposoby stosowania wyrażeń regularnych. K_W07 W03: zna popularne techniki programowania w BASH. K_W07 W04: zna popularne techniki programowania w PERL. K_W07 1
Umiejętności U01: programuje skrypty w Unixowej powłoce BASH. Potrafi zastosować popularne techniki oprogramowania skryptowego powłoki systemów Unixowych. U02: programuje skrypty w języku PERL. Potrafi operować na strukturach danych PERL-a takich jak listy, tablice i tablice asocjacyjne. U03: potrafi zarówno w BASH jak i PERL konstruować wyrażenia regularne. Kompetencje społeczne K01: jest świadomy celowości i przydatności uzupełnienia wiedzy programistycznej. K02: jest świadomy korzyści płynących z umiejętności rozwiązywania problemów z zastosowaniem skryptów. K_K08 K_K08 K_K10 Studia stacjonarne Forma zajęć Wykład (W) Organizacja Ćwiczenia w grupach A K L S P E Liczba godzin 15 45 Studia niestacjonarne Organizacja Forma zajęć Wykład (W) Ćwiczenia w grupach A K L S P E Liczba godzin 10 20 Opis metod prowadzenia zajęć Zajęcia prowadzone są poprzez pisanie skryptów rozwiązujących zadany problem. Prowadzący wprowadza w zagadnienie, ewentualne 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
Formy sprawdzania efektów kształcenia E learning Gry dydaktyczne Ćwiczenia w szkole Zajęcia terenowe Praca laboratoryjna Projekt indywidualny Projekt grupowy Udział w dyskusji Referat Praca pisemna (esej) Egzamin ustny Egzamin pisemny Inne W01 X X W02 X X W03 X X W04 X X U01 X X U02 X X U03 X X K01 X K02 X Kryteria oceny Ocenę dobrą lub bardzo dobrą może uzyskać student, który: na kolokwium końcowym będzie potrafił wytłumaczyć działanie oraz w zadany sposób na bieżąco zmodyfikować działanie skryptów zadanych przez prowadzącego podczas ćwiczeń w obu przerabianych językach. Uwagi Treści merytoryczne (wykaz tematów) 1. Wybór powłoki. Jak interpreter traktuje skrypt. 2. Metaznaki, potoki warunkowe. 3. Zmienne w powłoce, zmienne środowiskowe, przekazywanie parametrów do skryptu, cytowanie 4. Wyrażenia arytmetyczne 5. Instrukcje warunkowe, operatory polecenia test, testowanie plików i katalogów 6. Pętle for i while 7. Podpowłoki (podshell-e) 8. Przetwarzanie tekstu w shell-u 9. Obsługa sygnału wysyłanego do procesu 10. Wyrażenia regularne w shell-u 11. Posix 12. Grep, działanie, rodzaje grep-a 13. Znaki specjalne, wyrażenia nawiasowe 14. Powtórzenia, wyrażenia interwałowe 15. Pozycjonowanie, rozpoznawanie słów 16. Alternatywa, nawiasy, priorytety 17. Predefiniowane klasy znaków 18. Odwołania wsteczne (backreference) 19. Wykorzystanie perl-a, interpreter perla, składnia 20. Dane skalarne, liczby, łańcuchy, operatory liczbowe i łańcuchowe 21. Zmienne, zasady ustalania wartości zmiennych, kontekst, zmienna $_ 22. Operatory porównania na liczbach i łańcuchach. Operatory logiczne 3
23. Sterowanie przebiegiem programu, struktury kontrolne 24. Listy i tablice, funkcje reverse, sort, chomp, push, pop, shift, unshift... 25. Metody sortowania tablic 26. Pętla for/foreach na tablicach, next, last,redo, etykiety 27. Operacje wejścia/wyjścia 28. Pliki, uchwyty plików, zmienna $., operator <>, operator <data> 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 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 Wykaz literatury podstawowej 1. Programowanie skryptów powłoki,a.robbins, O'Reilly 2005 2. "Perl wprowadzenie", R.Schwartz, Hellion 2006 Wykaz literatury uzupełniającej 1. Perl - Tworzenie aplikacji sieciowych,l.d.stein, Helion 2002 Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) studia stacjonarne Liczba godzin w kontakcie z Wykład 15 Konwersatorium (ćwiczenia, laboratorium itd.) 45 Pozostałe godziny kontaktu studenta z prowadzącym 3 Liczba godzin pracy studenta bez kontaktu z Lektura w ramach przygotowania do zajęć 12 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) Przygotowanie do egzaminu Ogółem bilans czasu pracy 75 Liczba punktów ECTS w zależności od przyjętego przelicznika 3 Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) studia niestacjonarne 4
Liczba godzin w kontakcie z Wykład 10 Konwersatorium (ćwiczenia, laboratorium itd.) 20 Pozostałe godziny kontaktu studenta z prowadzącym 3 Lektura w ramach przygotowania do zajęć 42 Liczba godzin pracy studenta bez kontaktu z 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) Przygotowanie do egzaminu Ogółem bilans czasu pracy 75 Liczba punktów ECTS w zależności od przyjętego przelicznika 3 5