Monday, April 18, 2016

Network Programming Course outline - University of Sargodha

At the end of this course, students would be able to identify and describe the purpose of each
component of the TCP/IP protocol suite. Develop large and complex client-server applications
using TCP/IP. Understand the impact of multiple threads or processes for an application.
Understand the approaches toward building a robust server. This course is about implementation
of TCP/IP networking concepts, Socket programming in Linux and Windows environment,
developing client/server applications using C language, advanced networking software concepts,
Handling multiple processes and threads, sharing data or passing information between processes
or threads (IPC).
Introduction and TCP/IP. Transport Layer details: Sockets Introduction and Elementary TCP
Sockets. I/O Multiplexing: Socket Options. Elementary UDP Sockets.Elementary Name and
Address Conversions.IPv4 and IPv6 Interoperability. Daemon Processes and advanced I/O
functions. Non-blocking I/O and ioctl operations. Routing Sockets, Broadcasting, Multicasting.
Threads and Raw Sockets. Datalink Access & Streams.
1.      Introduction and TCP/IP: A Simple Daytime Client, Protocol Independence, Roadmap to
Client/Server, BSD Networking, Unix standard, 64-bit Architectures. [Ch. 1]
2.       Transport Layer details: UDP, TCP, SCTP, connections, port numbers, buffers etc [Ch. 2]
3.      Sockets Introduction and Elementary TCP Sockets : Socket Address Structure,
Arguments and Functions, TCP/IP client server Application [Ch. 3]
4.      I/O Multiplexing: The SELECT and POLL function with all aspects. [Ch. 6]
5.      Socket Options: getsockopt and setsockopt functions, default, socket states, generic,
IPv4, IPv6, ICMPv6 socket options etc. [Ch. 7]
6.      Elementary UDP Sockets: sendto and recvfrom functions, UDP echo server and client,
summary of UDP. [Ch. 8]
7.      Elementary Name and Address Conversions. [Ch. 9]
8.      IPv4 and IPv6 Interoperability. [Ch. 10]
9.      Daemon Processes and advanced I/O functions. [Ch. 12, 13]
10. Non-blocking I/O and ioctl operations. [Ch. 15,16]
11. Routing Sockets, Broadcasting, Multicasting. [Ch. 17,18, 19
12.  Threads and Raw Sockets [Ch. 23, 25]
13. Datalink Access & Streams [Ch. 26, 33]
• UNIX Network Programming Volume I by Richard Steven, Prentice Hall; 2nd Edition
(September 4, 1998).ISBN-10: 0130810819

Reference Material:
         Windows System Programming by Johnson M. Hart, Addison-Wesley Professional; 4th
Edition (February 26, 2010). ISBN-10: 0321657748
         The Linux Programming Interface: A Linux and UNIX System Programming Handbook
by Michael Kerrisk, No Starch Press; 1st Edition (October 28, 2010). ISBN-10:
1593272200
rd
         Linux Kernel Development by Robert Love, Addison-Wesley Professional; 3 Edition
(July 2, 2010). ISBN-10: 0672329468
         System Software: An Introduction to Systems Programming by Leland L. Beck, Addison
Wesley, (3rd Edition) (1996). ASIN: B0084YEEWO


Note: This content is obtained from official documents of University of Sargodha and applied on BS Computer Science for Main Campus, Sub Campuses, and Affiliated Colleges.

0 comments:

Post a Comment