Cinsdikici's Diary

Assoc.Prof.Dr. Muhammed Cinsdikici

CSE3233-Network Programming

Posted by cinsdikici on February 11, 2019

Course Unit Title Network Programming
Course Unit Code CSE3233
Course Time: Monday [09:55-12:30], Monday [16:00-19:00]
Course Room: C208
Level of Course Unit BSc
Course Platforms CengNetPrg Group // NetPrgClass @Google Classroom
Theoretical 3
Semester Spring
Name of Lecturer(s) Asst. Prof. Dr.Muhammed Cinsdikici
Mode of Delivery Face-To-Face
Language Turkish
Assistant Office phone:
Objectives of the Course Objectives of this course includes providing students with the understanding of current trends in communication protocols and providing them information about socket programming, inter-process communications and network research.
Textbook 1. InterProcess Communications in LINUX, John Shapley Gray, Prentice Hall, ISBN-13: 978-0130460424, 2003

2. C# Network Programming, Richard Blum, Sybex, ISBN: 978-0-7821-4176-4, 2002

3. Java Network Programming, Merlin & Conrad Hughes et.all, Manning, ISBN-13: 978-0138412067, 1997

Learning Outcomes
  1. Ability to understand OSI layers and protocols.
  2.  Ability to develop applications using TCP / ODP protocols
  3. Ability to develop multithreaded applications, ensure synchronization in shared memory environments.
  4. Ability to design complex network applications and present it.
Course Contents Linux Processes and Environment, Primitive Communications, Pipes, Process Message Queues, Semaphores, Shared Memory, Remote Procedure Call, Network Layer Programming [Sockets, TCP/UDP Programming], Application Programming Samples [ICMP, SNMP, SMTP, HTTP]
Grading & Projects %30 HomeWorks + %20 MidTerm + %20 Final Exam + %30 Final Project Late submission of the homeworks and projects are not going to be accepted. The assessment principals are;


On time submission are scored as max.100/100

One week late submissions are scored as max. 80/100

Two weeks late submissions are scored as max. 60/100

Others are scored as 0.

Weekly Detailed Course Contents
  Theoretical Slides Laboratory Suplementary Materials
1 Introduction Introduction YoLinux Fork / Exec Page
2 Processing Environments Processing Env Research Assignment
3 Process Life Cycle Process Life Cycle Process Creation Lab on Linux OS  ProcessesShells / SignalsProcesses and Threads
4 Primitive Communications Primitive Communications Java Thread Library Coding
5 Pipes Pipes – Sample Chapter Semaphore implementationCode assignment aboutJava threads
6 Message Queues  Research for Queue Systems Customer Queueing SystemSimulating QueueSabarimala Virtual Queue System 🙂
7   Midterm    
8 Semaphores Semaphore Deadlock avoidance implementation OS DeadlockBankers AlgorithmDeadlock in traffic
9 Shared Memory Memory Management LitterateurResearch  How CPU Works?Fetch/Decode/ExecutePage Tables
10 Remote Procedure Call / Remote Method Invocation Book Reading LRU Approaximation: Second Chance (!)Clock & Second Chance Algorithm s Presentation
11 Sockets  Research on Disk Drives
12 TCP Programming  Linux/Win8 File Management System Information
13 UDP Programming  FAT32/NTFS Info  UDP Protocol Details
14 Case Studies
15   Final Exam    


Recommended or Required Reading     2. Silberschatz Galwin, Operating System Concepts with JAVA, Wiley, 20041. Andrew S. Tanenbaum, Albert S.Woodhull, The Minix book: Operating Systems – Design and Implementation- (3.rd Edition),Prentice Hall, 20062. Silberschatz Galwin, Operating System Concepts with JAVA, Wiley, 2004

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: