Karta przedmiotu



Pobieranie 77,96 Kb.
Data11.04.2018
Rozmiar77,96 Kb.

Politechnika Poznańska Europejski System Transferu Punktów

Wydział Informatyki

KARTA OPISU MODUŁU KSZTAŁCENIA

Nazwa modułu:

Kod

Specjalizowane języki programowania




Kierunek studiów

Profil kształcenia

(ogólnoakademicki, praktyczny)



Rok / Semestr

Bioinformatyka

ogólnoakademicki

2 / 3


Specjalność

Moduł oferowany w języku:

Moduł (obligatoryjny/obieralny)



polski

obligatoryjny

Formy zajęć:  

Liczba punktów ECTS

Wykłady:

15

Ćwiczenia:



Laboratoria:

30

Projekty / seminaria:



3

Stopień studiów:

I stopień



Forma studiów

(stacjonarna/niestacjonarna)

stacjonarna


Obszar(y) kształcenia i dziedzina(y) nauki i sztuki

nauki techniczne

nauki przyrodnicze


Podział ECTS (liczba i %)

3 100%




Status modułu w programie studiów (podstawowy, kierunkowy, inny) (ogólnouczelniany, z innego kierunku)

Liczba punktów



kierunkowy

xxx


Odpowiedzialny za moduł / wykładowca:

Dr inż. Maciej Miłostan

Instytut Informatyki PP

ul. Piotrowo 2, 60-965 Poznań

e-mail: maciej.milostan@cs.put.poznan.pl


Inni prowadzący:




Wymagania wstępne w zakresie wiedzy, umiejętności, kompetencji społecznych:

Student rozpoczynający ten moduł powinien posiadać podstawową wiedzę o paradygmatach programowania strukturalnego i obiektowego, znać co najmniej jeden język programowania obiektowego i strukturalnego (preferowane C++/C), wiedzę z zakresu tworzenia struktur danych, w tym złożonych, podstawową wiedzę z zakresu algorytmiki i złożoności problemów kombinatorycznych. Powinien posiadać umiejętność rozwiązywania podstawowych problemów algorytmicznych i dokonywania analizy ich złożoności, powinien posiadać umiejętność wyszukiwania informacji.

Ponadto w zakresie kompetencji społecznych student musi prezentować takie postawy, jak uczciwość, odpowiedzialność, wytrwałość, ciekawość poznawcza, kreatywność, kultura osobista, szacunek dla innych ludzi.


Cel modułu:

  1. Przekazanie studentom podstawowej wiedzy o systemach operacyjnych w zakresie umożliwiającym swobodne posługiwanie się systemem Linux i automatyzację zadań przy użyciu mechanizmów powłoki systemowej oraz języków skryptowych.

  2. Przekazanie studentom wiedzy o języku Perl i Python w zakresie umożliwiającym przetwarzanie sekwencji znaków i plików tekstowych ze szczególnym uwzględnieniem zastosowania wyrażeń regularnych.

  3. Zapoznanie studentów z praktycznym zastosowaniem języków skryptowych do analiz biologicznych na przykładzie BioPerla i Biopythona.

  4. Rozwinięcie u studentów umiejętności rozwiązywania problemów wymagających przetwarzania danych biologicznych pochodzących z różnorodnych źródeł – umiejętność konwersji danych.

  5. Wykształcenie u studentów umiejętności tworzenia własnych narzędzi w zgodzie z zadaną specyfikacją.





Efekty kształcenia


Odniesienie do kierunkowych efektów kształcenia

Stopień realizacji kierunkowego efektu kształcenia

Wiedza

W wyniku przeprowadzonych zajęć student:









  1. Pogłębia wiedzę z zakresu programowania strukturalnego i obiektowego w kontekście języków interpretowanych Perl i Python

K_W13

++

  1. Zdobywa podstawową wiedzę z zakresu praktycznego użytkowania systemów operacyjnych oraz wbudowanych w nie mechanizmów. Jest zaznajomiony z podstawowymi mechanizmami przetwarzania i automatyzacji danych dostępnymi w systemie linux (przetwarzanie potokowe, podstawowe skrypty powłoki, przekierowanie wejścia/wyjścia). Poznaje metody dostępu do baz danych z wykorzystaniem języka Perl i Python.

