CSE Labs

Computer Science & Engineering Labs

The Department of Computer Science and Engineering started functioning from the inception of the college in 1997.  It started with a strength of 60 students in the B.Tech Programme and enhanced to 120 in 2004. Subsequently IT with a strength of 60 students has been started  in 1999.  MCA course was added in the year 2002 with a strength of 60.  The Department has got more than 500 computer systems, spread over 9 laboratories to cater to the requirements of the students.

Following Labs of CSE

1. C Programmming Lab

2. Information Technology and Workshop Lab

3. Data Structures through C++ Lab

4. Object Oriented Programming Lab

5. Data Base Management Systems Lab

6. Computer Networks and Operating System Lab

7. Web Technologies and Compiler Design Lab

8. Embedded Systems and Data Mining Lab

9. Web Technologies Lab

10. Linux Programming and Data Mining Lab

11.Case Tools and Software Testing Lab

12.Mobile Application Development Lab





C Programming Lab


1.   Purpose / Objective

The objective of this lab is to introduce to the students the basics of a programming language. As computer programming is essential in most of the branches of Computer Science and Engineering, this lab provides and aims at building programming skills of the students through the medium of 'C' language and to bring out their logical thinking.

To write programs in C to solve the problems.

To implement linear data structures such as lists, stacks, queues.

To implement simple searching and sorting methods.

2. Lab Hardware & Software Details

60 Systems with Intel Pentium Processors. 

ANSI C Compiler with Supporting Editors.

3. List Of Experiments In C Programming Lab :

Week 1 :

a) Write a C program to find the sum of individual digits of a positive integer.

b)A Fibonacci sequence is defined as follows: the first and second terms in the sequence are 0 and 1. Subsequent terms are found byadding the preceding two terms in the sequence. Write a C program to generate the first n terms of the sequence.

c) Write a C program to generate all the prime numbers between 1 and n, where n is a value supplied by the user.

Week 2 :

a) Write a C program to calculate the following Sum:
Sum=1-x2/2! +x4/4!-x6/6!+x8/8!-x10/10!

b) Write a C program to find the roots of a quadratic equation.

Week 3 :

a) The total distance travelled by vehicle in ‘t’ seconds is given by distance = ut+1/2at2 where ‘u’ and ‘a’are theinitial velocity (m/sec.) and acceleration (m/sec2). Write C program to find the distance travelled at regular intervals of time given the values of ‘u’ and ‘a’. The program should provide the flexibility to the user to select his own timeintervals and repeat the calculations for different values of ‘u’ and ‘a’.

b) Write a C program, which takes two integer operands and one operator from the user, performs the operation and then prints the result. (Consider the operators +,-,*, /, % and use Switch Statement)

Week 4 :

a) Write C programs that use both recursive and non-recursive functions.

i) To find the factorial of a given integer.

ii) To find the GCD (greatest common divisor) of two given integers.

Week 5 :

a) Write a C program to find the largest integer in a list of integers.

b) Write a C program that uses functions to perform the following:

i) Addition of Two Matrices
ii) Multiplication of Two Matrices

Week 6 :

a) Write a C program that uses functions to perform the following operations:

i) To insert a sub-string in to a given main string from a given position.
ii) To delete n Characters from a given position in a given string.

b) Write a C program to determine if the given string is a palindrome or not

Week 7 :

a)Write a C program that displays the position or index in the string S where the string T begins, or –1 if S doesn’t contain T.

b)Write a C program to count the lines, words and characters in a given text.

Week 8 :

a)Write a C program to generate Pascal’s triangle.

b)Write a C program to construct a pyramid of numbers.

Week 9 :

Write a C program to read in two numbers, x and n, and then compute the sum of this geometric progression:1+x+x2+x3+.............+xn

For example: if n is 3 and x is 5, then the program computes 1+5+25+125. Print x, n, the sumPerform error checking. For example, the formula does not make sense for negative exponents–if n is less than 0.

Have your program print an error message if n<0, then go back and read in the next pair of numbers of without computing the sum. Are any values of x also illegal? If so, test for them too.

Week 10 :

a)2’s complement of a number is obtained by scanning it from right to left and complementing all the bits after the first appearance of a 1. Thus 2’s complement of 11100 is 00100. Write a C program to find the 2’s complement of a binary number.

b)Write a C program to convert a Roman numeral to its decimal equivalent.

Week 11 :

Write a C program that uses functions to perform the following operations:
i) Reading a complex number
ii) Writing a complex number
iii) Addition of two complex numbers
iv) Multiplication of two complex numbers
(Note: represent complex number using a structure.)

Week 12 :

a)Write a C program which copies one file to another.

b)Write a C program to reverse the first n characters in a file.(Note: The file name and n are specified on the command line.)

Week 13 :

a) Write a C program to display the contents of a file.

b) Write a C program to merge two files into a third file (i.e., the contents of the first file followed by those of the second are put in the third file)

Week 14 :

a) Write a C program that uses non recursive function to search for a Key value in a given list of integers using Linear search.

b) Write a C program that uses non recursive function to search for a Key value in a given sorted list of integers using Binary search.

Week 15 :

a) Write a C program that implements the Selection sort method to sort a given array of integersin ascending order.

b) Write a C program that implements the Bubble sort method to sort a given list of names in ascending order.

Week 16 :

Write a C program that uses functions to perform the following operations:
i) Create a singly linked list of integer elements.
ii) Traverse the above list and display the elements.

Week 17 :

Write a C program that implements stack (its operations) using a singly linked list to displaya given list of integers in reverse order. Ex. input: 10 23 4 6 output: 6 4 23 10

Week 18 :

Write a C program that implements Queue (its operations) using a singly linked list to displaya given list of integers in the same order. Ex. input: 10 23 4 6 output: 10 23 4 6

Week 19 :

Write a C program to implement the linear regression algorithm.

Week 20 :

Write a C program to implement the polynomial regression algorithm.

Week 21 :

Write a C program to implement the Lagrange interpolation.

Week 22 :

Write C program to implement the Newton-Gregory forward interpolation.

Week 23 :

Write a C program to implement Trapezoidal method.

Week 24 :

Write a C program to implement Simpson method.

Move To Top


Information Technology Workshop


1.   Purpose / Objective

The modules in IT workshop include training on PC Hardware, Internet and World Wide Web and use of MS-Word, Excel and Power point tools. This module of PC Hardware introduces students to computer basic peripherals, process of assembling of personal computer, installation of system software like MS-windows, Linux and required device drivers and in addition to roubleshooting process.

Productivity tool module enables the students in crafting professionals word documents, excel spreadsheets and PowerPoint presentation using the Microsoft office tools internet and worldwide web module includes connecting the pc to the internet from home and workplace and effectively usage of the internet.

2. Lab Hardware & Software Details

60 Systems with Intel Pentium Processors. 

MS-Office 2007.

3. List Of Experiments In Information Technology Workshop Lab :

Week 1 :

Task 1: Identify the peripherals of a computer, components in a CPU and its functions. Draw the block diagram of the CPU along with the configuration of each peripheral and submit to your instructor.

Week 2 :

Task 2: Every student should disassemble and assemble the PC back to working condition. Lab instructors should verify the work and follow it up with a Viva. Also students need to go through the video which shows the process of assembling a PC. A video would be given as part of the course content.

Week 3 :

Task 3: Every student should individually install MS windows on the personal computer. Lab instructor should verify the installation and follow it up with a Viva.

Week 4 :

Task 4: Every student should install Linux on the computer. This computer should have windows installed. The system should be configured as dual boot with both windows and Linux. Lab instructors should verify the installation and follow it up with a Viva

Week 5 :

Task 5: Hardware Troubleshooting: Students have to be given a PC which does not boot due to improper assembly or defective peripherals. They should identify the problem and fix it to get the computer back to working condition. The work done should be verified by the instructor and followed up with a Viva

Week 6 :

Task 6: Software Troubleshooting: Students have to be given a malfunctioning CPU due to system software problems. They should identify the problem and fix it to get the computer back to working condition. The work done should be verified by the instructor and followed up with a Viva.

Internet & World Wide Web

Week 7 :

Task 1: Orientation & Connectivity Boot Camp: Students should get connected to their Local Area Network and access the Internet. In the process they configure the TCP/IP setting. Finally students should demonstrate, to the instructor, how to access the websites and email. If there is no internet connectivity preparations need to be made by the instructors to simulate the WWW on the LAN.

Week 8 :

Task 2: Web Browsers, Surfing the Web: Students customize their web browsers with the LAN proxy settings, bookmarks, search toolbars and pop up blockers. Also, plug-ins like Macromedia Flash and JRE for applets should be configured.

Week 9 :

Task 3: Search Engines & Netiquette: Students should know what search engines are and how to use the search engines. A few topics would be given to the students for which they need to search on Google. This should be demonstrated to the instructors.

Week 10 :

Task 4: Cyber Hygiene: Students would be exposed to the various threats on the internet and would be asked to configure their computer to be safe on the internet. They need to first install an anti virus software, configure their personal firewall and windows update on their computer. Then they need to customize their browsers to block pop ups, block active x downloads to avoid viruses and/or worms.

LaTeX and Word

Week 11 :

Word Orientation: The mentor needs to give an overview of LaTeX and Microsoft/ equivalent (FOSS) tool word: Importance of LaTeX and MS/ equivalent (FOSS) tool Word as word Processors, Details of the four tasks and features that would be covered in each, Using LaTeX and word - Accessing, overview of toolbars, saving files, Using help and resources, rulers, format painter in word.

Task 1: Using LaTeX and word to create project certificate. Features to be covered:-Formatting Fonts in word, Drop Cap in word, Applying Text effects, Using Character Spacing, Borders and Colors, Inserting Header and Footer, Using Date and Time option in both LaTeX and Word.

Week 12 :

Task 2: Creating project abstract Features to be covered:-Formatting Styles, Inserting table, Bullets and Numbering, Changing Text Direction, Cell alignment, Footnote, Hyperlink, Symbols, Spell Check , Track Changes.

Week 13 :

Task 3: Creating a Newsletter: Features to be covered:- Table of Content, Newspaper columns, Images from files and clipart, Drawing toolbar and Word Art, Formatting Images, Textboxes and Paragraphs

Excel

Week 14 :

Excel Orientation: The mentor needs to tell the importance of MS/ equivalent (FOSS) tool Excel as a Spreadsheet tool, give the details of the four tasks and features that would be covered in each. Using Excel -Accessing, overview of toolbars, saving excel files, Using help and resources

Task 1: Creating a Scheduler - Features to be covered:- Gridlines, Format Cells, Summation, auto fill, Formatting Text

