Nazwa przedmiotu:
UNIX
Koordynator przedmiotu:
mgr inż. Marcin Borkowski
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Wspólne
Kod przedmiotu:
Semestr nominalny:
6 / rok ak. 2011/2012
Liczba punktów ECTS:
3
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Podstawy Programowania Strukturalnego I semestr Programowanie Obiektowe III semestr
Limit liczby studentów:
Cel przedmiotu:
Poznanie zaawansowanych technik programowania wywołań funkcji systemowych w standardzie POSIX. Nabranie wprawy w programowaniu dla platformy UNIX/Linux. Poznanie problemów związanych z pisaniem przenośnego kodu oraz metod ich rozwiązywania.
Treści kształcenia:
Wykład: 1. Omówienie specyfiki programowania w systemie UNIX i programowania rozproszonego 2. Omówienie standardów POSIX i SYSTEM V 3. Omówienie standardów kodowania 4. Procesy i sygnały, sygnały czasu rzeczywistego, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych 5. Katalogi i pliki, blokowanie plików, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych 6. Kolejki FIFO i pipe, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych 7. mechanizmu IPC z SYSTEM V, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych 8. Asynchroniczny dostęp do plików, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych 9. Gniazda sieciowe (lokalne,tcp,udp,raw), omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych 10. Wątki posix'owe oraz posix'owe mechanizmy synchronizacji, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych   Laboratorium: Ćwiczenia sprawdzające wiedze z wykładu. Każdemu tematowi wykładowemu odpowiada jedno oceniane zadanie. Zadania polegają na samodzielnym rozwiązaniu zadania podanego przez prowadzącego. Ramy czasowe są ograniczone do 90 minut. Ostatnie zadanie ma postać projektu wykonywanego pod nadzorem prowadzącego bez limitów czasowych.  
Metody oceny:
Ocena z laboratorium jest oceną z całego przedmiotu. Kryteria oceny laboratorium: • Do wykonania jest 8 zadań po 8 punktów (tematy tak jak w archiwum) co daje 64 oraz projekt za 44 punkty • Najgorszy wynik z laboratoriów jest odrzucany zatem suma do zdobycia wynosi 100 • Aby zaliczyć przedmiot należy zdobyć minimum 51 punktów w sumie i nie mniej niż 32 punkty z zadań  
Egzamin:
Literatura:
1. “UNIX. Programowanie usług sieciowych” - tom 1 i II Richard W. Stevens WNT 2. “Programowanie w środowisku systemu UNIX” W. Richard Stevens WNT 3. “Programowanie w systemie UNIX dla zaawansowanych” Marc J. Rochkind WNT  
Witryna www przedmiotu:
Uwagi:

Efekty uczenia się