K_W16

++

  1. Posiada ugruntowaną i podbudowaną teorią wiedzę z zakresu przetwarzania sekwencji znaków, w szczególności z wykorzystaniem wyrażeń regularnych i wzorców. Jest zaznajomiony z operacjami wyszukiwania ciągów znaków, modyfikacją ciągów, konwersją i formatowaniem tekstu, kodowaniem (ASCI, UTF8, BASE64), ekstrakcją danych zagregowanych/statystycznych. Potrafi korzystać z różnych źródeł danych tekstowych (pliki, bazy danych itp.).

K_W17

+++

Umiejętności

W wyniku przeprowadzonych zajęć student:









  1. Stosuje podstawowe techniki i narzędzia informatyczne, dostępne w postaci bibliotek Perla i Pythona, do analizy danych biologicznych w postaci plików tekstowych z sekwencjami aminokwasowymi oraz danymi strukturalnymi (tekstowe pliki PDB). Potrafi pozyskiwać dane z baz danych biologicznych z poziomu programów w Perlu i Pythonie. Potrafi dokonywać podstawowych przekształceń sekwencji biologicznych i podstawowych operacji na plikach PDB. Umiejętności te są niezbędne do analizy złożonych problemów biologicznych.

K_U04

+

  1. Potrafi zastosować funkcje, struktury programistyczne, biblioteki oraz klasy dostępne w Perlu i Pythonie do implementacji własnych narzędzi realizujących cele zgodne z zadaną specyfikacją.

K_U15

+

Kompetencje społeczne

Zaliczenie przedmiotu oznacza, że student:









  1. Potrafi odpowiednio określić priorytety służące realizacji zadania określonego przez siebie lub innych. Elementem niezbędnym do zaliczenia jest terminowa realizacji szeregu zadań praktycznych w szczególności programistycznych.

K_K03

+

  1. Ma świadomość odpowiedzialności za podejmowane decyzje – braki w realizacji zadań, nieterminowe ich wykonanie lub próby plagiatu wpływają na uzyskiwane oceny.

K_K05

+



Sposoby sprawdzenia efektów kształcenia

Ocena formująca

a) w zakresie wykładów weryfikowanie założonych efektów kształcenia realizowane jest przez:



b) w zakresie laboratoriów / ćwiczeń weryfikowanie założonych efektów kształcenia realizowane jest przez:

  • ocenę przygotowania studenta do poszczególnych sesji zajęć laboratoryjnych (sprawdzian „wejściowy") oraz ocenę umiejętności związanych z realizacją ćwiczeń laboratoryjnych

  • ocenę sprawozdań przygotowywanych częściowo w trakcie zajęć, a częściowo po ich zakończeniu

  • ocenę i „obronę” zrealizowanych przez studenta ćwiczeń laboratoryjnych

Ocena podsumowująca

a) w zakresie wykładów weryfikowanie założonych efektów kształcenia realizowane jest przez:



  • ocenę wiedzy i umiejętności wykazanych na zaliczeniu pisemnym w formie testu zawierającego zarówno pytania z możliwością wyboru odpowiedzi jak i pytania problemowe wymagające uzupełnienie brakujących elementów wyrażeń i definicji. Test zaliczeniowy będzie się składał z min. 19 pytań, lista pytań nie będzie udostępniana studentom, udostępniana będzie tylko informacja o zakresie egzaminu. W celu uzyskania oceny 3.0 należy zdobyć 70% maksymalnej liczby punktów. Dopuszcza się możliwość przeprowadzenia zaliczenia poprawkowego w formie ustnej.

  • omówienie wyników egzaminu

b) w zakresie laboratoriów / ćwiczeń weryfikowanie założonych efektów kształcenia realizowane jest przez:

  • zestawienie ocen wystawionych w trakcie semestru w postaci średniej ważonej ocen cząstkowych uzyskanych ze sprawozdań z ćwiczeń laboratoryjnych. Do uzyskania zaliczenia wymagane jest pozytywne zaliczenie co najmniej 75% bloków ćwiczeń laboratoryjnych.

