Wykładowca | Wykłady | Literatura | Zaliczenie | Kolokwium | Wnukówki | Wyniki | Laboratorium | Moodle | Zadania
logo

Programowanie w systemie Unix - 2016/2017


UWAGA:
2016-12-14
W formularzu wyników można sprawdzić końcową punktację i zaliczenia laboratorium.

UWAGA:
2016-12-07
Zgodnie z ustaleniami na wykładzie w dniu 7 grudnia 2016, kolokwium zaliczeniowe dla osób, które nie uzyskały minimalnego progu zaliczenia wnukówek odbędzie się we czwartek 15 grudnia 2016 w godz.9-11 w sali 07/C3.

W formularzu wyników można sprawdzić ostateczną ocenę uzyskaną za wnukówki pisane na wykładzie. Wyższa od 0.0 wartość w kolumnie "Ocena" oznacza proponowaną ocenę zwolnienia z kolokwium. 0.0 oznacza obowiązek pisania kolokwium.


Wykłady

nrtemat wykładuslajdy
1 Unix-owy interpreter komend, skrypty PDF
2 Wyrażenia regularne: sed i awk PDF
System kompilatora C i narzędzia pomocnicze PDF
3 Programowanie procesów PDF
4 Komunikacja międzyprocesowa PDF
Operacje wejścia/wyjścia niskiego poziomu PDF
5 Zaawansowane mechanizmy wejścia/wyjścia PDF
Przegląd bibliotek systemu Unix PDF


Literatura

Podręcznik:

Literatura uzupełniająca:

Materiały internetowe:


Zaliczenie wykładu

Warunkiem zaliczenia wykładu jest: (1) pozytywne zaliczenie laboratorium, i (2) pomyślne napisanie kolokwium zaliczeniowego, które odbędzie się pod koniec semestru i będzie miało postać testu komputerowego. Ocena z wykładu wpisana do indeksu będzie średnią ważoną oceny z laboratorium (waga 0.6) i oceny z kolokwium (waga 0.4), zaokrągloną do najbliższej oceny połówkowej.

Kolokwium

Kolokwium zaliczeniowe będzie zorganizowane pod koniec semestru w terminie uzgodnionym na wykładzie.

Kolokwium jest obowiązkowe dla wszystkich, którzy nie uzyskają zwolnienia zgodnie z zasadami podanymi poniżej. Ostateczne wyniki dotyczące zwolnienia z kolokwium będą dostępne w sekcji Wyniki.

„Wnukówki”

Na wykładach odbywać się będą krótkie 3-minutowe testy, tzw. „wnukówki”, które:
  1. Nie są obowiązkowe i negatywny wynik do niczego się nie wlicza.
    Pozytywny wynik uprawnia do zwolnienia z kolokwium.
  2. Są pisemne, trwają trzy minuty, i odbywają się w dowolnym momencie wykładu.
  3. Obejmują materiał z bieżącego oraz ewentualnie poprzedniego wykładu (jeśli jest kontynuowany).
  4. Są oceniane w skali 1-3 punktów, z 1 punktem za czystą kartkę.
  5. Nieobecność na teście oznacza 0 punktów. Testu nie można odrobić, i nie ma żadnych usprawiedliwień.
  6. Nie można korzystać z żadnych pomocy, książek, notatek ani urządzeń elektronicznych.

Aplikacja Androidowa

Przy pisaniu “wnukówek” przydaje się prosta aplikacja na telefon z systemem Android: Aplikacja do obliczania numeru grupy

Zwolnienie z kolokwium

Uzyskanie minimum 60% punktów z wnukówek daje prawo do zwolnienia z kolokwium z oceną 4.0. Niższy niż 60% wynik z wnukówek nic nie daje i do niczego się nie wlicza.

Oceny zaliczenia kolokwium na podstawie punktacji z wnukówek:

punkty[%] 60.0073.3386.66
ocena 4.0 4.5 5.0

Wyniki

Poniższy formularz pozwala sprawdzać wyniki "wnukówek". Pisownia imion i nazwisk dokładnie jak w systemie Edukacja. Podwójne imiona i wieloczłonowe nazwiska muszą być wprowadzone z oddzielającymi podkreślnikami, jak: Manuel_Antonio, albo de_la_Vega. Numery indeksu sześciocyfrowe.

W przypadku ocen laboratorium obowiązuje pisownia nazwisk jak w eportalu, z polskimi literami tak jak tam są wpisane, i ze spacjami w imionach i nazwiskach zastąpionymi podkreślnikami.

