Study

Computing

Network Programming

  • Class 30
  • Practice 15
  • Independent work 105
Total 150

Course title

Network Programming

Lecture type

Elective

Course code

183394

Semester

6

ECTS

5

Lecturers and associates

Course objectives

Port and socket; Socket application programming interface (API); Name and address.
Port and socket; Socket application programming interface (API); Name and address.
User Datagram Protocol (UDP) server and client; Command line arguments parsing; Program testing; Application protocols based on UDP.
Transmission Control Protocol (TCP) server and client; Concurrency; Application protocols based on TCP; Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP); Simple HTTP server.
Socket options; Raw socket.
Socket options; Raw socket.
Daemons and super-server "inetd".
Midterm exam.
I/O multiplexing; Threading.
Broadcast and multicast addressing and applications.
User Datagram Protocol (UDP) server and client; Command line arguments parsing; Program testing; Application protocols based on UDP.
Transmission Control Protocol (TCP) server and client; Concurrency; Application protocols based on TCP; Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP); Simple HTTP server.
Application protocols based on Stream Control Transmission Protocol (SCTP); Security issues and programming guidelines.
Case studies focused on Java network programming and network programming in Python.
Final exam.

Required reading

(.), Unix Network Programming, Vol. 1: The Sockets Networking API; W. Richard Stevens, Bill Fenner, Andrew M. Rudoff Addison; Addison-Wesley Professional; 2003; ISBN: 978-0131411555,
(.), TCP/IP Illustrated: The Implementation, Vol. 2; Gary R. Wright, W. Richard Stevens; Addison-Wesley Professional; 1995; ISBN: 078-5342633542

Minimal learning outcomes

  • Define types socket interfaces and specify their properties
  • Distinguish between connection and connectionless oriented applications
  • Distinguish the design process of iterative and concurrent servers
  • Write simple UDP network applications using C in Unix environments
  • Analyze simple network applications and debug errors in own applications
  • Use the basic tools for design and testing of network programs in Unix environment
SHARE : Facebook Twitter