Week 15 :

Task 2: Calculating GPA - .Features to be covered:- Cell Referencing, Formulae in excel - average, std.deviation, Charts, Renaming and Inserting worksheets, Hyper linking, Count function, LOOKUP/VLOOKUP

LaTeX and MS/equivalent (FOSS) tool Power Point

Week 16 :

Task1: Students will be working on basic power point utilities and tools which help them create basic power point presentation. Topic covered during this week includes:- PPT Orientation, Slide Layouts, Inserting Text, Word Art, Formatting Text, Bullets and Numbering, Auto Shapes, Lines and Arrows in both LaTeX and Powerpoint.

Week 17 :

Task 2: Second week helps students in making their presentations interactive.Topic covered during this week includes: Hyperlinks, Inserting -Images, Clip Art, Audio, Video, Objects, Tables and Charts

Week 18 :

Task 3: Concentrating on the in and out of Microsoft power point and presentations in LaTeX. Helps them learn best practices in designing and preparing power point presentation. Topic covered during this week includes:- Master Layouts (slide, template, and notes), Types of views (basic, presentation, slide slotter, notes etc), Inserting - Background, textures, Design Templates, Hidden slides.

Move To Top


Data-StructuresLab through C++


 1.   Purpose / Objective

The objective of this lab to Teach students various C++ features and knowledge about templates & exception handling, to make the students learn about object oriented way of solving problems, to make the students write various C++ programs and ADTS for all data structures. The purpose of C++ is to precisely define a series of operations that a computer can perform to accomplish a task. C++ and Data Structures are also used for hardware design, where design is initially described in C++, then analyzed, architecturally constrained, and scheduled to create register transfer level hardware description language via High-Level synthesis.

Data structures programs help to create system level programming and to develop OS level programs.

2. Lab Hardware & Software Details

60 Systems with Intel Pentium Processors. 

C++ Compiler and STL Recommended.

3. List Of Experiments In Data-StructuresLab through C++:

Week1:

C++ programs to implement the following using an array.

a) Stack ADT b) Queue ADT

Week2 :

Write C++ programs to implement the following using a singly linked list.

a) Stack ADT b) Queue ADT

Week3 :

Write C++ programs to implement the deque (double ended queue) ADT using a doubly linked list and an array.

Week 4 :

Write a C++ program to perform the following operations:
a) Insert an element into a binary search tree.
b) Delete an element from a binary search tree.
c) Search for a key element in a binary search tree.

Week5 :

Write C++ programs that use non-recursive functions to traverse the given binary tree in
a) Preorder b) inorder and c) postorder.

Week 6 :

Write C++ programs for the implementation of bfs and dfs for a given graph.

Week 7 :

Write C++ programs for implementing the following sorting methods:
a) Merge sort b) Heap sort

Week 8 :

Write a C++ program to perform the following operations

a) Insertion into a B-tree b) Deletion from a B-tree

Week 9:

Write a C++ program to perform the following operations
a) Insertion into an AVL-tree b) Deletion from an AVL-tree

Week 10 :

Write a C++ program to implement Kruskal’s algorithm to generate a minimum cost spanning tree.

Week 11:

Write a C++ program to implement Prim’s algorithm to generate a minimum cost spanning tree.

Week 12:

Write a C++ program to implement all the functions of a dictionary (ADT)

Move To Top


Object Oriented Programming Lab


  1.   Purpose / Objective

The purpose of this lab is to provide practical hands on experience of using object oriented programming language to accomplish different tasks. Students use Java to develop typical programming tasks such as putting data into a database or pulling it out, displaying high speed graphics in a game or video, controlling electronic devices attached to the PC or even playing music and/or sound effects.

 2.   Description

Java is widely used in the software industry, and remains one of the most popular languages ever created. Some of its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. Several groups provide both free and proprietary JAVA compiler software, including the GNU Project, Microsoft, Intel, Borland and others. JAVA is also used for hardware design, where design is initially described in JAVA, then analyzed, architecturally constrained, and scheduled to create a register transfer level hardware description language via high-level synthesis. The lab exercises help students how to apply the concepts learned in classroom, and prepare them for writing JAVA programs. In each lab they work on one or more lab exercises. Lab Objectives highlight specific concepts on which the lab exercises focus upon. Problem Descriptions provide the details of the exercise and hints to help students to implement the program. Sample Outputs illustrate the desired program behavior, which further clarifies the problem descriptions and aids the students with writing programs. Program Templates take complete JAVA programs and replace key lines of code with comments describing the missing code. Problem-Solving Tips highlight key issues that students need to consider when solving the lab exercises.Follow-Up Questions and Activities ask students to modify solutions to lab exercises, write new programs that are similar to their lab-exercise solutions or explain the implementation choices that were made when solving lab exercises. Debugging Problems consist of a blocks of code that contain syntax errors and/or logic errors. These alert students to the types of errors they are likely to encounter while programming.

 3.   Lab Hardware & Software Details

60 Systems with Intel Dual Core Processor
JAVA Compiler and STL Recommended  

4. List Of Experiments In Object Oriented Programming Lab :

Week 1:

a)Write a Java program that prints all real solutions to the quadratic equation ax2 + bx +c = 0. Read in a, b, c and use the quadratic formula. If the discriminant b2 -4ac is negative, display a message stating that there are no real solutions.
b)The Fibonacci sequence is defined by the following rule: The fist two values in the sequence are 1 and 1.Every subsequent value is the sum of the two values preceding it. Write a Java program that uses both recursive and non recursive functions to print the nth value in the Fibonacci sequence.

Week 2 :

a)Write a Java program that prompts the user for an integer and then prints out all prime numbers up to that. integer.
b)Write a Java program to multiply two given matrices.
c)Write a Java Program that reads a line of integers, and then displays each integer, and the sum of all the integers (Use StringTokenizer class of java.util)

Week 3 :

a)Write a Java program that checks whether a given string is a palindrome or not. Ex: MADAM is a palindrome.
b)Write a Java program for sorting a given list of names in ascending order.
c)Write a Java program to make frequency count of words in a given text.

Week 4 :

a)Write a Java program that reads a file name from the user, then displays information about whether the file exists, whether the file is readable, whether the file is writable, the type of file and the length of the file in bytes.
b)Write a Java program that reads a file and displays the file on the screen, with a line number before each line.
c) Write a Java program that displays the number of characters, lines and words in a text file.

Week 5 :

a)Write a Java program that:
i) Implements stack ADT.
ii) Converts infix expression into Postfix form
iii) Evaluates the postfix expression

Week 6 :

a)Develop an applet that displays a simple message.
b)Develop an applet that receives an integer in one text field, and computes its factorial value and returns it in another text field, when the button named “Compute” is clicked.

Week 7 :

a)Write a Java program that works as a simple calculator. Use a grid layout to arrange buttons for the digits and for the +, -,*, % operations. Add a text field to display the result.

Week 8 :

a)Write a Java program for handling mouse events.

Week 9 :

a)Write a Java program that creates three threads. First thread displays “Good Morning” every one second, the second thread displays “Hello” every two seconds and the third thread displays “Welcome” every three seconds.
b)Write a Java program that correctly implements producer consumer problem using the concept of inter thread communication.

Week 10 :

a)Write a program that creates a user interface to perform integer divisions. The user enters two numbers in the text fields, Num1 and Num2. The division of Num1 and Num2 is displayed in the Result field when the Divide button is clicked. If Num1 or Num2 were not an integer, the program would throw a NumberFormatException. If Num2 were Zero, the program would throw an ArithmeticException Display the exception in a message dialog box.

Week 11 :

a)Write a Java program that implements a simple client/server application. The client sends data to a server. The server receives the data, uses it to produce a result, and then sends the result back to the client. The client displays the result on the console. For ex: The data sent from the client is the radius of a circle, and the result produced by the server is the area of the circle. (Use java.net)

Week 12:

a)Write a java program that simulates a traffic light. The program lets the user select one of three lights : red, yellow, or green. When a radio button is selected, the light is turned on, and only one light can be on at a time No light is on when the program starts.
b)Write a Java program that allows the user to draw lines, rectangles and ovals.

Week 13 :

a)Write a java program to create an abstract class named Shape that contains an empty method named numberOfSides ( ).Provide three classes named Trapezoid, Triangle and Hexagon such that each one of the classes extends the class Shape. Each one of the cl asses contains only the method numberOfSides ( ) that shows the number of sides in the given geometrical figures.
b)Suppose that a table named Table.txt is stored in a text file. The first line in the file is the header, and the remaining lines correspond to rows in the table. The elements are separated by commas. Write a java program to display the table using JTable component.

Move To Top


Database Management Systems Lab


1.   Purpose / Objective

This lab enables the students to practice the concepts learnt in the subject DBMS by developing a database for an example company named “Roadway Travels” whose description is as follows. The student is expected to practice the designing, developing and querying a database in the context of example database “Roadway travel”. Students are expected to use “Mysql” database.

 2.   Lab Hardware & Software Details

60 Systems with Intel Pentium Processors, Oracle10g  

3. List Of Experiments In Database Management Systems Lab:

Roadway Travels

"Roadway Travels" is in business since 1997 with several buses connecting different places in India. Its main office is located in Hyderabad.
The company wants to computerize its operations in the following areas:
Reservations and Ticketing
Cancellations

Reservations:

Reservations are directly handled by booking office. Reservations can be made 30 days in advance in either cash or credit. In case the ticket is not available, a wait listed ticket is issued to the customer. This ticket is confirmed against the cancellation.

Cancellation and Modifications:

Cancellations are also directly handed at the booking office. Cancellation charges will be charged.
Wait listed tickets that do not get confirmed are fully refunded.

Week1: E-R Model

Analyze the problem carefully and come up with the entities in it. Identify what data has to be persisted in the database. This contains the entities, attributes etc.
Identify the primary keys for all the entities. Identify the other keys like candidate keys, partial keys, if any. The student is required to submit a document by writing the Entities and Keys.

Example: Entities:
BUS
Ticket
Passenger
PRIMARY KEY ATTRIBUTES:
Ticket ID (Ticket Entity)
Passport ID (Passenger Entity)
Apart from the above mentioned entities you can identify more. The above mentioned are few.

Week2: Concept design with E-R Model

Relate the entities appropriately. Apply cardinalities for each relationship. Identify strong entities and weak entities (if any). Indicate the type of relationships (total / partial). Try to incorporate generalization, aggregation, specialization etc wherever required.
The student is required to submit a document by drawing the E-R diagram.

Example: E-R diagram for bus




















Week3: Relational Model

