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. Начин на полагање на испитот |
Два парцијални испити во текот на семестарот во времетраење од по 120 минути или еден писмен испит во соодветна испитна сесија во времетраење од 120 минути и изработка на практична проектна задача. Во конечната оценка влагуваат поените од испитите, поените од проектната задача, поените од домашните задачи и поените од лабораториските вежби. За време на испитот не е дозволено користење книги, скрипти, ракописи или белешки од кој било вид, како и калкулатор, мобилен телефон, таблет или кој било друг електронски уред |
|||||||
21. Јазик на кој се изведува наставата |
Македонски и Англиски | |||||||
22. Метод на следење на квалитетот на наставата |
Интерна евалуација и анкети | |||||||
23. Литература |
||||||||
23.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 | ||||
23.2. Дополнителна литература |
||||||||
Бр. |
Автор |
Наслов |
Издавач |
Година |
||||
1 |
N. Yocom, J. Turner, K. Davis | The Definitive Guide to Linux Network Programming | Apress | 2004 |