Aktywność podczas zajęć premiowana jest dodatkowymi punktami, w szczególności za:

  • omówienie dodatkowych aspektów zagadnienia,

  • efektywność zastosowania zdobytej wiedzy podczas rozwiązywania zadanego problemu,

  • uwagi prowadzące do udoskonalenia materiałów dydaktycznych lub procesu dydaktycznego.




Treści programowe

Program wykładu obejmuje następujące zagadnienia.

Wykład 1-2.: Dane biologiczne a sekwencje i teksty – zarysowanie kontekstu i wskazanie obszarów, w którym stosuje się języki skryptowe z dużym sukcesem. Podkreślenie znaczenia danych sekwencyjnych w biologii i wskazanie elementarnych narzędzi, które mogą zostać wykorzystane do ich analizy. Krótkie omówienie instrukcji linuksa oraz wprowadzenie do języków skryptowych i interpreterów, pokazanie elementów programowania w powłoce i AWK.



Wykład 3-5: Paradygmaty programowania i dobre praktyki programistyczne w kontekście Perla i Pythona. Podstawy Perla: – przygotowanie środowiska programistycznego; -zmienne i typy danych oraz stosowana notacja (sposób zapisu zmiennych skalarnych, tablic, tablic wielowymiarowych, tablic asocjacyjnych, łańcuchów znaków); -konwersja typów; -podstawowe operatory i instrukcje z bibliotek systemowych; -zmienne specjalne; -podstawowe operacje na plikach i strumieniach danych; -szczegółowe omówienie wybranych operatorów i funkcji; -instrukcje warunkowe; -rodzaje pętli i iteratory;. -własne podprogramy i funkcje; -mechanizm wyrażeń regularnych i operator „smart match”, oraz ich znaczenie w przetwarzaniu danych tekstowych; -moduły, elementy programowania obiektowego oraz typy złożone; -biblioteka biologiczna (BioPerl) i jej funkcjonalność.

Wykład 6-8: Wprowadzenie do Pythona – wskazanie podobieństw i różnic w stosunku do Perla. Omówienie składni języka, notacji i jego filozofii. Omówienie podstawowych typów danych i idei obiektowości w Pythonie analogicznie do wykładów 3-5. Wskazanie sposobów dokumentacji kodu i metod korzystania z niej. Ewolucja języka i podstawowe różnice w funkcjonalności między dwoma głównymi wersjami Pythona. Definiowanie własnych klas i mechanizm dziedziczenia. Biblioteka biologiczna Biopython. Test zaliczeniowy.

Ćwiczenia laboratoryjne prowadzone są w formie piętnastu dwugodzinnych zajęć odbywających się w laboratorium komputerowym. Pierwsze zajęcia przeznaczone są na zapoznanie studentów z zasadami użytkowania laboratorium i zaliczania ćwiczeń. Ćwiczenia realizowane są przez studentów indywidualnie. Program zajęć laboratoryjnych obejmuje następujące zagadnienia. Wprowadzenie do pracy w systemie linux – podstawowe instrukcje, przetwarzanie potokowe, przekierowywanie strumieni wejściowych i wyjściowych. Elementy programowania w powłoce – skrypty bash, elementy przetwarzania tekstów przy użyciu programów w AWK. Zapoznanie się z interpreterami Perla i Pythona oraz systemami pomocy i dokumentacji stanowiącymi część środowiska programistycznego. Implementacja programów mających na celu poznanie typów danych i struktur kontrolnych języka. Zapoznanie z mechanizmami wyrażeń regularnych i ich zastosowanie do analizy danych w plikach tekstowych z uwzględnieniem plików z sekwencjami i strukturami biologicznymi (pliki PDB). Przeprowadzenie testów zaimplementowanych programów na zbiorach danych testowych. Implementacja programów pozyskujących dane z publicznie dostępnych baz biologicznych i dokonujących ich przekształceń zgodnie z zadaną specyfikacją przy użyciu bibliotek BioPerl i Biopython. Projekt i implementacja własnej klasy dokonującej zestawu operacji na plikach PDB.