Represent all the entities (Strong, Weak) in tabular fashion. Represent relationships in a tabular fashion. There are different ways of representing relationships as tables based on the cardinality. Represent attributes as columns in tables or as tables based on the requirement. Different types of attributes (Composite, Multivalued, and Derived) have different way of representation.
The student is required to submit a document by Represent relationships in a tabular fashion.
Example: The passenger tables look as below. This is an example. You can add more attributes based on your E-R model.

Passenger  
Name Age Sex Address Passport ID
    

Week4: Normalization

Database normalization is a technique for designing relational database tables to minimize duplication of information and, in so doing, to safeguard the database against certain types of logical or structural problems, namely data anomalies. For example, when multiple instances of a given piece of information occur in a table, the possibility exists that these instances will not be kept consistent when the data within the table is updated, leading to a loss of data integrity. A table that is sufficiently normalized is less vulnerable to problems of this kind, because its structure reflects the basic assumptions for when multiple instances of the same information should be represented by a single instance only.

Week5: Installation of Mysql and practicing DDL commands

Installation of MySql. In this week you will learn Creating databases, How to create tables, altering the database, dropping tables and databases if not required. You will also try truncate, rename commands etc.

Example for creation of a table.
CREATE TABLE Passenger (
Passport id INTEGER PRIMARY KEY,
Name CHAR (50) NULL,
Age Integer,
Sex Char
);

Note: Detailed creation of tables is given at the end.

Week6: Practicing DML commands

DML commands are used to for managing data within schema objects. Some examples:
• SELECT - retrieve data from the database
• INSERT - insert data into a table
• UPDATE - updates existing data within a table
• DELETE - deletes all records from a table, the space for the records remain

Inserting values into Bus table:
Insert into Bus values (1234,’Hyderabad’, ‘Tirupathi’);
Insert into Bus values (2345,’Hyderabad’,’Bangalore’);

Inserting values into Bus table:
Insert into Passenger values (1, 45,’ramesh’, 45,’M’,’abc123’);
Insert into Passenger values (2, 78,’geetha’, 36,’F’,’abc124’);

Few more Examples of DML commands:
Select * from Bus; (selects all the attributes and display)
UPDATE BUS SET Bus No = 1WHERE BUS NO=2;

Week7: Querying

This week practice on queries (along with sub queries) using ANY, ALL, IN, Exists, NOT EXISTS, UNION, INTERSECT, Constraints etc.

Practice the following Queries:
Display unique PNR_no of all passengers.
Display all the names of male passengers.
Display the ticket numbers and names of all the passengers.
Display the source and destination having journey time more than 10 hours.
Find the ticket numbers of the passengers whose name start with ‘A’ and ends with ‘H’.
Find the names of passengers whose age is between 30 and 45.
Display all the passengers names beginning with ‘A’
Display the sorted list of passengers names
Display the Bus numbers that travel on Sunday and Wednesday
Display the details of passengers who are traveling either in AC or NON_AC(Using only IN operator)

Week8 and week9: Querying (continued…)

This students practices on queries using Aggregate functions (COUNT, SUM, AVG, and MAX and MIN), GROUP BY, HAVING and Creation and dropping of Views.

• Write a Query to display the Information present in the Passenger and cancellation tables. Hint: Use UNION Operator.
• Write a Query to display different travelling options available in British Airways.
• Display the number of days in a week on which the 9W01 bus is available.
• Find number of tickets booked for each PNR_no using GROUP BY CLAUSE. Hint: Use GROUP BY on PNR_No.
• Find the distinct PNR numbers that are present.
• Find the number of tickets booked in each class where the number of seats is greater than 1. Hint: Use GROUP BY, WHERE and HAVING CLAUSES.
• Find the total number of cancelled seats.
• Write a Query to count the number of tickets for the buses, which travelled after the date '14/3/2009'. Hint: Use HAVING CLAUSES.

Week10: Triggers

This week student works on Triggers. Creation of insert trigger, delete trigger, update trigger. Practice triggers using the above database.

Eg: CREATE TRIGGER updcheck BEFORE UPDATE ON passenger
FOR EACH ROW
BEGIN
IF NEW.TickentNO > 60 THEN
SET New.Tickent no = Ticket no;
ELSE
SET New.Ticketno = 0;
END IF;
END;

Week11: Procedures

In this session the student learns Creation of stored procedure, Execution of procedure and modification of procedure. Practice procedures using the above database.
Eg:CREATE PROCEDURE myProc()
BEGIN
SELECT COUNT(Tickets) FROM Ticket WHERE age>=40;
End;

Week12: Cursors

Do the following: Declare a cursor that defines a result set.
Open the cursor to establish the result set. Fetch the data into local variables as needed from the cursor, one row at a time. Close the cursor when done

CREATE PROCEDURE myProc(in_customer_id INT)
BEGIN
DECLARE v_id INT;
DECLARE v_name VARCHAR(30);
DECLARE c1 CURSOR FOR SELECT stdId,stdFirstname FROM students WHERE stdId=in_customer_id;
OPEN c1;
FETCH c1 into v_id, v_name;
Close c1;
END;

Tables
BUS
Bus No: Varchar: PK (public key)
Source : Varchar
Destination : Varchar

Passenger
PNR_No : Numeric(9) : PK
Ticket_No: Numeric (9)
Name: Varchar(15)
Age : int (4)
Sex:Char(10) : Male / Female
PPNO: Varchar(15)

Reservation
PNR_No: Numeric(9) : FK
Journey_date : datetime(8)
No_of_seats : int (8)
Address : Varchar (50)
Contact_No: Numeric (9) --> Should not be less than 9 and Should not accept any other character other than Integer
Status: Char (2) : Yes / No

Cancellation
PNR_No: Numeric(9) : FK
Journey_date : datetime(8)
No_of_seats : int (8)
Address : Varchar (50)
Contact_No: Numeric (9) --> Should not be less than 9 and Should not accept any other character other than Integer
Status: Char (2) : Yes / No

Ticket
Ticket_No: Numeric (9): PK
Journey_date : datetime(8)
Age : int (4)
Sex:Char(10) : Male / Female
Source : Varchar
Destination : Varchar
Dep_time : Varchar

Move To Top


Computer Networks and Operating Systems Lab


1.   Purpose / Objective


To Understand the functionalities of various layers of OSI model. Understand fundamental services provided by TCP and how information is sent between TCP ports. Understand the concept of sequence and acknowledgement numbers for providing reliable data transfer. Understand the concept of TCP’s congestion control algorithm and flow control mechanism.

To understand the operating System functionalities

 2.   Lab Hardware & Software Details

60 Systems with Intel Pentium Processors, Linux, Turbo C

3. List Of Experiments In Computer Networks and Operating Systems Lab :

Computer Networks Lab:
Part - A
1. Implement the data link layer framing methods such as character, character stuffing and bit stuffing.
2. Implement on a data set of characters the three CRC polynomials – CRC 12, CRC 16 and CRC CCIP .
3. Implement Dijkstra ‘s algorithm to compute the Shortest path thru a graph.
4. Take an example subnet graph with weights indicating delay between nodes. Now obtain Routing table art each node using distance vector routing algorithm
5. Take an example subnet of hosts . Obtain broadcast tree for it.
6. Take a 64 bit playing text and encrypt the same using DES algorithm .
7. Write a program to break the above DES coding
8. Using RSA algorithm Encrypt a text data and Decrypt the same .

Operating Systems Lab:
Part -B
1. Simulate the following CPU scheduling algorithms
a) Round Robin b) SJF c) FCFS d) Priority
2. Simulate all file allocation strategies
a) Sequential b) Indexed c) Linked
3. Simulate MVT and MFT
4. Simulate all File Organization Techniques
a) Single level directory b) Two level c) Hierarchical d) DAG
5. Simulate Bankers Algorithm for Dead Lock Avoidance
6. Simulate Bankers Algorithm for Dead Lock Prevention
7. Simulate all page replacement algorithms
a) FIFO b) LRU c) LFU Etc. N
8. Simulate Paging Technique of memory management.

Move To Top


Web Technology and Compiler Design Lab


1.   Purpose / Objective

Write syntactically correct HTTP messages and describe the semantics of common HTTP methods and header fields. Discuss differences between URIs, URNs, and URLs, and demonstrate a detailed understanding of http-scheme URLs, both relative and absolute. Describe the actions, including those related to the cache, performed by a browser in the process of visiting a Web address. Install a web server and perform basic administrative procedures, such as tuning communication parameters, denying access to certain domains, and interpreting an access log. Write a valid standards-conformant HTML document involving a variety of element types, including hyperlinks, images, lists, tables, and forms. Use CSS to implement a variety of presentation effects in HTML and XML documents, including explicit positioning of elements. Demonstrate techniques for improving the accessibility of an HTML document

 2.   Lab Hardware & Software Details

60 Systems with Intel Pentium Processors, JAVA, WEB BROWSER, ORACLE 10g, TURBO C

3. List Of Experiments In Web Technology and Compiler Design Lab:

Web Technology:

Week-1:
Design the following static web pages required for an online book store web site.
1) HOME PAGE:
The static home page must contain three frames.
Top frame : Logo and the college name and links to Home page, Login page, Registration page, Catalogue page and Cart page (the description of these pages will be given below).
Left frame : At least four links for navigation, which will display the catalogue of respective links.

For e.g.: When you click the link “CSE” the catalogue for CSE Books should be displayed in the Right frame. Right frame: The pages to the links in the left frame must be loaded here. Initially this page contains description of the web site.




















Fig 1.1
2) LOGIN PAGE:
This page looks like below:




















3) CATOLOGUE PAGE:
The catalogue page should contain the details of all the books available in the web site in a table.
The details should contain the following:
1. Snap shot of Cover Page.
2. Author Name.
3. Publisher.
4. Price.
5. Add to cart button.



























Note: Week 2 contains the remaining pages and their description.

Week-2:

4) CART PAGE:
The cart page contains the details about the books which are added to the cart.
The cart page should look like this:




















5) REGISTRATION PAGE:
Create a “registration form “with the following fields
1) Name (Text field)
2) Password (password field)
3) E-mail id (text field)
4) Phone number (text field)
5) Sex (radio button)
6) Date of birth (3 select boxes)
7) Languages known (check boxes – English, Telugu, Hindi, Tamil)
8) Address (text area)

WEEK 3:

VALIDATION:
Write JavaScript to validate the following fields of the above registration page.
1. Name (Name should contains alphabets and the length should not be less than 6 characters).
2. Password (Password should not be less than 6 characters length).
3. E-mail id (should not contain any invalid and must follow the standard pattern name@domain.com)
4. Phone number (Phone number should contain 10 digits only).
Note : You can also validate the login page with these parameters.

