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