Metody dydaktyczne:

  1. Wykład: prezentacja multimedialna wedle potrzeby ilustrowana dodatkowymi przykładami podawanymi na tablicy

  2. Ćwiczenia laboratoryjne: ćwiczenia praktyczne przy komputerze realizowane według podanego scenariusza, implementacja programów i skryptów rozwiązujących zadane problemy, dyskusja zastosowanych rozwiązań i konstrukcji programistycznych




Literatura podstawowa:

  1. Perl : wprowadzenie / Randal L. Schwartz, Tom Phoenix, Brian D. Foy ; [tł. Rafał Szpoton], Gliwice, Helion 2006

  2. Python 3 : kompletne wprowadzenie do programowania / Mark Summerfield ; [tł. Robert Górczyński]., Gliwice, Helion 2010.

  3. Perl: od podstaw / Simon Cozens; [tł. Rafał Bielec, Adam Osuchowski, Rafał Szpoton], Gliwice, Helion 2006.

  4. Linux Pocket Guide, 2nd Edition, Daniel J. Barrett, O’Reilly Media 2012 (Dostępne tłumaczenie na język polski: Linux. Leksykon Kieszonkowy, Tł. Adam Bąk, Helion 2013)

  5. The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., No Starch Press, 2012 (dostępna również jako darmowy ebook: http://heanet.dl.sourceforge.net/project/linuxcommand/TLCL/09.12/TLCL-09.12.pdf)

  6. System operacyjny LINUX- przewodnik użytkownika, Cezary Sobaniec, Nakom 2002

  7. Linux in a Nutshell, 6th Edition, Ellen Siever, Stephen Figgins, Robert Love, Arnold Robbins, O’Reilly Media 2009.




Literatura uzupełniająca:


  1. Mastering Regular Expressions, Jeffrey E.F. Friedl, O'Reilly Media, 2006

  2. Sed & Awk, Dougherty and Arnold Robbins, O'Reilly and Associates, 1997




Bilans nakładu pracy przeciętnego studenta

Czynność

Czas

  1. Udział w wykładach: 15 godz.

15 godz.

  1. Udział w zajęciach laboratoryjnych / ćwiczeniach: 15 × 2 godz.

30 godz.

  1. Przygotowanie do ćwiczeń laboratoryjnych: 8 × 1 godz.

8 godz.

  1. Dokończenie (w ramach pracy własnej) sprawozdań z ćwiczeń laboratoryjnych: 15 × 0,5 godz.

7 godz.

  1. Napisanie programu / programów, ich uruchomienie i weryfikacja (czas poza zajęciami laboratoryjnymi)

15 godz.

  1. Udział w konsultacjach związanych z realizacją procesu kształcenia, w szczególności ćwiczeń laboratoryjnych / projektu

2 godz.

  1. Zapoznanie się ze wskazaną literaturą / materiałami dydaktycznymi

3 godz.

  1. Przygotowanie do testu zaliczeniowego i obecność na zaliczeniu: 8 godz. + 1 godz.

9 godz.

  1. Omówienie wyników egzaminu

1 godz.

Obciążenie pracą studenta

forma aktywności

godzin

ECTS

Łączny nakład pracy

(Suma godzin z pozycji zdefiniowanych powyżej. Punkty ECTS jak w nagłówku karty.)

90

3

Zajęcia wymagające bezpośredniego kontaktu z nauczycielem

(Dla powyższego przykładu będą to: udział w wykładach 30 godz. + udział w laboratoriach 30 godz. + konsultacje 2 godz. + obecność na egzaminie 2 godz. + omówienie wyników egzaminu 1 godz. UWAGA: TA LICZBA GODZIN MUSI PRZEKROCZYĆ 50% ŁĄCZNEGO NAKŁADU PRACY! Punkty ECTS należy ustalić proporcjonalnie.)

49

1,5

Zajęcia o charakterze praktycznym

(Dla powyższego przykładu będą to: udział w laboratoriach 30 godz. + przygotowanie i kontynuacja tych zajęć 38 godz. Punkty ECTS należy ustalić proporcjonalnie.)

45

1,5






©operacji.org 2017
wyślij wiadomość

    Strona główna