Week-4:

Design a web page using CSS (Cascading Style Sheets) which includes the following:
1) Use different font, styles:
In the style definition you define how each selector should work (font, color etc.).
Then, in the body of your pages, you refer to these selectors to activate the styles.
For example:








































2) Set a background image for both the page and single elements on the page.
You can define the background image for the page like this:









3) Control the repetition of the image with the background-repeat property.
As background-repeat: repeat
Tiles the image until the entire page is filled, just like an ordinary background image in plain HTML.
4) Define styles for links as
A:link
A:visited
A:active
A:hover
Example:

<style type="text/css"><br>
A:link {text-decoration: none}<br>
A:visited {text-decoration: none}<br>
A:active {text-decoration: none}<br>
A:hover {text-decoration: underline; color: red;}<br>
</style>

5) Work with layers:
For example:
LAYER 1 ON TOP:

<div style="position:relative; font-size:50px; z-index:2;">LAYER 1</div><br>
<div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-index:1">LAYER 2</div><br>

LAYER 2 ON TOP:

<div style="position:relative; font-size:50px; z-index:3;">LAYER 1</div><br>
<div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-index:4">LAYER 2</div><br>

6) Add a customized cursor:
Selector {cursor:value}
For example:































Week-5:

Write an XML file which will display the Book information which includes the following:
1) Title of the book
2) Author Name
3) ISBN number
4) Publisher name
5) Edition
6) Price
Write a Document Type Definition (DTD) to validate the above XML file.
Display the XML file as follows.
The contents should be displayed in a table. The header of the table should be in color GREY. And the Author names column should be displayed in one color and should be capitalized and in bold. Use your own colors for remaining columns.
Use XML schemas XSL and CSS for the above purpose.
Note: Give at least for 4 books. It should be valid syntactically.
Hint: You can use some xml editors like XML-spy

Week-6:

VISUAL BEANS: Create a simple visual bean with a area filled with a color.
The shape of the area depends on the property shape. If it is set to true then the shape of the area is Square and it is Circle, if it is false.
The color of the area should be changed dynamically for every mouse click. The color should also be changed if we change the color in the “property window “.

Week-7:

1) Install TOMCAT web server and APACHE.
While installation assign port number 4040 to TOMCAT and 8080 to APACHE. Make sure that these ports are available i.e., no other process is using this port.
2) Access the above developed static web pages for books web site, using these servers by putting the web pages developed in week-1 and week-2 in the document root.
Access the pages by using the urls : http://localhost:4040/rama/books.html (for tomcat) http://localhost:8080/books.html (for Apache)

Week-8:

User Authentication :
Assume four users user1,user2,user3 and user4 having the passwords pwd1,pwd2,pwd3 and pwd4 respectively. Write a servelet for doing the following.
1. Create a Cookie and add these four user id’s and passwords to this Cookie.
2. Read the user id and passwords entered in the Login form (week1) and authenticate with the values (user id and passwords ) available in the cookies.
If he is a valid user(i.e., user-name and password match) you should welcome him by name(user-name) else you should display “ You are not an authenticated user “.
Use init-parameters to do this. Store the user-names and passwords in the webinf.xml and access them in the servlet by using the getInitParameters() method.

Week-9:

Install a database(Mysql or Oracle).
Create a table which should contain at least the following fields: name, password, email-id, phone number(these should hold the data from the registration form).
Practice 'JDBC' connectivity.
Write a java program/servlet/JSP to connect to that database and extract data from the tables and display them. Experiment with various SQL queries.
Insert the details of the users who register with the web site, whenever a new user clicks the submit button in the registration page (week2).

Week-10:

Write a JSP which does the following job:
Insert the details of the 3 or 4 users who register with the web site (week9) by using registration form. Authenticate the user when he submits the login form using the user name and password from the database ( similar to week8 instead of cookies).

Week-11:

Create tables in the database which contain the details of items (books in our case like Book name , Price, Quantity, Amount )) of each category. Modify your catalogue page (week 2)in such a way that you should connect to the database and extract data from the tables and display them in the catalogue page using JDBC.

Week-12:

HTTP is a stateless protocol. Session is required to maintain the state. The user may add some items to cart from the catalog page. He can check the cart page for the selected items. He may visit the catalogue again and select some more items. Here our interest is the selected items should be added to the old cart rather than a new cart. Multiple users can do the same thing at a time(i.e., from different systems in the LAN using the ip-address instead of localhost). This can be achieved through the use of sessions. Every user will have his own session which will be created after his successful login to the website. When the user logs out his session should get invalidated (by using the method session.invalidate() ). Modify your catalogue and cart JSP pages to achieve the above mentioned functionality using sessions.

Compiler Design:

Consider the following mini Language, a simple procedural high-level language, only operating on integer data, with a syntax looking vaguely like a simple C crossed with Pascal. The syntax of the language is defined by the following BNF grammar:

<program> ::= <block>
<block> ::= { <variabledefinition><slist> }
| { <slist> }
<variabledefinition> ::= int <vardeflist> ;
<vardeflist> ::= <vardec> | <vardec> , <vardeflist>
<vardec> ::= <identifier> | <identifier> [ <constant> ]
<slist> ::= <statement> | <statement> ; <slist>
<statement> ::= <assignment> | <ifstatement> | <whilestatement>
| <block> | <printstatement> | <empty>
<assignment> ::= <identifier> = <expression>
| <identifier> [ <expression> ] = <expression>
<ifstatement> ::= if <bexpression> then <slist> else <slist> endif
| if <bexpression> then <slist> endif
<whilestatement> ::= while <bexpression> do <slist> enddo
<printstatement> ::= print ( <expression> )
<expression> ::= <expression><addingop><term> | <term> | <addingop><term>
<bexpression> ::= <expression><relop><expression>
<relop> ::= < | <= | == | >= | > | !=
<addingop> ::= + | -
<term> ::= <term><multop><factor> | <factor>
<multop> ::= * | /
<factor> ::= <constant> | <identifier> | <identifier> [ <expression>]
| ( <expression> )
<constant> ::= <digit> | <digit><constant>
<identifier> ::= <identifier><letterordigit> | <letter>
<letterordigit> ::= <letter> | <digit>
<letter> ::= a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
<digit> ::= 0|1|2|3|4|5|6|7|8|9
<empty> has the obvious meaning
Comments (zero or more characters enclosed between the standard C/Java-style comment brackets / *...*/) can be inserted. The language has rudimentary support for 1-dimensional arrays. The declaration int a[3] declares an array of three elements, referenced as a[0], a[1] and a[2]. Note also that you should worry about the scoping of names.
A simple program written in this language is:

{ int a[3],t1,t2;t1=2;
a[0]=1; a[1]=2; a[t1]=3;
t2=-(a[2]+t1*6)/(a[2]-t1);

if t2>5 then
print(t2);
else {
int t3;
t3=99;
t2=-25;
print(-t1+t2*t3); /* this is a comment
on 2 lines */
} endif }

1. Design a Lexical analyzer for the above language. The lexical analyzer should ignore redundant spaces, tabs and newlines. It should also ignore comments. Although the syntax specification states that identifiers can be arbitrarily long, you may restrict the length to some reasonable value.
2. Implement the lexical analyzer using JLex, flex or lex or other lexical analyzer generating tools.
3. Design Predictive parser for the given language
4. Design LALR bottom up parser for the above language.
5. Convert the BNF rules into Yacc form and write code to generate abstract syntax tree.
6. Write program to generate machine code from the abstract syntax tree generated by the parser. The following instruction set may be considered as target code.
The following is a simple register-based machine, supporting a total of 17 instructions. It has three distinct internal storage areas. The first is the set of 8 registers, used by the individual instructions as detailed below, the second is an area used for the storage of variables and the third is an area used for the storage of program. The instructions can be preceded by a label. This consists of an integer in the range 1 to 9999 and the label is followed by a colon to separate it from the rest of the instruction. The numerical label can be used as the argument to a jump instruction, as detailed below.
In the description of the individual instructions below, instruction argument types are specified as follows :
R
specifies a register in the form R0, R1, R2, R3, R4, R5, R6 or R7 (or r0, r1, etc.).
L
specifies a numerical label (in the range 1 to 9999).
V
specifies a “variable location” (a variable number, or a variable location pointed to by a register - see below).
A
specifies a constant value, a variable location, a register or a variable location pointed to by a register (an indirect address). Constant values are specified as an integer value, optionally preceded by a minus sign, preceded by a # symbol. An indirect address is specified by an @ followed by a register.
So, for example, an A-type argument could have the form 4 (variable number 4), #4 (the constant value 4), r4 (register 4) or @r4 (the contents of register 4 identifies the variable location to be accessed).
The instruction set is defined as follows:
LOAD A,R
loads the integer value specified by A into register R.
STORE R,V
stores the value in register R to variable V.
OUT R
outputs the value in register R.
NEG R
negates the value in register R.
ADD A,R
adds the value specified by A to register R, leaving the result in register R.
SUB A,R
subtracts the value specified by A from register R, leaving the result in register R.
MUL A,R
multiplies the value specified by A by register R, leaving the result in register R.
DIV A,R
divides register R by the value specified by A, leaving the result in register R.
JMP L
causes an unconditional jump to the instruction with the label L.
JEQ R,L
jumps to the instruction with the label L if the value in register R is zero.
JNE R,L
jumps to the instruction with the label L if the value in register R is not zero.
JGE R,L
jumps to the instruction with the label L if the value in register R is greater than or equal to zero.
JGT R,L
jumps to the instruction with the label L if the value in register R is greater than zero.
JLE R,L
jumps to the instruction with the label L if the value in register R is less than or equal to zero.
JLT R,L
jumps to the instruction with the label L if the value in register R is less than zero.
NOP
is an instruction with no effect. It can be tagged by a label.
STOP
stops execution of the machine. All programs should terminate by executing a STOP instruction.

Move To Top


Embedded Systems and Data Mining Lab


 1.   Purpose / Objective

After finishing Data Mininglab, students will have a good understanding of the following:
 To understand the mining of association rules in large databases.
 To understand the classification and prediction.
 To understand cluster Analysis and mining complex types of data.

 2.   Lab Hardware & Software Details

60 Systems with Intel Pentium Processors, WEKA TOOL.

List Of Experiments In Embedded Systems and Data Mining Lab :

EXP 1 .Write a program to
a) Read inputs from switches from 89c51 SDK
b) And blink the LED’s in different patterns in 89cSDK .

