Мрежно програмирање
| 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 | ||||