Imię: Nazwisko:
Numer indeksu:


Zaliczenie laboratorium

Warunkiem zaliczenia laboratorium jest samodzielne wykonanie wszystkich ćwiczeń - zgodnie z harmonogramem - i uzyskanie minimum 50% punktów w skali całego semestru. Z każdego ćwiczenia proszę sporządzić pisemny raport i wraz z programami źródłowymi i innymi materiałami przesłać je prowadzącemu w systemie Moodle zgodnie z instrukcją Moodle. Po wysłaniu zadania konieczne jest również wykonanie prezentacji prowadzącemu na zajęciach zgodnie z punktem Prezentacja.

Samodzielność

Wszystkie prace oddawane na zaliczenie ćwiczeń muszą być opracowane samodzielnie. Naruszenie tego wymagania traktowane będzie jako poważne naruszenie zasad etyki i regulaminu studiów.

Jednak wymaganie samodzielności nie oznacza, że nie można korzystać z materiałów źródłowych, nawet jeśli one znacznie ułatwiają wykonanie zadania. Wręcz przeciwnie, rozwiązanie zadania z użyciem gotowych znalezionych gdzieś elementów będzie traktowane jako lepsze (i może być wyżej ocenione), niż rozwiązanie gdzie wszystko jest być może niepotrzebnie napisane od podstaw. Jednak pod dwoma warunkami: korzystać można tylko z ogólnie dostępnych, opublikowanych materiałów, a fakt wykorzystania w zadaniu tych materiałów musi być skrupulatnie odnotowany w raporcie.

W szczególności, przydatną techniką pracy nad zadaniami mogą być konsultacje z kolegami/koleżankami z grupy. Te konsultacje są jak najbardziej dozwolone i wskazane, ale tylko na etapie zrozumienia materiału, treści i istoty zadania, poszukiwania materiałów, i ogólnych rozwiązań koncepcyjnych. Od momentu rozpoczęcia pisania kodu praca musi być samodzielna.

Raport

Raport dołączony do każdego zadania powinien być starannie opracowany i będzie oceniany na równi z uzyskanym wynikiem merytorycznym. Dla wielu osób zaskoczeniem jest, że nie wystarczy napisać program, i sobie samemu zademonstrować, i przekonać się, że jest to poprawne i właściwe rozwiązanie postawionego zadania. W jeszcze większe zdumienie wprawia studentów wymaganie by raport był nie tylko w ogóle napisany, ale ponadto starannie zredagowany: krótki, jasny, pozbawiony błędów, i czytelnie sformatowany.

W tym przedmiocie każde zadanie postawione studentom będzie traktowane jako specyfikacja zamówienia na wykonanie komercyjnego produktu, oddawane zadanie jako wywiązanie się z zawartej umowy, a ocena jako wypłata wynagrodzenia. Zleceniodawca ma prawo testowania produktu według własnego uznania, ale częścią kontraktu będzie zawsze dokumentacja powykonawcza, i musi ona spełniać wymagania zleceniodawcy tak samo jak sam produkt.

W raporcie należy ogólnie napisać: CO zostało wykonane, JAK zostało to zrobione, czy zostało PRZETESTOWANE i czy DZIAŁA, GDZIE zostało przetestowane i GDZIE działa, oraz jakie uzyskano WYNIKI. Jeśli to możliwe i sensowne proszę załączyć krótkie, odpowiednio zredagowane przykłady działania. Podstawową platformą do wykonywania zadań i uruchamiania programów będzie platforma Sun/Solaris (komputer diablo). Uruchomienie programu na innej platformie unixowej (np. HP/UX, SG/Irix, IBM/AIX, albo Linux, FreeBSD, NetBSD, itp.) jest zawsze mile widziane, i w niektórych zadaniach będzie za to można dostać dodatkowe punkty. Jeśli z programem są jakieś problemy, np. nie kompiluje się lub nie działa poprawnie na diablo, wywala się, itp., to proszę opisać z czym jest problem, jak się objawia, i jak możnaby go próbować rozwiązać. Jeśli w pracy nad programem wykorzystane były jakieś materiały to należy to podać.

Jeśli sposób uruchomienia programu nie jest oczywisty, lub sterowany interakcyjnym menu, albo nie wynika ze specyfikacji zadania, to proszę go krótko opisać. Nie należy natomiast włączać do raportu szczegółowego opisu programu, tzn. poszczególnych procedur, jak również treści zadania.