EXP 2. Write a Program for serial Communication between Microcontrollers to PC vice versa
• For Microcontroller to PC communication the data should be transferred from microcontroller to PC Terminal window .
• For PC to microcontroller communication the data should be transferred from PC terminal window to Microcontroller LCD display.

EXP 3. Write a Program for Encryption and Decryption.
• Use 4x3 keyboard interface (for enter data)
• Use LCD interface (display data)
• Use serial Communication (display data at PC terminal window)

EXP 4. Develop necessary interfacing circuit to read data from a temperature sensor and process using 89c51 SDK , the data has to be displayed on a PC Terminal window.

EXP 5. Sort RTOS on to 89c51 Microcontroller and verify.
• Run 2 to 3 tasks simultaneously on 89c51 SDK
• Use LCD interface ,LED interface, Serial communication.

EXP 6. Write a program to read input from switches display the switch number in seven segment display and Develop necessary interfacing circuit to process display . (example : if we press switch 1 it should display 1 on the seven segment display)

EXP 7. Write a program to read input from switches and turn on bulb which can works With 230 V AC using relay interface , develop necessary interfacing circuit for 89c52SDK. (example : if we press switch 1 it should turn on bulb 1 vice versa)

EXP 8. Write a program to to display Real time Clock on SEVEN SEGMENT DISPLAY and Develop necessary interfacing circuit to process TIME display .

EXP 9. Write a program to implement calculator which can execute basic operations such as addition , subtraction, multiplication and division and develop necessary interfacing circuit for process the operations with 89c52 SDK.
• Use Keyboard Interface (for read input from user)
• Use 2-line LCD Interface(for display the input and display the output)

Move To Top


Web Technologies Lab


 1.   Purpose / Objective

This course demonstrates an in-depth understanding of the tools and Web technologies necessary for business application design and development. The course covers client side scripting like HTML, JavaScript and server side scripting like servlets, JSPs. And also XML and web servers and database interfacing.

 2.   Description

To create a fully functional website with MVC architecture. To develop an online Book store using we can sell books (Ex amazon .com). Web technologies that relate to the interface between web servers and their clients. This information includes markup languages, programming interfaces and languages, and standards for document identification and display.
Markup Languages Section - Includes all markup languages including HTML, XML, and SGML. Documentation in this section currently includes an HTML Guide, XML Guide, and a Document Type Definition (DTD) reading reference. CGI Section- Includes four documents describing implementation of the client to server web interface. It includes information about the common gateway interface (CGI), server side includes (SSI), JavaScript, and writing perl script programs.
HTTP Section - This section currently includes an HTTP Reference. It has brief descriptions of the HTTP request and response headers and also lists the possible response headers such as 404 (not found).
JAVA Section - Documentation is being generated for this section. It currently contains some web links.
MIME Section - This section describes Multipurpose Internet Mail Extension along with its purpose and it also includes a few MIME related web links.
WEB SERVER INSTALLATION - Install TOMCAT web server. Convert the static web pages of assignment 2 into dynamic web pages using servlets and cookies. Hint: Users information (user id, password, credit card number) would be stored in web.Xml. Each user should have a separate shopping cart.

 3.   Lab Hardware & Software Details

60 Systems with Intel Dual Core Processor, 1GB RAM Every System is installed with Tomcat web server 6.0.24, Oracle database, JDK 1.5 & BDK1.1 (Bean Development kit)

4. List Of Experiments In Web Technologies Lab:

Week-1:
Design the following static web pages required for an online book store web site.
1) HOME PAGE:
The static home page must contain three frames.
Top frame : Logo and the college name and links to Home page, Login page, Registration page, Catalogue page and Cart page (the description of these pages will be given below).
Left frame : At least four links for navigation, which will display the catalogue of respective links.
For e.g.: When you click the link “CSE” the catalogue for CSE Books should be displayed in the Right frame. Right frame: The pages to the links in the left frame must be loaded here. Initially this page contains description of the web site.



















Fig 1.1
2) LOGIN PAGE:
This page looks like below:



















3) CATOLOGUE PAGE:
The catalogue page should contain the details of all the books available in the web site in a table.
The details should contain the following:
1. Snap shot of Cover Page.
2. Author Name.
3. Publisher.
4. Price.
5. Add to cart button.


























Note: Week 2 contains the remaining pages and their description.
Week-2:
4) CART PAGE:
The cart page contains the details about the books which are added to the cart.
The cart page should look like this:



















5) REGISTRATION PAGE:
Create a “registration form “with the following fields
1) Name (Text field)
2) Password (password field)
3) E-mail id (text field)
4) Phone number (text field)
5) Sex (radio button)
6) Date of birth (3 select boxes)
7) Languages known (check boxes – English, Telugu, Hindi, Tamil)
8) Address (text area)
WEEK 3:
VALIDATION:
Write JavaScript to validate the following fields of the above registration page.
1. Name (Name should contains alphabets and the length should not be less than 6 characters).
2. Password (Password should not be less than 6 characters length).
3. E-mail id (should not contain any invalid and must follow the standard pattern name@domain.com)
4. Phone number (Phone number should contain 10 digits only).
Note : You can also validate the login page with these parameters.
Week-4:
Design a web page using CSS (Cascading Style Sheets) which includes the following:
1) Use different font, styles:
In the style definition you define how each selector should work (font, color etc.).
Then, in the body of your pages, you refer to these selectors to activate the styles.
For example:







































2) Set a background image for both the page and single elements on the page.
You can define the background image for the page like this:








3) Control the repetition of the image with the background-repeat property.
As background-repeat: repeat
Tiles the image until the entire page is filled, just like an ordinary background image in plain HTML.
4) Define styles for links as
A:link
A:visited
A:active
A:hover
Example:

<style type="text/css"><br>
A:link {text-decoration: none}<br>
A:visited {text-decoration: none}<br>
A:active {text-decoration: none}<br>
A:hover {text-decoration: underline; color: red;}<br>
</style>

5) Work with layers:
For example:
LAYER 1 ON TOP:

<div style="position:relative; font-size:50px; z-index:2;">LAYER 1</div><br>
<div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-index:1">LAYER 2</div><br>

LAYER 2 ON TOP:

<div style="position:relative; font-size:50px; z-index:3;">LAYER 1</div><br>
<div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-index:4">LAYER 2</div><br>

6) Add a customized cursor:
Selector {cursor:value}
For example:































Week-5:

Write an XML file which will display the Book information which includes the following:
1) Title of the book
2) Author Name
3) ISBN number
4) Publisher name
5) Edition
6) Price
Write a Document Type Definition (DTD) to validate the above XML file.
Display the XML file as follows.
The contents should be displayed in a table. The header of the table should be in color GREY. And the Author names column should be displayed in one color and should be capitalized and in bold. Use your own colors for remaining columns.
Use XML schemas XSL and CSS for the above purpose.
Note: Give at least for 4 books. It should be valid syntactically.
Hint: You can use some xml editors like XML-spy

Week-6:

VISUAL BEANS:
Create a simple visual bean with a area filled with a color.
The shape of the area depends on the property shape. If it is set to true then the shape of the area is Square and it is Circle, if it is false.
The color of the area should be changed dynamically for every mouse click. The color should also be changed if we change the color in the “property window “.

Week-7:

3) Install TOMCAT web server and APACHE.
While installation assign port number 4040 to TOMCAT and 8080 to APACHE. Make sure that these ports are available i.e., no other process is using this port.
4) Access the above developed static web pages for books web site, using these servers by putting the web pages developed in week-1 and week-2 in the document root.
Access the pages by using the urls : http://localhost:4040/rama/books.html (for tomcat)
http://localhost:8080/books.html (for Apache)

Week-8:

User Authentication :
Assume four users user1,user2,user3 and user4 having the passwords pwd1,pwd2,pwd3 and pwd4 respectively. Write a servelet for doing the following.
1. Create a Cookie and add these four user id’s and passwords to this Cookie.
2. Read the user id and passwords entered in the Login form (week1) and authenticate with the values (user id and passwords ) available in the cookies.
If he is a valid user(i.e., user-name and password match) you should welcome him by name(user-name) else you should display “ You are not an authenticated user “.
Use init-parameters to do this. Store the user-names and passwords in the webinf.xml and access them in the servlet by using the getInitParameters() method.

Week-9:

Install a database(Mysql or Oracle).
Create a table which should contain at least the following fields: name, password, email-id, phone number(these should hold the data from the registration form).
Practice 'JDBC' connectivity.
Write a java program/servlet/JSP to connect to that database and extract data from the tables and display them. Experiment with various SQL queries.
Insert the details of the users who register with the web site, whenever a new user clicks the submit button in the registration page (week2).
Week-10:

Write a JSP which does the following job:
Insert the details of the 3 or 4 users who register with the web site (week9) by using registration form. Authenticate the user when he submits the login form using the user name and password from the database ( similar to week8 instead of cookies).
Week-11:

Create tables in the database which contain the details of items (books in our case like Book name , Price, Quantity, Amount )) of each category. Modify your catalogue page (week 2)in such a way that you should connect to the database and extract data from the tables and display them in the catalogue page using JDBC.
Week-12:

HTTP is a stateless protocol. Session is required to maintain the state.
The user may add some items to cart from the catalog page. He can check the cart page for the selected items. He may visit the catalogue again and select some more items. Here our interest is the selected items should be added to the old cart rather than a new cart. Multiple users can do the same thing at a time(i.e., from different systems in the LAN using the ip-address instead of localhost). This can be achieved through the use of sessions. Every user will have his own session which will be created after his successful login to the website.When the user logs out his session should get invalidated (by using the method session.invalidate() ).

Move To Top


Linux Programming and Data Mining Lab


 1.   Purpose / Objective

After finishing Linux Programminglab, students will have a good understanding of the following:
 How to use the gcc compiler on Linux.
 How to use the make utility on Linux.
 How to use the gdb/ddd debugger on Linux.
 How to read Linux manual page.
 How to write a C program to obtain file attributes.
After finishing Data Mininglab, students will have a good understanding of the following:
 To understand the mining of association rules in large databases.
 To understand the classification and prediction.
 To understand cluster Analysis and mining complex types of data.

 2.   Lab Hardware & Software Details

60 Systems with Intel Pentium Processors, LINUX, WEKA3.6.1

3. List Of Experiments In Linux Programming and Data Mining Lab:

Linux Programming

