Professional Documents
Culture Documents
BIT 4206 Network Programming - Course Outline
BIT 4206 Network Programming - Course Outline
Pre-requisite BIT 3102 Network Management BIT 3201 Object Oriented Programming
Objectives By the end of the course unit a learner shall be able to: Have knowledge about UNIX technologies (IPC, POSIX threads, Unix file system). Be able to develop client-server network applications on the Internet, based on UNIX/Linux
Course Content 1. Introduction Unix Technologies 2. 3. Primary Objectives of OS What is Unix ? Unix Architecture The Kernel The Shell
Unix System calls System Call Interface Library calls and system calls Categories of System Calls in Unix
Process and Inter-process Communication What is process? The Process Model Process operations (System Calls) Inter-Process Communication o o o o o o o Shared Memory Message Passing IPC .
Process Synchronization Race Conditions Critical section problem Mutual Exclusion Conditions Semaphores Monitors
4.
Posix Threads Programming Pthreads Overview Pthreads Designing Threaded The Pthreads API Thread Management o o Creating and Terminating Thread Routines
Passing Arguments to Threads Joining and Detaching Threads Example: Pthread program Thread Synchronization o o o o Semaphore Mutex variables, Condition variable Locking
5.
Unix file system Basic I/O General Unix File System Structure, Standard File system calls
6.
Socket programming Introduction to sockets Types of sockets Socket programming model Socket I/O: socket, bind, listen, accept, connect, send, recv, Socket Utilities: byte-ordering, network address, Issue: Blocking-Non blocking, Socket Client sample and Server sample programs.
. Assessments 1. Continuous Assessment Tests (CATs)- (30%) 2. End of semester examination - (70%) References: 1. 2. 3. W. Richard Stevens , 2004, UNIX Network Programming Douglas Comer, 1999, Internetworking with TCP/IP: Design, implementation, and internals Stevens , 2011, Advanced Programming in the UNIX Environment