Graduate Study - Faculty of Engineering and Natural Sciences
3+2 Information Technology Master

Code Name Level Year Semester
CEN 563 Network Programming Graduate 1 Spring
Status Number of ECTS Credits Class Hours Per Week Total Hours Per Semester Language
Area Elective 6 3 0 English

Instructor Assistant Coordinator
Abdülhamit Subaşı, Prof. Dr. Abdülhamit Subaşı, Prof. Dr.
[email protected] no email

The main goal of this course is to enable the students to develop the necessary skills for developing robust & scalable network applications and to build necessary basic knowledge for managing computer communication networks.

Objectives of this course are:

To learn the basics of socket programming using TCP Sockets.
To learn basics of UDP sockets.
To develop knowledge of threads for developing high performance scalable applications.
To learn about raw sockets.
To understand simple network management protocols & practical issues.

  1. Introduction to Network Programming
  2. Computer Communications and Networks
  3. Basic Web Concepts
  4. Streams
  5. Threads
  6. Looking Up Internet Addresses
  7. URLs and URIs
  8. Sockets for Clients and Servers
  9. Secure Sockets
  10. Non-Blocking I/O
  11. UDP Datagrams and Sockets
  12. Multicast Sockets
  13. URL Connections
  14. Protocol and Content Handlers, Servlets


    • Lectures
    • Presentation
    • Project
    Description (%)
    Method Quantity Percentage (%)
    Midterm Exam(s)120
    Final Exam140
    Total: 100
    Learning outcomes
    • Creatively apply contemporary theories, processes and tools in the development and evaluation of solutions to problems in network programming;
    • Evaluate basic theories, processes and outcomes of network programming;
    • Apply theory, techniques and relevant tools to the specification, analysis, design, implementation and testing of a simple network programs;
    • Knowledge and critical understanding of the well-established principles of network programming, and of the way in which those principles have developed as technology has progressed
    • Knowledge of all of the main methods relevant to the field of network programming, and ability to evaluatecritically the appropriateness of different approaches to solving problems in the field of study
    • 1. Elliotte Rusty Harold, Java Network Programming, 3rd Edition, O\\\\\\\\\\'Reilly, 2004

    ECTS (Allocated based on student) WORKLOAD
    Activities Quantity Duration (Hour) Total Work Load
    Lecture (14 weeks x Lecture hours per week) 0
    Laboratory / Practice (14 weeks x Laboratory/Practice hours per week) 0
    Midterm Examination (1 week)1 0
    Final Examination(1 week)1 0
    Preparation for Midterm Examination 0
    Preparation for Final Examination6 0
    Assignment / Homework/ Project 0
    Seminar / Presentation 0
    Total Workload: 0
    ECTS Credit (Total workload/25): 0