1. Write a shell script that accepts a file name, starting and ending line numbers as arguments and displays all the lines between the given line numbers.
2. Write a shell script that deletes all lines containing a specified word in one or more files supplied as arguments to it.
3. Write a shell script that displays a list of all the files in the current directory to which the user has read, write and execute permissions.
4. Write a shell script that receives any number of file names as arguments checks if every argument supplied is a file or a directory and reports accordingly. Whenever the argument is a file, the number of lines on it is also reported.
5. Write a shell script that accepts a list of file names as its arguments, counts and reports the occurrence of each word that is present in the first argument file on other argument files.
6. Write a shell script to list all of the directory files in a directory.
7. Write a shell script to find factorial of a given integer.
8. Write an awk script to count the number of lines in a file that do not contain vowels.
9. Write an awk script to find the number of characters, words and lines in a file.
10. Write a c program that makes a copy of a file using standard I/O and system calls.
11. Implement in C the following Unix commands using System calls
A . cat   B. ls   C. mv  
12. Write a program that takes one or more file/directory names as command line input and reports the following information on the file.
A. File type. B. Number of links.
C. Time of last access. D. Read, Write and Execute permissions.
13. Write a C program to emulate the Unix ls –l command.
14. Write a C program to list for every file in a directory, its inode number and file name.
15. Write a C program that demonstrates redirection of standard output to a file.Ex: ls > f1.
16. Write a C program to create a child process and allow the parent to display “parent” and the child to display “child” on the screen.
17. Write a C program to create a Zombie process.
18. Write a C program that illustrates how an orphan is created.
19. Write a C program that illustrates how to execute two commands concurrently with a command pipe. Ex:- ls –l | sort
20. Write C programs that illustrate communication between two unrelated processes using named pipe.
21. Write a C program to create a message queue with read and write permissions to write 3 messages to it with different priority numbers.
22. Write a C program that receives the messages (from the above message queue as specified in (21)) and displays them.
23. Write a C program to allow cooperating processes to lock a resource for exclusive use, using
a)Semaphores
b)flock or lockf system calls.
24. Write a C program that illustrates suspending and resuming processes using signals.
25. Write a C program that implements a producer-consumer system with two processes. (using Semaphores).
26. Write client and server programs(using c) for interaction between server and client processes using Unix Domain sockets.
27. Write client and server programs(using c) for interaction between server and client processes using Internet Domain sockets.
28. Write a C program that illustrates two processes communicating using shared memory.

Data Mining Lab:

Credit Risk Assessment

Description:The business of banks is making loans. Assessing the credit worthiness of an applicant is of crucial importance. You have to develop a system to help a loan officer decide whether the credit of a customer is good, or bad. A bank's business rules regarding loans must consider two opposing factors. On the one hand, a bank wants to make as many loans as possible. Interest on these loans is the banks profit source. On the other hand, a bank cannot afford to make too many bad loans. Too many bad loans could lead to the collapse of the bank. The bank's loan policy must involve a compromise: not too strict, and not too lenient.
To do the assignment, you first and foremost need some knowledge about the world of credit. You can acquire such knowledge in a number of ways.

1. Knowledge Engineering. Find a loan officer who is willing to talk. Interview her and try to represent her knowledge in the form of production rules.

2. Books. Find some training manuals for loan officers or perhaps a suitable textbook on finance. Translate this knowledge from text form to production rule form.

3. Common sense. Imagine yourself as a loan officer and make up reasonable rules which can be used to judge the credit worthiness of a loan applicant.

4. Case histories. Find records of actual cases where competent loan officers correctly judged when, and when not to, approve a loan application.

The German Credit Data:

Actual historical credit data is not always easy to come by because of confidentiality rules. Here is one such dataset, consisting of 1000 actual cases collected in Germany. credit dataset (original) Excel spreadsheet version of the German credit data. (Down load from web) In spite of the fact that the data is German, you should probably make use of it for this assignment. (Unless you really can consult a real loan officer !)
A few notes on the German dataset
• DM stands for Deutsche Mark, the unit of currency, worth about 90 cents Canadian (but looks and acts like a quarter).
• owns_telephone. German phone rates are much higher than in Canada so fewer people own telephones.
• foreign_worker. There are millions of these in Germany (many from Turrkey). It is very hard to get German citizenship if you were not born of German parents.
• There are 20 attributes used in judging a loan applicant. The goal is the classify the applicant into one of two categories, good or bad.
Subtasks : (Turn in your answers to the following tasks)

1.List all the categorical (or nominal) attributes and the real-valued attributes seperately.

2.What attributes do you think might be crucial in making the credit assessement ? Come up with some simple rules in plain English using your selected attributes.

3. One type of model that you can create is a Decision Tree - train a Decision Tree using the complete dataset as the training data. Report the model obtained after training.

4. Suppose you use your above model trained on the complete dataset, and classify credit good/bad for each of the examples in the dataset. What % of examples can you classify correctly ? (This is also called testing on the training set) Why do you think you cannot get 100 % training accuracy ?

5. Is testing on the training set as you did above a good idea ? Why orWhy not ?

6. One approach for solving the problem encountered in the previous question is using cross-validation ? Describe what is cross-validation briefly. Train a Decistion Tree again using cross-validation and report your results. Does your accuracy increase/decrease ? Why ? (10 marks)

7. Check to see if the data shows a bias against "foreign workers" (attribute 20),or "personal-status" (attribute 9). One way to do this (perhaps rather simple minded) is to remove these attributes from the dataset and see if the decision tree created in those cases is significantly different from the full dataset case which you have already done. To remove an attribute you can use the preprocess tab in Weka's GUI Explorer. Did removing these attributes have any significant effect? Discuss.

8. Another question might be, do you really need to input so many attributes to get good results? Maybe only a few would do. For example, you could try just having attributes 2, 3, 5, 7, 10, 17 (and 21, the class attribute (naturally)). Try out some combinations. (You had removed two attributes in problem 7. Remember to reload the arff data file to get all the attributes initially before you start selecting the ones you want.)

9. Sometimes, the cost of rejecting an applicant who actually has a good credit (case 1) might be higher than accepting an applicant who has bad credit (case 2). Instead of counting the misclassifcations equally in both cases, give a higher cost to the first case (say cost 5) and lower cost to the second case. You can do this by using a cost matrix in Weka. Train your Decision Tree again and report the Decision Tree and cross-validation results. Are they significantly different from results obtained in problem 6 (using equal cost)?

10.Do you think it is a good idea to prefer simple decision trees instead of having long complex decision trees ? How does the complexity of a Decision Tree relate to the bias of the model ?

11.You can make your Decision Trees simpler by pruning the nodes. One approach is to use Reduced Error Pruning - Explain this idea briefly. Try reduced error pruning for training your Decision Trees using cross-validation (you can do this in Weka) and report the Decision Tree you obtain ? Also, report your accuracy using the pruned model. Does your accuracy increase ?

12.(Extra Credit): How can you convert a Decision Trees into "if-then-else rules". Make up your own small Decision Tree consisting of 2-3 levels and convert it into a set of rules. There also exist different classifiers that output the model in the form of rules - one such classifier in Weka is rules.PART, train this model and report the set of rules obtained. Sometimes just one attribute can be good enough in making the decision, yes, just one ! Can you predict what attribute that might be in this dataset ? OneR classifier uses a single attribute to make decisions (it chooses the attribute based on minimum error). Report the rule obtained by training a one R classifier. Rank the performance of j48, PART and oneR.

Move To Top

 

Case Tools and Software Testing Lab


1.   Purpose / Objective

To discuss the distinctions between validation testing and defect testing.
To describe the principles of system and component testing.
To describe strategies for generating system test cases.
To understand the essential characteristics of tool used for test automation.

2. Lab Hardware & Software Details

60 Systems with Intel Pentium Processors, Rational Rose, TURBO C

List Of Experiments In Case Tools and Software Testing Lab :

Description for an ATM System
The software to be designed will control a simulated automated teller machine (ATM) having a magnetic stripe reader for reading an ATM card, a customer console (keyboard and display) for interaction with the customer, a slot for depositing envelopes, a dispenser for cash (in multiples of Rs. 100, Rs. 500 and Rs. 1000), a printer for printing customer receipts, and a key-operated switch to allow an operator to start or stop the machine. The ATM will communicate with the bank's computer over an appropriate communication link. (The software on the latter is not part of the requirements for this problem.)

The ATM will service one customer at a time. A customer will be required to insert an ATM card and enter a personal identification number (PIN) - both of which will be sent to the bank for validation as part of each transaction. The customer will then be able to perform one or more transactions. The card will be retained in the machine until the customer indicates that he/she desires no further transactions, at which point it will be returned - except as noted below.
The ATM must be able to provide the following services to the customer:

1. A customer must be able to make a cash withdrawal from any suitable account linked to the card, in multiples of Rs. 100 or Rs. 500 or Rs. 1000. Approval must be obtained from the bank before cash is dispensed.
2. A customer must be able to make a deposit to any account linked to the card, consisting of cash and/or checks in an envelope. The customer will enter the amount of the deposit into the ATM, subject to manual verification when the envelope is removed from the machine by an operator. Approval must be obtained from the bank before physically accepting the envelope.
3. A customer must be able to make a transfer of money between any two accounts linked to the card.
4. A customer must be able to make a balance inquiry of any account linked to the card.
5. A customer must be able to abort a transaction in progress by pressing the Cancel key instead of responding to a request from the machine.

The ATM will communicate each transaction to the bank and obtain verification that it was allowed by the bank. Ordinarily, a transaction will be considered complete by the bank once it has been approved. In the case of a deposit, a second message will be sent to the bank indicating that the customer has deposited the envelope. (If the customer fails to deposit the envelope within the timeout period, or presses cancel instead, no second message will be sent to the bank and the deposit will not be credited to the customer.). If the bank determines that the customer's PIN is invalid, the customer will be required to re-enter the PIN before a transaction can proceed. If the customer is unable to successfully enter the PIN after three tries, the card will be permanently retained by the machine, and the customer will have to contact the bank to get it back. If a transaction fails for any reason other than an invalid PIN, the ATM will display an explanation of the problem, and will then ask the customer whether he/she wants to do another transaction.

The ATM will provide the customer with a printed receipt for each successful transaction. The ATM will have a key-operated switch that will allow an operator to start and stop the servicing of customers. After turning the switch to the "on" position, the operator will be required to verify and enter the total cash on hand. The machine can only be turned off when it is not servicing a customer. When the switch is moved to the "off" position, the machine will shut down, so that the operator may remove deposit envelopes and reload the machine with cash, blank receipts, etc.

Software Testing :

1. Write programs in ‘C’ Language to demonstrate the working of the following constructs:
i) do...while ii) while….do iii) if…else iv) switch v) for

2. “A program written in ‘C’ language for Matrix Multiplication fails” Introspect the causes for its failure and write down the possible reasons for its failure.

3. Take any system (e.g. ATM system) and study its system specifications and report the various bugs.

