Network Programming
Course Code : PCS203 CIE Marks 50
Teaching Hours/Week 3:0:0 SEE Marks 50
(L:P:SDA)
Total Hours of Pedagogy 40 Total Marks 100
Credits 03 Exam Hours 03
Course Learning Objectives:
Define the key protocols which support the Internet
Explore working of the TCP/UDP Sockets
Demonstrate applications using techniques such as multiplexing, forking, multithreading
Illustrate working of Daemon Processes
Module-1
Introduction to network application, client/server communication, OSI Model, BSD Networking history, Test
Networks and Hosts, Unix Standards, 64-bit architectures, Transport Layer: TCP, UDP and SCTP
Teaching
Learning Chalk and talk/PPT/web content
Process
Module-2
Sockets Introduction – socket address structures, value-result arguments, byte ordering and manipulation functions,
address conversion functions, Elementary TCP Sockets – socket, connect, bind, listen, accept , fork and concurrent
server design, getcsockname and getpeername functions and TCP Client/Server Example.
Teaching-
Learning Chalk and talk/PPT/case study/web content
Process
Module-3
I/O Multiplexing and Socket Options – I/O Modules, select function, str_cli function, batch input and buffering,
shutdown function, TCP Echo Server, pselect function, poll function.
Teaching Chalk and talk/PPT/case study/web content
Learning
Process
Module-4
Advanced I/O functions – Socket timeouts, recv and send functions, readv, writev, sendmsg and recvmsg. Unix
domain protocols - socket address structure, socketpair functions, socket functions Unix domain stream
client/server , Unix domain Datagram client/server .
Teaching Chalk and talk/PPT/case study/web content
Learning
Process
Module-5
Client/Server Design Alternatives – TCP Client Alternatives, TCP Test Client, TCP Iterative server, TCP
Concurrent server, TCP preforked server, no locking around accept, TCP preforked server, file locking around
accept, TCP preforked server, thread locking around accept, TCP preforked server, descriptor passing, TCP
concurrent server, one thread per client. Case study on message passing,shared memory,remote procedure calls
Teaching Chalk and talk/PPT/case study/web content
Learning
Process
Assessment Details(both CIE and SEE)
The weightage of Continuous Internal Evaluation (CIE) is 50% and for Semester End Exam (SEE) is 50%.
The minimum passing mark for the CIE is 50% of the maximum marks. Minimum passing marks in SEE is
40% of the maximum marks of SEE. A student shall be deemed to have satisfied the academic requirements
and earned the credits allotted to each subject/ course if the student secures not less than 50% (50 marks out of
100) in the sum total of the CIE (Continuous Internal Evaluation) and SEE (Semester End Examination) taken
together.
Continuous Internal Evaluation:
1. Two Unit Tests each of 25 Marks
2. Two assignments each of 25 Marks or one Skill Development Activity of 50 marks to attain the COs and
Pos The sum of two tests, two assignments/skill Development Activities, will be scaled down to 50 marks CIE
methods /question paper is designed to attain the different levels of Bloom’s taxonomy as per the outcome
defined for the course.
Semester End Examination:
1. The SEE question paper will be set for 100 marks and the marks scored will be proportionately reduced
to 50.
2. The question paper will have ten full questions carrying equal marks.
3. Each full question is for 20 marks. There will be two full questions (with a maximum of four sub-
questions) from each module.
4. Each full question will have a sub-question covering all the topics under a module.
5. The students will have to answer five full questions, selecting one full question from each module
Suggested Learning Resources:
Text Books:
1. UNIX Network Programming W. Richard Stevens, Bill Fenner, Andrew M. Rudoff Pearson Volume
1, Third Edition, 2004 ·.
2. [Link].2002, ISBN-13 of 9788131505212 .
3. T.H Cormen,C E Leiserson,R L Rivest and C [Link],3rdEdition,2010,
9780262270830.
Reference Books:
1. Network Programming in C Barry Nance PHI 2002
2. Windows Socket Network Programming Bob Quinn, Dave Shute Pearson 2003
3. UNIX Network Programming Richard Stevens Second Edition.
Web links and Video Lectures (e-Resources):
[Link]
Teaching-Learning Process(Innovative Delivery Methods):
The following are sample strategies that educators may adopt to enhance the effectiveness of the teaching-learning
process and facilitate the achievement of course outcomes.
1. PPT presentation
2. Chalk and talk
3. Explain the concept with a clear demonstration.
4. experience learning
5. Case-Based Teaching
6. Flipped Classroom
Skill Development Activities Suggested
●
The students with the help of the course teacher can take up relevant technical activities
which will enhance their skill. The prepared report shall be evaluated for CIE marks.
Assessment Structure:
Weightage CIE SEE
Quizzes [Q] 50% 50%
Quiz – I & II Each QUIZ will be conducted for 10 Marks *****
adding up to 20 MARKS.
(AAT)
Theory Course [T] (Bloom’s Taxonomy Levels: Remembering, Understanding, Applying, Analyzing,
Evaluating, and Creating)
Test – I Each test will be conducted for 50 marks, *****
adding up to 100 marks. Final test marks will
Test – II *****
be reduced to 50 marks.
Experiential Learning [EL] Maximum Marks: 30 *****
Case Study-based Teaching– 10
Learning/Activity based learning
Program Specific Requirement for 10 *****
EL Assessment
Video/PPT based seminar (4–5 10
minutes per student)
Maximum Marks for Theory (Q + T 100 100
+ EL)
Total Marks for the Course 100 – Scale down to 50 100 Scale down to
50
Course outcome (Course Skill Set)At the end of the course the student will be able to:
CO’s. Description
CO1 Explain the architecture of network applications, OSI model, and transport layer protocols (TCP,
UDP, SCTP).
CO2 Develop TCP/UDP socket programs and design concurrent server applications.
CO3 Implement I/O multiplexing using select(), poll(), and configure socket options.
CO4 Apply advanced I/O functions and UNIX domain protocols for efficient interprocess
communication.
CO5 Design and evaluate different client/server models and IPC mechanisms like message passing,
shared memory, and RPC.
PO’s Description
PO1 Demonstrate the ability to independently conduct research and development work to address
practical engineering problems.
PO2 Develop and deliver comprehensive technical presentations that effectively convey complex
information to diverse audiences.
PO3 Exhibit mastery in the specialized study area, surpassing the requirements of a relevant bachelor's
program.
PO4 Analyze engineering problems critically and apply appropriate techniques, skills, and modern
tools to develop innovative solutions.
PO5 Collaborate effectively in teams while also functioning independently, recognizing opportunities
for career advancement and research.
PO6 Cultivate a proactive approach to continuous learning and professional development in response to
evolving technological landscapes.
COPO Mapping:
PO1 PO2 PO3 PO4 PO5 PO6
CO1 3 2 2 2 1 2
CO2 3 2 3 3 2 2
CO3 3 2 3 3 2 2
CO4 3 2 3 3 2 2
CO5 3 3 3 3 3 2
CO-PO Score Justification
Mapping
CO1-PO1 3 CO1 requires understanding and analysis of various networking architectures and
protocols. This develops research and analytical ability to address practical
engineering problems related to communication models.
CO1-PO2 2 Explaining OSI layers and network models enhances students’ ability to present
complex network concepts effectively using technical presentations or reports.
CO1-PO3 2 Deep understanding of protocol stack and layered architecture represents mastery
of specialized topics in networking beyond undergraduate level.
CO1-PO4 2 Students critically analyze protocol functionalities (e.g., TCP vs. UDP) and apply
this knowledge to solve real-world communication issues.
CO1-PO5 1 Group discussions and presentations on protocol design promote teamwork and
sharing of domain-specific insights.
CO1-PO6 2 Understanding evolving standards (e.g., IPv6, SCTP) fosters continuous learning
and adaptation to modern networking technologies.
CO2-PO1 3 Involves developing and debugging socket programs — a core practical
engineering skill that strengthens problem-solving and implementation capability.
CO2-PO2 2 Documenting and explaining code logic and concurrent design through
demonstrations improve communication and technical presentation skills.
CO2-PO3 3 Applying socket APIs and server design models shows mastery of specialized
networking programming concepts.
CO2-PO4 3 Analyzing design alternatives (iterative vs. concurrent server) encourages critical
evaluation and application of appropriate solutions.
CO2-PO5 2 Collaborative programming and lab exercises nurture teamwork and independent
problem-solving in group environments.
CO2-PO6 2 Exposure to evolving network APIs and architectures motivates lifelong technical
learning and exploration of modern frameworks.
CO3-PO1 3 Implementing multiplexing solutions develops advanced system-level problem-
solving skills relevant to real-time applications.
CO3-PO2 2 Communicating configuration steps and algorithmic flow (through code
walkthroughs or documentation) enhances students’ presentation skills.
CO3-PO3 3 Demonstrates advanced expertise in OS-level I/O control and resource
management beyond general network programming concepts.
CO3-PO4 3 Encourages critical thinking by selecting efficient I/O strategies for different
network scenarios and performance requirements.
CO3-PO5 2 Students often collaborate during lab tasks on client-server performance testing —
enhancing team coordination.
CO3-PO6 2 Learning new socket options and modern multiplexing techniques like epoll
(Linux) encourages professional development.
CO4-PO1 3 Students apply theoretical concepts to implement practical UNIX IPC
mechanisms such as pipes, sendmsg(), and recvmsg().
CO4-PO2 2 Documentation and demonstration of IPC program design strengthen the ability to
communicate complex technical processes clearly.
CO4-PO3 3 Using UNIX domain protocols signifies deep mastery of low-level OS and
networking concepts — key for specialization in system programming.
CO4-PO4 3 Students analyze efficiency trade-offs between various IPC techniques, reflecting
strong analytical and evaluative thinking.
CO4-PO5 2 Team-based mini-projects on IPC encourage collaboration and division of
responsibilities among team members.
CO4-PO6 2 Exposure to advanced and evolving IPC methods promotes continuous learning
and up skilling in system programming.
CO5-PO1 3 Designing and evaluating multiple client/server models develops strong
engineering problem-solving and system design capabilities.
CO5-PO2 3 Presenting comparative analyses of different IPC mechanisms improves
professional communication and report-writing proficiency.
CO5-PO3 3 Integrating shared memory, RPC, and message passing concepts reflects expert-
level understanding in computer networking and operating systems.
CO5-PO4 3 Involves critical evaluation and application of optimal server models for various
scenarios, nurturing analytical decision-making.
CO5-PO5 3 Group-based design, coding, and testing activities require collaborative effort and
effective teamwork management.
CO5-PO6 2 Awareness of distributed communication trends and new paradigms like gRPC or
REST encourages lifelong learning and skill upgrading.
Rubrics for Learning Activity:
Component Weighta Outstandin Exceeds Meets Needs Unsatisfacto
& CO–PO ge (%) g (5) Expectations Expectations Improvem ry (1)
Mapping (4) (3) ent (2)
Problem 20 Demonstrat Identifies Problem Problem Problem
Identification es clear problem identified loosely unclear or
and understandi effectively with limited related to irrelevant.
Relevance ng of the with good clarity or course
(CO2, CO3 → problem, understandin technical outcomes.
PO1, PO4) identifies g of justification.
relevant objectives.
network
concepts,
and defines
precise
objectives.
Technical 30 Implements Functional Basic Limited Implementa
Implementa complete implementa implementa execution tion missing
tion (CO2, and tion with tion with or or incorrect.
CO3, CO4 → functional minor logical partial incomplete
PO1, PO3, socket- or structural correctness. logic.
PO4) based issues.
program
using
advanced
techniques
(TCP/UDP,
concurrency
, I/O
multiplexing
).
Analysis and 20 Demonstrat Provides Basic result Poor No analysis
Interpretatio es accurate reasonable interpretatio analysis or or results
n of Results analysis, analysis with n with missing interpretatio
(CO3, CO4 → performanc limited minimal data
PO1, PO4) e testing, depth. evidence. support. n.
and
discussion
of results
with
technical
insight.
Report and 15 Professional Clear and Satisfactory Report Incomplete
Documentati ly presented complete report with lacks or no
on (CO2, CO5 report with report with limited organizatio documentati
→ PO2, PO6) detailed minor gaps. technical n and on
explanation, explanation. technical submitted.
code content.
snippets,
results, and
reflection.
Presentation 15 Communica Good Moderate Limited Unable to
/ Viva (CO5 tes communicati understandin explanatio explain or
→ PO2, PO5) concepts on with g with some n and demonstrate
effectively, understandin hesitation. technical understandin
answers all g of key clarity. g.
queries concepts.
confidently
with
technical
clarity.
Rubrics for CIE – Continuous Assessment:
CIE Weight Mapp Mapp Outstandi Exceeds Meets Needs Unsatisfac
Compone age (%) ed ed ng (5) Expectatio Expectati Improve tory (1)
nt COs POs ns (4) ons (3) ment (2)
Test – I / 40 CO1, PO1, Demonstr Demonstra Basic Partial Lacks
II CO2 PO3, ates tes good understan knowledg conceptua
(Theory) PO4 excellent understan ding with e with l
conceptu ding and limited incomple understan
al clarity analytical analytical te ding.
and ability with
problem- minor ability. answers.
solving errors.
using
networki
ng
models,
socket
program
ming, and
concurre
ncy.
Assignme 30 CO2, PO1, Impleme Demonstra Meets Partial No proper
nts / Skill CO3, PO4, nts tes correct basic completi submissio
Develop CO4 PO6 innovativ implement requirem on or n or
ment e solution ation with ents with insufficie irrelevant
Activity applying minor limited nt work.
socket issues. technical technical
program depth. justificati
ming on.
concepts
with
detailed
report
and
reflection
.
Quizzes 20 CO1, PO1, Demonstr Good recall Basic Limited No
(Q1 & CO2 PO2 ates full and recall of recall of attempt or
Q2) mastery understan key concepts. poor
of ding with definition performan
concepts minor s and ce.
across gaps. functions.
OSI
model,
TCP/UDP
protocols,
and
socket
APIs.
Experien 10 CO3, PO1, Demonstr Applies Basic Minimal No
tial CO4, PO2, ates concepts attempt engagem participati
Learning CO5 PO5, creativity effectively with ent or on or
(EL) PO6 and with correct incomple irrelevant
problem- limited direction. te activity.
solving innovation. activity.
through
applied
case
study or
activity-
based
learning.