Computer Science and Engineering Department is renowned for cutting edge activities and for imparting state of the art education. The department has stated the art of infra structure and computing equipment’s. The CSE department has 4 computer labs with latest systems. We have program educational objectives for our students to place in various “concerns”. We surely assured that the student of our department gets more knowledge in various fields mainly in computer field because today this field attained the peak. This objectives describe the expected accomplishment of our graduates during the several years following graduation.

Our CSE department provides:

  • Good teaching faculties for student interaction in subject as well as other academic activities
  • Good teaching methodologies in theory as well as practical.
  • Good lab facilities with advanced processors and installed newly released versions of software.








  1. Min Heap
  2. Deaps
  3. Leftist Heap
  4. AVL Tree
  5. B-Tree
  6. Tries
  7. Quick Sort
  8. Convex hull
  9. 0/1 Knapsack using Dynamic Programming
  10. Graph coloring using backtracking


  1. Socket Programming
    1. TCP Sockets
    2. UDP Sockets
    3. Applications Using Sockets
  2. Simulation of Sliding Window Protocol
  3. Simulation of Routing Protocols
  4. Development of applications such as DNS/ HTTP/ E – mail/ Multi – user Chat
  5. Simulation of Network Management Protocols
  6. Study of Network Simulator Packages – such as opnet, ns2, etc.



PROGRAM 1 – Semaphores – Multiprocessor operating systems

Assume there are three processes: Pa, Pb, and Pc. Only Pa can output the letter A, Pb B, and Pc C. Utilizing only semaphores (and no other variables) the processes are synchronized so that the output satisfies the following conditions

  1. A B must be output before any C’s can be output
  2. B’s and C’s must alternate in the output string, that is, after the first B is output, another B cannot be output until a C is output. Similarly, once a C is output, another C cannot be output until a B is output
  3. he total number of B’s and C’s which have been output at any given point in the output string cannot exceed the number of A’s which have been output up to that point








invalid, violates a)

invalid, violates b)

invalid, violates c)




PROGRAM 2 – Multithreading – Multiprocessor operating systems

The Cigarette Smokers Problem

Consider a simulation with three smoker threads and one agent thread. Each smoker continuously makes a cigarette and smokes it. But to make a cigarette, a smoker needs three ingredients: tobacco, paper, and matches. One of the smoker threads has only paper, another has only tobacco, and the third has only matches. The agent thread has an infinite supply of all three materials. The three smoker threads are initially blocked. The agent places two randomly chosen (different) ingredients on the table and unblocks the one smoker who has the remaining ingredient. The agent then blocks. The unblocked smoker removes the two ingredients from the table, makes a cigarette, and smokes it for a random amount of time, unblocking the agent on completion of smoking the cigarette. The agent then puts out another random two of the three ingredients, and the cycle repeats

Write a multi-class multithreaded Java program that uses a monitor to synchronize the agent thread and the three smoker threads. Do not mechanically translate semaphore code into monitor code! The agent thread executes in an agent object created from an agent class. Each smoker thread executes in a smoker object. All smoker objects are created from one smoker class whose constructor is used to specify the ingredient possessed by the smoker object. A driver class with a main method constructs the objects and starts the threads.

Use a single monitor object instantiated from a class Control for synchronization. Each of the four threads invokes a synchronized monitor method for its synchronization. No semaphores are allowed. No synchronized blocks are allowed, only synchronized methods. No busy waiting is allowed. No calls to nap inside a synchronized method are allowed (do not nap while holding the monitor object’s lock, that is, while inside a synchronized method or while inside a method called by a synchronized method)

PROGRAM 3 – Multiple sleeping barbers – Multiprocessor operating systems

Write a multi-class multithreaded Java program that simulates multiple sleeping barbers, all in one barbershop that has a finite number of chairs in the waiting room. Each customer is instantiated from a single Customer class, each barber is instantiated from a single Barber class.

Network operating systems

PROGRAM 4 – Network operating systems

Establish a Lab setup for the following network operating systems based programs based on the skills in networking on your own. E.g. for identifying networking hardware, identifying different kinds of network cabling and network interface cards can be done.


  1. Identifying Local Area Network Hardware
  2. Exploring Local Area Network Configuration Options
  3. Verifying TCP/IP Settings
  4. Sharing Resources
  5. Testing LAN Connections

Real time operating systems

PROGRAM 5 – Real time operating systems

A real-time program implementing an alarm clock shall be developed. [Alarm clock, using C and Simple_OS]

The program shall fulfill the following requirements:

Clock with alarm functionality shall be implemented, It shall be possible to set the time, It shall be possible to set the alarm time, the alarm shall be enabled when the alarm time is set, the alarm shall be activated when the alarm is enabled, and when the current time is equal to the alarm time, an activated alarm must be acknowledged. Acknowledgement of an alarm shall lead to the alarm being disabled, the alarm is enabled again when a new alarm time is set, an alarm which is not acknowledged shall be repeated every 10 seconds. The program shall communicate with a graphical user interface, where the current time shall be displayed, and where the alarm time shall be displayed when the alarm is enabled. It shall be possible to terminate the program, using a command which is sent from the graphical user interface.

Database operating systems

PROGRAM 6 – Transactions and Concurrency -Database operating systems

Exercises Assume any application(e.g.banking) on your own and do the following exercises

  1. Investigate and implement the Object Store’s concurrency options.
  2. Implement the concurrency conflict that occurs between multiple client applications.
  3. Observe and implement the implication of nested transactions.

Distributed operating systems

PROGRAM 7 – Distributed operating systems

Design a RMI Lottery application. Each time you run the client program — “java LotteryClient n”, the server program “LotteryServer” will generate n set of Lottery numbers. Here n is a positive integer, representing the money you will spend on Lottery in sterling pounds. Write this program in a proper engineering manner, i.e. there should be specifications, design (flow chart, FD, or pseudo code), coding, test/debug, and documentation.

Consider a distributed system that consists of two processes which communicate with each other. Let P be a state predicate on the local state of one process and Q be a state predicate on the local state of the other process. Assume that neither P nor Q are stable (i.e. closed). Design a superimposed computation which detects that there exists an interleaving of underlying events in this system where at some state P ^Q holds. (A superposed computation is one that does not a_ect the underlying system; it may \read” but not \write” the state of the underlying system. Events in a superposed computation may occur in at the same instant as the underlying events and/or at di_erent instants.) State any assumptions you make. [Hint: Use vector clocks.]


  1. Creation of HTML pages with frames, links, tables and other tags
  2. Usage of internal and external CSS along with HTML pages
  3. Client side Programming
    1. Java script for displaying date and comparing two dates
    2. Form Validation including text field, radio buttons, check boxes, list box and other controls
  4. Usage of ASP/JSP objects response, Request, Application, Session, Server, ADO etc
    1. Writing online applications such as shopping, railway/air/bus ticket reservation system with set of ASP/JSP pages
    2. Using sessions and cookies as part of the web application
  5. Writing Servlet Program using HTTP Servlet
  6. Any online application with database access
  7. Creation of XML document for a specific domain
  8. Writing DTD or XML schema for the domain specific XML document
  9. Parsing an XML document using DOM and SAX Parsers
  10. Sample web application development in the open source environment