4. Write the test cases for any known application (e.g. Banking application)

5. Create a test plan document for any application (e.g. Library Management System)

6. Study of any testing tool (e.g. Win runner)

7. Study of any web testing tool (e.g. Selenium)

8. Study of any bug tracking tool (e.g. Bugzilla, bugbit)

9. Study of any test management tool (e.g. Test Director)

10. Study of any open source-testing tool (e.g. Test Link)

11. Take a mini project (e.g. University admission, Placement Portal) and execute it. During the Life cycle of the mini project create the various testing documents* and final test report document.

Move To Top


Mobile Application Development Lab


1.   Purpose / Objective

In this lab, a student is expected to design, implement, document and present a mobile client/server system using standard Java and Java 2 Micro Edition (J2ME) platform. Specifically it is required to design and implement a system that consists mainly of a mobile client (MC) and a Proxy Server (PS). MC will be written in J2ME, MIDP 2.0, while PS will be written in standard Java. It is necessary to use a mobile phone emulator to develop and demonstrate the experiments.

2. Lab Hardware & Software Details

60 Systems with Intel Pentium Processors, J2ME

3. List Of Experiments In Mobile Application Development Lab :

Week - 1: Installation of Java Wireless Toolkit (J2ME)

1) If the Java Development Kit (JDK) is not thereor only having the Java Runtime Environment (JRE) installed, install the latest JDK from http://java.sun.com/javase/downloads/index.jsp. Current stable release of Java is JDK 6 Update 7 but check the web page in case there are newer non-beta releases available.
2) Next, download the Java Wireless Toolkit (formerly called J2ME Wireless Toolkit) from:
http://java.sun.com/products/sjwtoolkit/download.html.
3) Run the installer (for example, for Windows it is: sun_java_wireless_toolkit- 2_5_2-windows.exe). The installer checks whether a compatible Java environment has been pre-installed. If not, it is necessary to uninstall old versions of Java and perform Step 1 again.
Once after successful installation of Java and the tool kit compile this program and run the following program in the toolkit.

Steps to run this program in toolkit:
1. Start -> All Programs -> Sun Java Tool Kit -> Wireless Tool Kit
2. Click New Project – Enter Project Name -> Enter Class Name -> Click on Create Project.
3. Choose appropriate API Selection and Configurations.
4. Place Java Source file in WTK2.1 / WTK2.2\apps\projectname\src
5. Build the Project.
6. Run the Project.
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class HelloWorld extends MIDlet{
private Form form;
private Display display;
public HelloWorld(){
super();
}
public void startApp(){
form = new Form("Hello World");
String msg = "Hello World!!!!!!!";
form.append(msg);
display = Display.getDisplay(this);
display.setCurrent(form);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){
notifyDestroyed();
}
}

Week - 2 Working with J2ME Features:

Working with J2ME Features:
Say, creating a Hello World program Experiment with the most basic features and mobile application interaction concepts (lists, text boxes, buttons, radio boxes, soft buttons, graphics, etc)
2.1 Create a program which creates to following kind of menu.
* cut
* copy
* past
* delete
* select all
* unselect all




















2.2 Event Handling.
Create a menu which has the following options:
* cut - can be on/off
* copy - can be on/off
* paste - can be on/off
* delete - can be on/off
* select all - put all 4 options on
* unselect all - put all 4 options off




















2.3. Input checking
Create an MIDP application which examine, that a phone number, which a user has entered is in the given format.
* Area code should be one of the following: 040, 041, 050, 0400, 044
* There should 6-8 numbers in telephone number (+ area code)




















Week - 3 Threads & High Level UI:
3.1. Create a slide show which has three slides, which includes only text. Program should change to the new slide after 5 seconds. After the third slide program returns to the first slide.




















3.2 High-level UI
Create a MIDP application, which show to the user 5-10 quiz questions. All questions have 4 possible options and one right option exactly. Application counts and shows to the user how many right answers were right and shows them to user.




















3.3 Create a MIDP application, where the user can enter player name and points. The program saves the information to the record using RMS at MIDP device. Program should also print out the top 10 player list to the end user. You can use this class in your game if you made own class for saving and reading record sets.





























Week - 4 Working on Drawing and Images

4.1 Create a slide show which has three slides, which includes pictures at PNG format. Program should change to the new slide other 5 seconds.



















4.2 Create a MIDP application, which draws a bar graph to the display. Data values can be given at int[] array.




















4.3 Create a MIDP application, which draws a bar graph to the display. Data values can be given at int[] array. You can enter four data (integer) values to the input text field.







































Week - 5 Developing Networked Applications using the Wireless Toolkit

Creating a Simple Client-Server Application
Create, compile and run a basic UDP-based client-server application.
Creating the Datagram Server project

1) Click on Wireless Toolkit 2.5.2 under the group: All Programs→Sun Java (TM) Wireless Toolkit 2.5.2.
2) Click on 'New Project...' button.
3) Enter project name as 'DatagramServer'. Enter MIDlet name as 'DatagramServer'. Note that the Midlet name is the same as the name of the class in the source code, which extends the MIDlet class, otherwise the application won’t run.
4) Another window pops up where it is required to select a target platform. Select 'MIDP 1.0' from the drop down list.
5) After clicking OK, the project is created; and the Wireless Toolkit tells that the name of the folder where source code files are created. The path of the source code folder is displayed in the debug output window.
Creating and Compiling the DatagramServer source files
The Wireless Toolkit does not come with an IDE by default so Use any IDE or a text editor like Notepad.
1) Create a new text file called DatagramServer.java in the source folder of the project. The exact path of this folder is displayed in the Wireless Toolkit window.
2) Paste contents DatagramServer.java from into the source file.

Running your Server application on the Phone simulator
1) After compiling the project successfully, click on the Run button in the Wireless Toolkit window.
2) A graphical window depicting a phone handset will appear with the name of your application highlighted on its screen as shown below.
3) To start the application, click on the right soft-key (marked with a dot) below the ‘Launch’ command.
4) The phone simulator might ask if it is OK to run the network application. Select ‘Yes’ by clicking on the appropriate soft-key. The server is now up and running.
5) Keep the server running during the creation, compilation and running of the Datagram Client application.

Creating the DatagramClient project
1) Use the same instance of the Wireless Toolkit that is used for creating and compiling the Datagram Server project.
2) Click on 'New Project...' button.
3) A new window pops up. Enter project name as 'DatagramClient'. Enter MIDlet name as 'DatagramClient'. Note that the Midlet name is the same as the name of the class in the source code, which extends the MIDlet class.
4) Another window pops up where one has to select a target platform. Select 'MIDP 1.0' from the drop down list.
5) After clicking OK, the project is created and the Wireless Toolkit tells where to place the source code files. The path of the source code folder is displayed in the debug output window as explained before.

Creating and Compiling the DatagramClient source files
1) Create a new text file called DatagramClient.java in the source folder of the project.
2) Paste contents DatagramClient.java into the source file.
3) Then click on the Build button in the Wireless Toolkit window. If the compilation is OK, it will say Build Complete in the window's debug output window, otherwise it will show the errors. Note: In the source code, use the System.out.println() statement to output debug information to this window.

Running your Client application on the Phone simulator
1) After compiling the project successfully, click on the Run button in the Wireless Toolkit window.
2) A graphical window depicting a phone handset will appear with the name of the application highlighted on its screen.
3) To start the application, click on the right soft-key (marked with a dot) below the ‘Launch’ command.
4) The phone simulator might ask if it is OK to run the network application. Select ‘Yes’ by clicking on the appropriate soft-key. The client is now up and running.
5) When the client executes on the phone simulator, one should see a text box with the caption 'Message'. Enter any message and press the right soft-key (corresponding to Send). If the client-server application is working properly, the screen of the server phone will display the message sent by the client and the client screen will now display a message sent by the server in response. The response message from the server is the original client message in reverse.
6) Try various features of the phone simulator including the different look-and feel options.

Week - 6 Authentication with a Web Server

6.1 Write a sample program to show how to make a SOCKET Connection from j2me phone.
This J2ME sample program shows how to how to make a SOCKET Connection from a J2ME Phone. Many a times there is a need to connect backend HTTP server from the J2ME application. shows how to make a SOCKET connection from the phone to port 80.

6.2 Login to HTTP Server from a J2ME Program
This J2ME sample program shows how to display a simple LOGIN SCREEN on the J2ME phone and how to authenticate to a HTTP server.
Many J2ME applications for security reasons require the authentication of the user. This free J2ME sample program, shows how a J2ME application can do authentication to the backend server.
Note: Use Apache Tomcat Server as Web Server and Mysql as Database Server.

Week - 7 & 8 Web Application using J2ME

The following should be carried out with respect to the given set of application domains: (Assume that the Server is connected to the well-maintained database of the given domain. Mobile Client is to be connected to the Server and fetch the required data value/information)
• Students Marks Enquiry
• Town/City Movie Enquiry
• Railway/Road/Air (For example PNR) Enquiry/Status
• Sports (say, Cricket) Update
• Town/City Weather Update
• Public Exams (say Intermediate or SSC)/ Entrance (Say EAMCET) Results Enquiry
Divide Student into Batches and suggest them to design database according to their domains and render information according the requests.

Move To Top





M.TECH (Computer Science & Engineering, Computer Science, Software Engineering, Computer Networks & Information Security)


Following Post Graduate Labs

1. Advanced Data Structures and Algorithms Lab

2. Web Technologies and Services Lab

3. Information Security And Applications Lab

4. Web Services Lab

5. Software Testing Lab


ADVANCED DATA STRUCTURES AND ALGORITHMS LAB


 1.   Purpose / Objective

The objective of the lab is to introduce the students to the fundamental design, analysis, and implementation of basic data structures, Basic concepts in the specification and analysis of programs, Principles for good program design, especially the uses of data abstraction.

 2.   Lab Hardware & Software Details

30 Systems with Intel Pentium Processors, JAVA

3. List Of Experiments In ADVANCED DATA STRUCTURES AND ALGORITHMS LAB :

