1. Наслов на наставниот предмет | Мрежно програмирање | |||||||
2. Код | 4ФЕИТ12З008 | |||||||
3. Студиска програма | ТКИИ,КТИ | |||||||
4. Организатор на студиската програма | Факултет за електротехника и информациски технологии | |||||||
5. Степен | Прв циклус студии | |||||||
6. Академска година / семестар | IV/7 | 7. Број на ЕКТС | 6 | |||||
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 | Brandon Rhodes, John Goerzen | Foundations of Python Network Programming | Apress | 2014 |