Мрежно програмирање
1. Наслов на наставниот предмет |
Мрежно програмирање |
|||||||
2. Код |
3ФЕИТ12З011 |
|||||||
3. Студиска програма |
КТИ, ТКИИ |
|||||||
4. Организатор на студиската програма |
Факултет за електротехника и информациски технологии |
|||||||
5. Степен |
Прв циклус студии |
|||||||
6. Академска година/семестар |
III/5, IV/7 |
7. Број на ЕКТС |
6.00 |
|||||
8. Наставник |
Д-р Марија Календар, Д-р Марко Порјазоски, Д-р Перо Латкоски |
|||||||
9. Предуслов за запишување на предметот |
Ислушани: Податочни структури и анализа на алгоритми |
|||||||
10. Цели на предметната програма (компетенции): Запознавање со мрежните и комуникациските протоколи. Работа со програмирање на TCP и UDP. По завршување студентот ќе има основно познавање од комуникациските протоколи и работа со истите во Python |
||||||||
11. Содржина на програмата: Вовед во комуникацики мрежи. Архитектура на Интернет мрежата. TCP/IP протоколен стек. Вовед во мрежно програмирање во Python. Вовед во концепти на сокети. Типови на сокети. Блок дијаграм на повици на TCP и UDP сокети. Модул за сокети во Python. Клиент/сервер програмирање. TCP i UDP клиент и сервер. Користење на DNS системот во мрежно програмирање. Мултиплексирање на сокетски I/O. Рутини за обработка на настани. Twisted framework за Python. Работа со мрежни интерфејси. IPv4. IPv6. Соработка IPv4 со IPv6. Користење на библиотеки на апликациско ниво за работа со Web, e-mail, ftp. Работа со HTTP протокол: httplib() и urllib(). Работа со e-mail протоколи и FTP. Користење ftplib(); Работа со SMTP, POP и IMAP протоколи. Користење smtplib, Poplib. IMAPClient. Програмирање со CGI и CGI апликаци. Безбедносни проблеми со CGI апликации. Користење на API од web страна. Земање податоци од екран (screen scraping) наспроти понудено API; Безбедност и мрежно програмирање. Безбедност со SSL и TLS; Работа со сопствени сертификати и OpenSSL. Мониторирање на мрежа и сигурност. Недефинирани (raw) сокети и прислушкување пакети од мрежа. |
||||||||
12. Методи на учење: Предавања, аудиториски и лабораториски вежби |
||||||||
13. Вкупен расположив фонд на часови |
2 + 2 + 1 + 0 |
|||||||
14. Распределба на расположивото време |
180 |
|||||||
15. Форми на наставните активности |
15.1. Предавања – теоретска настава |
30 |
||||||
15.2. Вежби, семинари, тимска работа |
45 |
|||||||
16. Други форми на активност |
16.1. Проектни задачи |
25 |
||||||
16.2. Самостојни задачи |
20 |
|||||||
16.3. Домашно учење |
60 |
|||||||
17. Начини на оценување |
17.1. Тестови |
10 |
||||||
17.2. Семинарска работа/проект |
10 |
|||||||
17.3. Активност и учење |
0 |
|||||||
17.4. Завршен испит |
80 |
|||||||
18. Критериуми за оценување |
до 50 бодови |
5 (пет) (F) |
||||||
од 51 до 60 бодови |
6 (шест) (E) |
|||||||
од 61 до 70 бодови |
7 (седум) (D) |
|||||||
од 71 до 80 бодови |
8 (осум) (C) |
|||||||
од 81 до 90 бодови |
9 (девет) (B) |
|||||||
од 91 до 100 бодови |
10 (десет) (A) |
|||||||
19. Услов за потпис и полагање на завршен испит |
Лабораториски вежби |
|||||||
20. Јазик на кој се изведува наставата |
Македонски и Англиски |
|||||||
21. Метод на следење на квалитетот на наставата |
Интерна евалуација и анкети |
|||||||
22. Литература |
||||||||
22.1. Задолжителна литература |
||||||||
Бр. |
Автор |
Наслов |
Издавач |
Година |
||||
1 |
R. Stevens, B. Fenner, A. Rudoff |
UNIX Network Programming, Volume 1, The Sockets Networking API, 3rd ed. |
Addison Wesley |
2004 |
||||
2 |
B. Rhodes, J. Goerzen |
Foundations of Python Network Programming, 3rd Еd. |
Apress |
2014 |
||||
3 |
Dr. M.O.F. Sarker, S. Washington |
Learning Python Network Programming |
Packt Publishing |
2015 |
||||
22.2. Дополнителна литература |
||||||||
Бр. |
Автор |
Наслов |
Издавач |
Година |
||||
1 |
N. Yocom, J. Turner, K. Davis |
The Definitive Guide to Linux Network Programming |
Apress |
2004 |