1. Write Java programs that use both recursive and non-recursive functions for implementing the following searching methods:
a) Linear search b) Binary search
2. Write Java programs to implement the following using arrays and linked listsa) List ADT
3. Write Java programs to implement the following using an array.
a) Stack ADT b) Queue ADT
4. Write a Java program that reads an infix expression and converts the expression to postfix form(Use stack ADT).
5. Write a Java program to implement circular queue ADT using an array.
6. Write a Java program that uses both a stack and a queue to test whether the given string is apalindrome or not.
7. Write Java programs to implement the following using a singly linked list.a) Stack ADT b) Queue ADT
8. Write Java programs to implement the deque (double ended queue) ADT usinga) Array b) Singly linked list c) Doubly linked list.
9. Write a Java program to implement priority queue ADT.
10. Write a Java program to perform the following operations:
a) Construct a binary search tree of elements, b) Search for a key element in the above binary search tree, c) Delete an element from the above binary search tree.
11. Write a Java program to implement all the functions of a dictionary (ADT) using Hashing.v 12. Write a Java program to implement Dijkstra’s algorithm for Single source shortest path problem.
13. Write Java programs that use recursive and non-recursive functions to traverse the given binarytree in
a) Preorder b) Inorder c) Postorder.
14. Write Java programs for the implementation of bfs and dfs for a given graph.
15. Write Java programs for implementing the following sorting methods: a) Bubble sort b) Merge sort c) Binary tree sort d) Insertion sort e) Heap sort f) Quick sort g) Radix sort
16. Write a Java program to perform the following operations:a) Insertion into a B-tree b) Searching in a B-tree
17. Write a Java program that implements Kruskal’s algorithm to generate minimum cost spanningtree.
18. Write a Java program that implements KMP algorithm for pattern matching.

Move To Top


INFORMATION SECURITY AND APPLICATIONS LAB


 1.   Purpose / Objective

The Network Security Lab tries to present several hands-on exercises to help reinforce thestudents knowledge and understanding of the various network security aspects.
The lab exercises are divided into two parts A & B.
Part A deals with the implementation of cryptographic algorithms.
Part B deals with usage of various security attacks/defenses related tools and utilities.

 2.   Lab Hardware & Software Details

Lab Hardware & Software Details - 30 Systems with Intel Pentium Processors, C, C++, Java, etc.

3. List Of Experiments In INFORMATION SECURITY AND APPLICATIONS LAB:

PART A:
1. Write a C program that contains a string(char pointer) with a value ‘Hello world’. The programshould XOR each character in this string with 0 and displays the result.
2. Write a C program that contains a string(char pointer) with a value ‘Hello world’. The programshould AND or and XOR each character in this string with 127 and display the result.
3. Write a Java program to perform encryption and decryption using the following algorithms - a. Ceaser cipherb. Substitution cipherc. Hill Cipher
4. Write a C program to implement the DES algorithm logic.
5. Write a JAVA program to implement the DES algorithm logic.
6. Write a Java program that contains functions, which accept a key and input text to beencrypted/decrypted. This program should use the key to encrypt/decrypt the input by usingthe triple Des algorithm. Make use of Java Cryptography package.
7. Write a C/JAVA program to implement the Blowfish algorithm logic.
8. Write a C/JAVA program to implement the Rijndael algorithm logic.
9. Write the RC4 logic in Java
10. Using Java cryptography, encrypt the text “Hello world” using Blowfish. Create your own keyusing Java keytool.
11. Implement DES-2 and DES-3 using Java cryptography package.
12. Write a Java program to implement RSA algorithm.
13. Implement the Diffie-Hellman Key Exchange mechanism using HTML and JavaScript.Consider the end user as one of the parties(Alice) and the JavaScript application as the otherparty(Bob)
14. Calculate the message digest of a text using the SHA-1 algorithm in JAVA.
15. Calculate the message digest of a text using the MD5 algorithm in JAVA.
16. Explore the Java classes related to digital certificates.
17. Create a digital certificate of your own by using the Java keytool.
18. Write a Java program to encrypt users passwords before they are stored in a database table,and to retrieve them whenever they are to be brought back for verification.
19. Key generation(public and private key pair) can be performed using Java. Write a programwhich can do this.
20. Write a program in java, which performs a digital signature on a given text.
21. Study phishing in more detail. Find out which popular bank sites have been phished and how.

PART - B
The following exercises have to be performed using various software tools/utilities mentioned
1. Passive Information Gathering
a. IP Address and Domain Identification of log entries – DNS, RIR, etc tools
b. Information Gathering of a web site: WHOIS, ARIN, etc tools
c. Banner Grabbing: Netcat, etc tools
2. Detecting Live Systems
a. Port Scanning : Nmap,SuperScan
b. Passive Fingerprinting: Xprobe2
c. Active Fingerprinting: Xprobe2
3. Enumerating Systems
a. SNMP Enumeration: SolarWinds IP Network Browser,
b. Enumerating Routing Protocols: Cain & Abel tool, www.oxid.it
4. Automated Attack and Penetration Tools
a. Exploring N-Stalker, a Vulnerability Assessment Tool, www.nstalker.com
5. Defeating Malware
a. Building Trojans, Rootkit Hunter: www.rootkit.nl/projects/rootkit_hunter.html
b. Finding malware
6. Securing Wireless Systems
a. Scan WAPs: NetStumbler, www.netstumbler.com/downloads
b. Capture Wireless Traffic: Wireshark, www.wireshark.org

Move To Top


Web Services Lab


 1.   Purpose / Objective

The purpose of the lab is –
• To implement the technologies like WSDL, UDDI
• To learn how to implement and deploy web service client and server

 2.   Lab Hardware & Software Details

30 Systems with Intel Pentium Processors, JAVA

3. List Of Experiments In Web Services Lab :

1. Write a program to implement WSDL Service (Hello Service . WSDL File)
2. Write a program the service provider can be implement a single get price(), static bind() and getproduct operation.
3. Write a program to implement the operation can receive request and will return a response intwo ways.
a) One-Way operation
b) Request - Response
4. Write a program to implement to create a simple web service that converts the temperature fromFahrenheit to Celsius (using HTTP Post Protocol)
5. Write a program to implement business UDDI Registry entry
6. Write a program to implement
a) Web based service consumer
b) Windows application based web service consumer

Move To Top


Web Technologies and Services Lab


 1.   Purpose / Objective

The objective of this lab is to Write syntactically correct HTTP messages and describe the semantics of common HTTP methods and header fields, Discuss differences between URIs, URNs, and URLs, and demonstrate a detailedunderstanding of http-scheme URLs, both relative and absolute, Describe the actions, including those related to the cache, performed by a browser in theprocess of visiting a Web address, Install a web server and perform basic administrative procedures, such as tuningcommunication parameters, denying access to certain domains, and interpreting an accesslog, Write a valid standards-conformant HTML document involving a variety of element types,including hyperlinks, images, lists, tables, and forms, Use CSS to implement a variety of presentation effects in HTML and XML documents,including explicit positioning of elements, Demonstrate techniques for improving the accessibility of an HTML document

 2.   Lab Hardware & Software Details

Lab Hardware & Software Details - 30 Systems with Intel Pentium Processors, HTML.XML, Java, Tomcat Server etc.

3. List Of Experiments In Web Technologies and Services Lab :

i) Web Technologies
1.Develop static pages (using Only HTML) of an online Book store. The pages should resemble:www.amazon.com the website should consist the following pages.Home page, Registration and user Login, User Profile Page, Books catalogShopping Cart, Payment By credit card Order Confirmation
2. Validate the Registration, user login, user profile and payment by credit card pages usingJavaScript.
3. Create and save an XML document at the server, which contains 10 users information. Write aprogram, which takes User Id as an input and returns the user details by taking the userinformation from the XML document.
4. Install TOMCAT web server. Convert the static web pages of assignments 2 into dynamic webpages using Servlets and cookies. Hint: Users information (user id, password, credit card number)would be stored in web.xml. Each user should have a separate Shopping Cart.
5. Redo the previous task using JSP by converting the static web pages of assignments 2 intodynamic web pages.
Create a database with user information and books information. The bookscatalogue should be dynamically loaded from the database. Follow the MVC architecture whiledoing the website.
6. Implement the “Hello World!” program using JSP Struts Framework.

ii)Additional Assignment Problems
Write an HTML page including any required Javascript that takes a number from one text field in therange of 0 to 999 and shows it in another text field in words. If the number is out of range, it shouldshow “out of range” and if it is not a number, it should show “not a number” message in the resultbox.
Write a java swing application that takes a text file name as input and counts the characters, wordsand lines in the file. Words are separated with white space characters and lines are separated withnew line character.
Write a simple calculator servlet that takes two numbers and an operator (+, -, /, * and %) from anHTML page and returns the result page with the operation performed on the operands. It shouldcheck in a database if the same expression is already computed and if so, just return the value fromdatabase. Use MySQL or PostgreSQL.

Move To Top


Software Testing Lab


 1.   Purpose / Objective

The student should be able - To understand software testing and quality assurance as a fundamental component ofsoftware life cycle, To define the scope of SW T&QA projects, To efficiently perform T&QA activities using modern software tools, To estimate cost of a T&QA project and manage budgets, To prepare test plans and schedules for a T&QA project, To develop T&QA project staffing requirements, To effectively manage a T&QA project,, To learn to use the following (or Similar) automated testing tools to automate testing:
a. Win Runner/QTP for functional testing, b. LoadRunner for Load/Stress testing, c. Test Director for test management, d. JUnit,HTMLUnit,CPPUnit.

 2.   Lab Hardware & Software Details

30 Systems with Intel Pentium Processors, TURBO C , Win runner, Selenium, Bugzilla, bugbit, Test Director, Test Link

3. List Of Experiments In Software Testing Lab :

Sample problems on testing ARE -
1. Write programs in ‘C’ Language to demonstrate the working of the following constructs:i) do...while ii) while….do iii) if…else iv) switch v) for
2. “A program written in ‘C’ language for Matrix Multiplication fails” Introspect the causes for itsfailure and write down the possible reasons for its failure.
3. Take any system (e.g. ATM system) and study its system specifications and report thevarious bugs.
4. Write the test cases for any known application (e.g. Banking application)
5. Create a test plan document for any application (e.g. Library Management System)
6. Study of any testing tool (e.g. Win runner)
7. Study of any web testing tool (e.g. Selenium)
8. Study of any bug tracking tool (e.g. Bugzilla, bugbit)
9. Study of any test management tool (e.g. Test Director)
10. Study of any open source-testing tool (e.g. Test Link)
11. Take a mini project (e.g. University admission, Placement Portal) and execute it. During theLife cycle of the mini project create the various testing documents* and final test reportdocument.

Additional problems on testing:
1. Test the following using JUnit and CPPUnit:i) Sorting problems ii) Searching problemsiii) Finding gcd of two integers iv) Finding factorial of a number.
2. Test web based forms using HTMLUnit.
3. Test database stored procedures using SQLUnit.(Use sufficient number of test cases in solving above Problems)
*Note: To create the various testing related documents refer to the text “Effective SoftwareTesting Methodologies by William E. Perry”

Move To Top

No Ragging