Basically, the course is made of 3 main parts. In each part particular subjects will be taught.

Part I:

Protocols and APIs for Network Programming:

Transport layer

  • Brief review of UDP & TCP
  • Socket programming

HTTP protocol variants

  • HTTP /1.X
  • HTTP /2.0
  • HTTPS, SSL

Real-time data streaming methods

  • XMLHttpRequest (XHR)
  • Server Sent Events (SSE)
  • WebSocket

Multimedia streaming (protocols and APIs)

  • SIP & Skype
  • WebRTC

Part II

Data Center Networking:

Topologies Congestion control Load balancing Storage

Part III

Software-Defined Networking: A Primer:

SDN OpenFlow


Refrense books:

part I:

  • “TCP/IP sockets in C: practical guide for programmers” by Michael J Donahoo, Kenneth L Calvert, 2009, Morgan Kaufmann.
  • “High Performance Browser Networking” by Ilya Grigorik. Publisher: O’Reilly Media, Inc. Release Date: September 2013. ISBN: 9781449344757
  • “Computer Networking: A Top-Down Approach” (6th Ed.) by James F. Kurose, Keith W. Ross

part II:

  • Key Papers, Surveys and Tutorials on Data Center Networking

part III:

  • Key Papers, Surveys and Tutorials on Software-Defined Networking

Grading Scheme:

  • Assignments : 10%
  • Mid-Term Exam : 30%
  • Final Exam : 30%
  • Project : 20%
  • Quizes : 10%