Cinsdikici's Diary

Prof.Dr. Muhammed Cinsdikici

CSE3233-Network Programming

Posted by cinsdikici on March 5, 2022

Course Unit Title: Network Programming

Course Unit Code: CSE3233

Course Time : Wednesday [13:30-15:30]/[19:15-21:00]

Course Room: C208

Level of Course: BSc

Course Platforms: CengNetPrg Group // NetPrgClass @Google Classroom

Theoretical: 3

Semester: Spring

Name of Lecturer: Asst. Prof. Dr.Muhammed Cinsdikici

Mode of Delivery: Face-To-Face

Language: Turkish

Assistant: Ahmet Cahit Yaşa

Prerequisities : Algorithms, C/C++ Coding, Data Structures

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.

Textbooks:

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:

%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.

WEEKNAMESUBJECTS 
 SlidesLaboratorySuplementary Materials
1IntroductionIntroduction YoLinux Fork / Exec Page
2Processing EnvironmentsProcessing EnvResearch Assignment 
3Process Life CycleProcess Life CycleProcess Creation Lab on Linux OS ProcessesShells / SignalsProcesses and Threads
4Primitive CommunicationsPrimitive CommunicationsJava Thread Library Coding 
5PipesPipes – Sample ChapterSemaphore implementationCode assignment aboutJava threads 
6Message Queues  Research for Queue SystemsCustomer Queueing SystemSimulating QueueSabarimala Virtual Queue System 🙂
7 Midterm   
8SemaphoresSemaphoreDeadlock avoidance implementationOS DeadlockBankers AlgorithmDeadlock in traffic
9Shared MemoryMemory ManagementLitterateurResearch How CPU Works?Fetch/Decode/ExecutePage Tables
10Remote Procedure Call / Remote Method Invocation Book ReadingLRU Approaximation: Second Chance (!)Clock & Second Chance Algorithm s Presentation
11Sockets  Research on Disk Drives 
12TCP Programming  Linux/Win8 File Management System Information 
13UDP Programming  FAT32/NTFS Info UDP Protocol Details
14Case Studies   
15 Final Exam   

Leave a comment