Prezentacja

Warunkiem zaliczenia zadania, po jego wykonaniu i terminowym oddaniu, jest osobiste wykonanie prezentacji na zajęciach. Prezentacja polega na uruchomieniu programu i zaprezentowaniu jego funkcji na przygotowanym przez prezentującego zestawie danych. Prowadzący zajęcia może następnie zapytać o szczegóły zastosowanych rozwiązań. Prezentacja powinna odbyć się na najbliższych zajęciach po oddaniu zadania, ale nie później niż 2 tygodnie po terminie oddania zadania.

Spóźnienia

Dla zapewnienia realizacji planu całego laboratorium, zadania muszą być oddawane terminowo. Zadania oddane do 1 tygodnia po terminie otrzymują 50% należnej oceny punktowej. Zadania spóźnione powyżej 1 tygodnia, dostarczone po sprawdzeniu danego zadania przez prowadzącego nie będą już sprawdzane i otrzymują 0 punktów. (Uwaga: terminy oddawania zadań w systemie Moodle są technicznymi parametrami zadania i nie wyznaczają obowiązujących terminów oddawania zadań. Obowiązujące są wyłącznie terminy określone niżej na tej stronie.)

Oceny

Zadania będą oceniane na punkty po ich oddaniu przez wszystkich studentów w danej grupie, i wykonaniu wszystkich prezentacji. Zaliczenie pracowni będzie zgodne z poniższa tablą:

punkty % 50.0060.0070.0080.0090.00
ocena 3.0 3.5 4.0 4.5 5.0

Prowadzący będzie się starał sprawdzać i oceniać zadania terminowo. Zadania niesprawdzone w terminie 3 tygodni od dnia zakończenia ćwiczenia zostają automatycznie zaliczone na maksymalną ocenę punktową.


Oddawanie programów w systemie Moodle

Dla celów oddawania zadań ten kurs jest zarejestrowany na serwerze:
http://eportal.pwr.wroc.pl/
Należy zapisać się na ten kurs (hasło dostępne u prowadzącego), i oddawać zadania zgodnie z zamieszczonymi tam instrukcjami, ale zgodnie z terminami oddawania zadań dla poszczególnych grup określonymi w sekcji Zadania. (Termin oddawania zadania określony w Moodle służy tylko jako ostateczna blokada oddawania zadań daleko po terminie.)

W przypadku skryptów, proszę przysyłać same pliki tekstowe zawierający skrypty. Jeśli w zadaniu oczekiwany jest jeden skrypt, a napisanych zostało kilka skryptów, to można utworzyć plik tekstowy z wklejonymi po kolei skryptami, i oddać ten plik. Do zadania proszę dołączyć bardzo krótki raport o wykonaniu zadania. W najprostszym przypadku raport może zawierać formułkę typu: ,,Skrypt został napisany zgodnie z wymaganiami, został uruchomiony i przetestowany na systemie diablo.'' Raport może być przysłany w oddzielnym pliku, dołączony jako komentarz Moodle'a do zadania, lub nawet wklejony jako komentarz w nagłówku skryptu.

W przypadku zadań na programowanie w C, należy oddać (1) raport przygotowany jako plik tekstowy zgodnie z punktem Raport, oraz (2) komplet programów źródłowych, i plików dodatkowych, jeśli są potrzebne (np. Makefile). Wszystkie pliki proszę przysyłać w wersji źródłowej.


Zadania na pracownię

nrtematopismateriały
1 Zapoznanie się z laboratorium i systemem opis część 1 opis podstawowe polecenia Emacsa
opis część 2
2 Skrypty interpretera poleceń opis zadanie opis podstawy Bourne shella i basha - tutorial
opis zbiór linków do materiałów nt. Bourne shella i basha
3 Skrypty interpretera poleceń (cd.) - wyrażenia regularne opis zadanie
4 Współbieżność i komunikacja międzyprocesowa opis zadanie
5 Współbieżność i komunikacja międzyprocesowa (cd.) opis zadanie


Wykładowca | Wykłady | Literatura | Zaliczenie | Kolokwium | Wnukówki | Wyniki | Laboratorium | Moodle | Zadania
Licznik odwiedzin strony od 1 października 2002: licznik
Aktualizacja: Wednesday, 25-Jan-2017 10:43:52 CET   Valid XHTML 1.0 Transitional! Valid CSS!