Course: Development of Network Applications

« Back
Course title Development of Network Applications
Course code AUIUI/AE5VS
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Winter and summer
Number of ECTS credits 5
Language of instruction Czech, English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Dulík Tomáš, Ing. Ph.D.
Course content
1. Implementation of network communication on individual ISO / OSI layers - overview of available libraries. 2. MAC layer level communication in 802 networks. *: Methods of implementation. 3. Implementation and use of service protocols (DHCP, ARP, ICMP, etc.). 4. TCP / IP communication: socket, input / output streams and their treatment. Implementation using blocking and non-blocking operations. 5. Server-side sockets. Implementation using blocking and non-blocking operations. 6. UDP / IP communication: datagrams on the server and client side. 7. Communication using broadcast and multicast messages. 8. Real-time protocols for voice and video transmission. 9. Examples of protocol implementation at the application layer. 10. Communication security: implementation of data encryption, secure authentication. 11. Implement protection against common types of server-side attacks. 12. Performance optimization at the level of HW, operating system and application. Load balancing. 13. Implementation of high availability of network applications. 14. Clusters, grids and clouds as runtime environments of network applications.

Learning activities and teaching methods
Lecturing, Exercises on PC, Individual work of students
  • Home preparation for classes - 30 hours per semester
  • Participation in classes - 56 hours per semester
  • Term paper - 12 hours per semester
  • Preparation for examination - 14 hours per semester
prerequisite
Knowledge
Before entering this course, students must succesfuly complete the following courses: Computer networks, Programming in C/C++, Object oriented programming and design patterns.
Before entering this course, students must succesfuly complete the following courses: Computer networks, Programming in C/C++, Object oriented programming and design patterns.
learning outcomes
The student will gain knowledge of programming network applications communicating via IP in both client and server roles.
The student will gain knowledge of programming network applications communicating via IP in both client and server roles.
teaching methods
Individual work of students
Exercises on PC
Lecturing
Individual work of students
Exercises on PC
Lecturing
assessment methods
Analysis of seminar paper
Analysis of seminar paper
Grade (Using a grade system)
Grade (Using a grade system)
Recommended literature
  • HALL, B. Beej's Guide to Network Programming: Using Internet Sockets. 2019. ISBN 978-1-70530-990-2.
  • KOPPARAPU, C. Load balancing servers, firewalls, and caches.. New York, 2002. ISBN 978-0-471-41550-3.
  • MARCUS, E., STERN, H. Blueprints for high availability. Indianapolis, 2003. ISBN 978-0-471-43026-1.
  • STEVENS, W., FENNER, B. a RUDOFF, A. M. UNIX network programming. Boston, 2004. ISBN 0131411551.
  • WETHERALL, D., Tanenbaum, A. S. Computer networks. Upper Saddle River, NJ, 2011. ISBN 0-13-212695-8.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester