Name of course:
UNIX
Coordinator of course:
mgr inż. Marcin Borkowski
Type of course:
Compulsory
Level of education:
First cycle studies
Programme:
Informatyka
Group of courses:
Wspólne
Code of course:
Nominal semester:
6 / AY 2009/2010
Number of ECTS credits:
3
Number of hours of student’s work to achieve learning outcomes:
Number of ECTS credits on the course with direct participation of academic teacher:
Language of course:
polish
Number of ECTS credits on practical activities on the course:
Form of didactic studies and number of hours per semester:
  • Lecture15h
  • Exercise type of course0h
  • Laboratory30h
  • Project type of course0h
  • Computer lessons0h
Preliminary requirements:
Podstawy Programowania Strukturalnego I semestr Programowanie Obiektowe III semestr
Limit of students:
Purpose of course:
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.
Contents of education:
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.  
Methods of evaluation:
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ń  
Exam:
Literature:
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  
Website of the course:
Notes:

Effects of education