DS Lab_Manual
DS Lab_Manual
Of
Computer Science & Engineering
Data Structure & Algorithm Lab manual
________________________ _________________________
Course Coordinator HOD ,CSE
OUR MISSON:
To develop as a national level accomplished department of excellence in Computer Science and
Engineering in terms of education, learning and research environment that will mould students
into becoming innovative engineers, competent at solving real world problems in industry and
commerce with leadership, result orientation, and high ethical standards.
OUR VISION:
We aspire to prepare world class computing professionals who can blossom into truly global
leaders.
______________________________________________________________________
SEMESTER : III
STREAM : CSE
INDEX
SL. No. CONTENT Page No.
2 Guidelines to Students 4
Direct Tools
Performance of the experiment in the lab
Lab Report
Programming knowledge
Attendance
Viva
11
Indirect Tools
Team Work
Ethics
Punctuality
Micro projects
Faculty & staff satisfaction (semester exit) survey of
students
Employer Survey
Rubrics on assessment Tools (Checklist and Analytical 57
12
Rubrics)
_______________________________________________________
There are 38 systems (DELL) installed in this Lab. Their configurations are as follows:
Processor : INTEL® Core™ i5-3570 CPU @ 3.40 GHz 0 GHz. &
INTEL® Core™ i7-6700 CPU @ 3.40 GHz x 8
RAM : 4 GB (DDR2)
2. Guideline to Students :
1 Equipment in the lab for the use of student community. Students need to maintain a proper
decorum in the computer lab. Students must use the equipment with care. Any damage is caused
is punishable.
2 Students are required to carry their observation / programs book with completed exercises while
entering the lab.
3 Students are supposed to occupy the machines allotted to them and are not supposed to talk or
make noise in the lab. The allocation is put up on the lab notice board.
4 Lab can be used in free time / lunch hours by the students who need to use the systems should
take prior permission from the lab in-charge.
7 All the students must wear ID cards, leave their foot wear out side the lab and must come with a
formal dress code.
PO 2. Problem Analysis: Identify, formulate, research literature and analyze complex computer
engineering problems using first principles of mathematics, natural sciences and computer
engineering sciences for reaching advanced real life solutions.
PO 8. Individual and Team Work: Function effectively as an individual, and as a member or leader in
diverse teams and in multi disciplinary settings.
PO 10. Project Management and Finance: Demonstrate knowledge and understanding of engineering
and management principles and apply these to one’s own work, as a member and leader in a team,
to manage projects and in multidisciplinary environments.
PO 11. Life-long Learning: Recognize the need for and have the preparation and ability to engage in
independent and life- long learning in the broadest context of technological change.(NBA’s plus)
participate and succeed in competitive examinations for PG programs & Govt. services.
PEO:
1. To educate graduates to work professionally in computing profession.
2. To educate graduates to analyze data, design, and conduct experiments using
modern engineering tools.
3. To train graduates to lead in multinational, multicultural, and multi-disciplinary
teams.
4. To understand the impact of Computer science & engineering solution in a global
and societal context.
5. To encourage graduates to pursue higher education and research.
6. To develop graduates to communicate effectively with the technical fraternity and
the people at large.
4. Course outcome of the Lab & correlation of course outcome with PO of the department
CO1 S S S - M - - M - M M
CO2 S S S - M - - M - M M
S S S - M - - M - M M
CO3
S=Strong, M=Moderate and W=Weak
7 Experiment 1 To implement the operations like create, count, reverse and CO1,CO3
display in a singly linked list.
8 Experiment 2 To implement the operations like create insert at head, CO1,CO3
insert after, insert before, insert at end, in a singly linked
list.
9 Experiment 3 To implement the operations like create and delete at head, CO1,CO3
delete at end, delete with respect to position, delete with
respect to value in a
Singly linked list.
10 Experiment 1 To implement the operations like create, count, reverse and CO1,CO3
display in a doubly linked list.
11 Experiment 2 To implement the operations like create insert at head, CO1,CO3
insert after, insert before, insert at end, in a doubly linked
list.
12 Experiment 3 To implement the operations like create and delete at head, CO1,CO3
delete at end, delete with respect to position, delete with
respect to value in a
Doubly linked list.
13 Experiment 1 To implement the operations like create, count, reverse and CO1,CO3
Day-9 (Queue)
Day - 11 (Sorting)
Day-12 (Tree)
Day-13 (Graph)
All arrays consist of contiguous memory locations. The lowest address corresponds
to the first element and the highest address to the last element.
Declaring Arrays
To declare an array in C, a programmer specifies the type of the elements and the
number of elements required by an array as follows:
Initializing Arrays
You can initialize array in C either one by one or using a single statement as follows:
The number of values between braces { } can not be larger than the number of
elements that we declare for the array between square brackets [ ].
If you omit the size of the array, an array just big enough to hold the initialization is
created. Therefore, if you write:
You will create exactly the same array as you did in the previous example. Following
is an example to assign a single element of the array:
balance[4] = 50.0;
The above statement assigns element number 5th in the array with a value of 50.0.
All arrays have 0 as the index of their first element which is also called base index
and last index of an array will be total size of the array minus 1. Following is the
pictorial representation of the same array we discussed above:
An element is accessed by indexing the array name. This is done by placing the index
of the element within square brackets after the name of the array. For example:
The above statement will take 10th element from the array and assign the value to
salary variable. Following is an example which will use all the above mentioned
three concepts viz. declaration, assignment and accessing arrays:
#include <stdio.h>
int main ()
{
int n[ 10 ]; /* n is an array of 10 integers */
int i,j;
return 0;
}
When the above code is compiled and executed, it produces the following result:
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
Sample experiment 1:
1.AIM : To implement 2D array dynamically
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
There are two primary ways to dynamically create a 2D array. The following two pieces of code will
dynamically create an MxN 2D array, where M is the size of the first dimension, and N is the size of the
second dimension. When creating a dynamic 2D array using the pointer to a pointer to data method, first
create a 1D array dynamically by declaring a pointer and allocating a variable amount of memory to that
pointer. The pointer then points to the first element of the array, and the data that it points to can be
retrieved by using array[0], array[1], etc.
You can think of a 2D array as an array of 1D arrays. So memory is first allocated to 'table' for an array of
pointers. Each of these pointers then has memory allocated to them to hold the data of the array. You can
then access data using array notation table[0][0], table[0][1], etc.
3.2 Designing the Solution:
{
a[i]=(int*)malloc(sizeof(int)*column);
}
for(i=0;i<row;i++)
{
for(j=0;j<column;j++)
{
printf("a[%d][%d]=",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
}
void display(int **a,int row,int column)
{
int i,j;
printf("\n the array elements are:\n");
for(i=0;i<row;i++)
{
for(j=0;j<column;j++)
{
printf("a[%d][%d]=%d\t",i+1,j+1,a[i][j]);
}
printf("\n");
}
}
4.Result:
dimensional) arrays (A, IA, JA). Let NNZ denote the number of nonzero entries in M. (Note that unlike in
ordinary mathematics, zero-based indices shall be used here.)
The array A is of length NNZ and holds all the nonzero entries of M in left-to-right top-to-bottom
("row-major") order.
The array IA is of length m + 1 and contains the index in A of the first element in each row,
followed by the total number of nonzero elements NNZ. IA[i] contains the index inA of the first
nonzero element of row i. Row i of the original matrix extends from to A[IA[i + 1]
− 1], i.e. from the start of one row to the last index before the start of the next. The last
entry, IA[m], must be the number of elements in A.[4]
The third array, JA, contains the column index in M of each element of A and hence is of
length NNZ as well.
For example, the matrix
#define MAXCOL 10
int sparse[MAXROW][MAXCOL];
int vector[30][3];
void sparsematrix(int,int);
void generate_vector(int,int);
int main ()
{
int r,c,i,j;
printf("\n\tEnter The no.of rows:");
scanf("%d",&r);
if(r>MAXROW)
{
printf("\n\tNomber of rows should be <=10");
exit(0);
}
printf ("\n\tEnter the no.of cols:");
scanf("%d",&c);
if(c>MAXCOL)
{
printf("\n\tNo. of cols. should be<=10");
exit(0);
}
sparsematrix(r,c);
getch();
return 0;
}
void sparsematrix(int r,int c)
{
int i,j;
printf ("\n\tEnter the elements->");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("\n\telement:->");
fflush(stdin);
scanf("%d",&sparse[i][j]);
}
} generate_vector(r,c);
}
/*FOR CHANGING THE MATRIX*/
void generate_vector(int r,int c)
{
int i,j,p=1;
/*Scaning the sparse matrix*/
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
if(sparse[i][j]!=0)
{ vector[p][0]=i; vector[p][1]=j; vector[p][2]=sparse[i][j]; p++;
}
}
}
/*Filling the header information*/
vector[0][0]=r; vector[0][1]=c; vector[0][2]=p-1;
printf("\n\tRow Col value");
Recursion in a screen recording program, where the smaller window contains a snapshot of the entire
screen.
In mathematics and computer science, a class of objects or methods exhibit recursive behavior when they
can be defined by two properties:
1. A simple base case (or cases)
2. A set of rules that reduce all other cases toward the base case
For example, the following is a recursive definition of a person's ancestors:
One's parents are one's ancestors (base case).
The ancestors of one's ancestors are also one's ancestors (recursion step).
The Fibonacci sequence is a classic example of recursion:
Sample experiment 3:
1. AIM: Write an algorithm to compute factorial of a given number using recursion
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
FUNCTION FACTORIAL (N: INTEGER): INTEGER
(* RECURSIVE COMPUTATION OF N FACTORIAL *)
BEGIN
(* TEST FOR STOPPING STATE *)
IF N <= 0 THEN
FACTORIAL := 1
ELSE
FACTORIAL := N * FACTORIAL(N - 1)
END; (* FACTORIAL *)
3.2 Code:
#include<stdio.h>
#include<conio.h>
long int fact(int);
int main()
{
int n;
long int c;
printf("\n enter the number(must be positive integer):");
scanf("%d",&n);
c=fact(n);
printf("\n the factorial of %d no is->%ld",n,c);
getch();
return 0;
}
long int fact(int n)
{
if(n==0)
return 1;
else if(n==1)
return n;
else
return n*fact(n-1);
}
3.3: Result
In computer science, a linked list is a data structure consisting of a group of nodes which together
represent a sequence. Under the simplest form, each node is composed of a data and a reference (in other
words, a link) to the next node in the sequence; more complex variants add additional links. This
structure allows for efficient insertion or removal of elements from any position in the sequence.
A linked list whose nodes contain two fields: an integer value and a link to the next node. The last node is linked to a
terminator used to signify the end of the list.
Linked lists are among the simplest and most common data structures. They can be used to implement
several other common abstract data types, including lists (the abstract data
type), stacks, queues, associative arrays, and S-expressions, though it is not uncommon to implement the
other data structures directly without using a list as the basis of implementation.
The principal benefit of a linked list over a conventional array is that the list elements can easily be
inserted or removed without reallocation or reorganization of the entire structure because the data items
need not be stored contiguously in memory or on disk. Linked lists allow insertion and removal of nodes
at any point in the list, and can do so with a constant number of operations if the link previous to the link
being added or removed is maintained during list traversal.
On the other hand, simple linked lists by themselves do not allow random access to the data, or any form
of efficient indexing. Thus, many basic operations — such as obtaining the last node of the list (assuming
that the last node is not maintained as separate node reference in the list structure), or finding a node that
contains a given datum, or locating the place where a new node should be inserted — may require
scanning most or all of the list elements. The advantages and disadvantages of using linked lists are as
follows:-
Advantages:
Linked lists are a dynamic data structure, allocating the needed memory when the program is
initiated.
Insertion and deletion node operations are easily implemented in a linked list.
Linear data structures such as stacks and queues are easily executed with a linked list.
They can reduce access time and may expand in real time without memory overhead.
Disadvantages:
They have a tendency to waste memory due to pointers requiring extra storage space.
Nodes in a linked list must be read in order from the beginning as linked lists are
inherently sequential access.
Nodes are stored incontiguously, greatly increasing the time required to access individual
elements within the list.
Difficulties arise in linked lists when it comes to reverse traversing. Singly linked lists are
extremely difficult to navigate backwards, and while doubly linked lists are somewhat easier to
read, memory is wasted in allocating space for a back pointer.
A singly linked list whose nodes contain two fields: an integer value and a link to the next node
A doubly linked list whose nodes contain three fields: an integer value, the link forward to the next node, and the
link backward to the previous node
A technique known as XOR-linking allows a doubly linked list to be implemented using a single link
field in each node. However, this technique requires the ability to do bit operations on addresses, and
therefore may not be available in some high-level languages.
Sentinel nodes:
In some implementations, an extra sentinel or dummy node may be added before the first data record
and/or after the last one. This convention simplifies and accelerates some list-handling algorithms, by
ensuring that all links can be safely dereferenced and that every list (even one that contains no data
elements) always has a "first" and "last" node.
Empty lists:
An empty list is a list that contains no data records. This is usually the same as saying that it has zero
nodes. If sentinel nodes are being used, the list is usually said to be empty when it has only sentinel
nodes.
Hash linking:
The link fields need not be physically part of the nodes. If the data records are stored in an array and
referenced by their indices, the link field may be stored in a separate array with the same indices as the
data records.
List handles:
Since a reference to the first node gives access to the whole list, that reference is often called
the address, pointer, or handle of the list. Algorithms that manipulate linked lists usually get such
handles to the input lists and return the handles to the resulting lists. In fact, in the context of such
algorithms, the word "list" often means "list handle". In some situations, however, it may be convenient to
refer to a list by a handle that consists of two links, pointing to its first and last nodes.
Combining alternatives:
The alternatives listed above may be arbitrarily combined in almost every way, so one may have circular
doubly linked lists without sentinels, circular singly linked lists with sentinels, etc.
Sample experiment 4:
1. AIM:
To implement the operations (insert,insert after,insert before ,delete after ,delete before) and
display the whole link list.
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
To insert the set of data, we use the link list data structure, we would like to perform the operations like
insert data into link list,insert data after the node whose value is specified, insert data before the node
whose value is specified , delete data after the node whose value is specified, delete data before the node
whose value is specified and display all the data of link list.
3.2 Designing the Solution:
class ImpLinkListNode
{
friend class LinkListNode;
public:
LinkListNode *first; //declaration of head LinkListNode
lkimp()
{
first=NULL;
}
void add_LinkListNode(int d) //constructur for link list
{
if(first==NULL)
{
first=new LinkListNode(d);
}
else
{
LinkListNode *l=new LinkListNode(d);
LinkListNode *p=first;
while(p->link!=NULL)
{
p=p->link;
}
p->link=l;
}
}
void delete_LinkListNode(int delval) //for delete the LinkListNode whose value is
specified
{
LinkListNode *p=first;
LinkListNode *prev;
while(p!=NULL && p->data!=delval)
{
prev=p;
p=p->link;
}
prev->link=p->link;
}
void delete_after(int LinkListNodeval) //LinkListNode delete after
{
LinkListNode *p=first;
LinkListNode *prev,*next;
LinkListNode *prev,*next;
while(p->link->link!=NULL && p->link->link->data!=LinkListNodeval)
{
prev=p->link;
p=p->link->link;
}
p->link=p->link->link;
}
void insert_after(int LinkListNodeval,int newval) //For enter new LinkListNode after specified value
{
LinkListNode *newLinkListNode =new LinkListNode(newval);
LinkListNode *p=first;
while(p->link!=NULL && p->data!=LinkListNodeval)
{
p=p->link;
}
LinkListNode *link=p;
newLinkListNode->link=p->link;
p->link=newLinkListNode;
}
void insert_before(int LinkListNodeval,int newval) //For enter new LinkListNode
before specified value
{
LinkListNode *newLinkListNode =new LinkListNode(newval);
LinkListNode *p=first;
LinkListNode *prev;
while(p->link!=NULL && p->data!=LinkListNodeval)
{
prev=p;
p=p->link;
}
newLinkListNode->link=prev->link;
prev->link=newLinkListNode;
}
void display() //display the linklist
{
LinkListNode *p=first;
while(p!=NULL)
{
cout<<"Value ="<<p->data<<"\n";
p=p->link;
}
}
};
void main()
{
clrscr();
lkimp l;
l.add_LinkListNode(10);
l.add_LinkListNode(20);
l.add_LinkListNode(30);
l.add_LinkListNode(40);
l.add_LinkListNode(50);
l.add_LinkListNode(60);
l.display();
4 Conclusions
By this experiment; we can conclude that basic working of singly link list operations.
Sample Experiment:5
1.AIM: Implement the Polynomial representation using Array.
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
The following steps are required to make the addition of two polynomial..
1) Design the structure of node using C-programming structure.
struct term
{
int coeff;
int expo;
struct term *next;
};
2) Insert term at the end of polynomial using insert end function given below.
void insertend(TERM **p,int c,int e);
Pass co-efficient, exponent and term as an argument.
3) Implement polynomial addition function for addition of two polynomial and store in
third polynomial as a result.
a. If (T1.exp == T2.exp) than add T1.coeff and T2.coeff and store in T3.coeff .
And T1.exp++, T2.exp++
b. If (T1.exp > T2.exp) than T3.exp =T1.exp & T3.coeff=T1.coeff and T1.exp++
c. Else T3.exp =T1.exp & T3.coeff=T2.coeff and T2.exp++.
T1 T2
T3
Sample Experiment-6
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
POLISH(Q,P)
Suppose Q is an arithmetic expression written in infix notation . This algorithm finds the equivalent
postfix expression
2)scan Q from left to right and repeat steps 3 to 6 for each element of Q until the stack is empty
3) if an operand is encountered add it to P
4) if a left parenthesis is encountered push it onto the stack
5) if an operator is encountered , then
(a) Repeatedly pop from STACK and add to P each operator (on top of the STACK) which has same
precedence as or higher precedence than the operator encountered
(b) Add the encountered operator to the stack
[end of IF structure]
6) if a right parenthesis is encountered, then:
(a) repeatedly pop from the stack and add to P each operator (on top of the STACK) until a left
parenthesis is encountered
(b) remove the left parenthesis [do not add left parenthesis to P]
[End of IF structure]
[End of step 2 loop]
7) Exit
Sample Experiment-7
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
CQINSERT(CQ,F,R,MAX,NAME) :
Given F and R, pointers to the front and rear elements of a circular queue CQ consisting of MAX elements
and an element NAME. This procedure inserts X at the rear end of the queue prior to the first invocation
of the procedure, F and R have been set to -1. Here 'temp' is a temporary variable within this procedure.
CQDELETE(CQ,F,R) :
Given F and R, pointer to the front and the queue CQ to which they correspond. This procedure deletes
Sample Experiment:8
1. AIM: Implement the Binary Tree Traversal
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
Root node A
B C
G
D E F
Leaf node
Graphical Representation of Binary Tree
1) Make the structure of Binary Tree Traversal for integer numbers.
struct node {
int data;
struct node* left;
struct node* right;
}
2) implement inorder(), preorder() and postorder() traversal for it.
Preorder
1) Visit the root.
2) Traverse the left subtree.
3) Traverse the right subtree.
Inorder
1) Traverse the left subtree.
2) Visit the root.
3) Traverse the right subtree.
Postorder
1) Traverse the left subtree.
2) Traverse the right subtree.
3) Visit the root.
Sample Experiment:9
1.AIM: Implement the Shorting using Quick Short method.
Implement the Static Hashing using any one method
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
Pivot
The steps are:
1. Pick an element, called a pivot, from the list.
2. Reorder the list so that all elements with values less than the pivot come before the pivot, while all
elements with values greater than the pivot come after it (equal values can go either way). After this
partitioning, the pivot is in its final position. This is called the partition operation.
3. Recursively sort the sub-list of lesser elements and the sub-list of greater elements.
The base case of the recursion are lists of size zero or one, which never need to be sorted.In
simple pseudocode, the algorithm might be expressed as this:
function quicksort(array)
var list less, greater
if length(array) ≤ 1
return array
select and remove a pivot value pivot from array
for each x in array
if x ≤ pivot then append x to less
else append x to greater
return concatenate(quicksort(less), pivot, quicksort(greater))
Sample Experiment-10
1.AIM: Implement the Shorting using Merge Short method
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
Suppose we have an array A with n indices ranging from A0 to An − 1. We apply merge sort to
A(A0..Ac − 1) and A(Ac..An − 1) where c is the integer part of n / 2. When the two halves are returned
they will have been sorted. They can now be merged together to form a sorted array.
In a simple pseudocode form, the algorithm could look something like this:
function merge_sort(m)
if length(m) ≤ 1
return m
var list left, right, result
var integer middle = length(m) / 2
for each x in m up to middle
add x to left
for each x in m after middle
add x to right
left = merge_sort(left)
right = merge_sort(right)
result = merge(left, right)
return result
Sample Experiment:11
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
a.
b.
Steps-:
Sample Experiment:12
1.AIM: Arrange words in dictionary order using Binary Search Tree In order Traversal.
Implement binary search tree for word representation and make in order traversal for shorting in
dictionary order.
2. TOOLS/APPARATUS:
Turbo C/C++
3. STANDARD PROCEDURES:
3.1 Analyzing the Problem:
Follow the following steps to arrange words in dictionary order using Binary Search Tree.
If word in temporally node is less than the root node word than insert in left side to root.
3) Make the Inorder traversal and display the words. You will get in dictionary order
Lab reports will be evaluated according to the general and detailed marking criteria. We strongly
encourage student to submit lab report within the original due date. For reports submitted by the
original due date, we will endeavor to provide marks. Every lab class the students have to write the
corresponding experiments in a rough sheet and made corrected by the faculty.
Analysis: On the next lab class 95% student submit a fair lab report along with corrected rough sheet.
Submission implies that the work is original and does not copy from others student.
Lab reports are the most frequent kind of document written in Lab. The goal of lab reports is to
document the findings and communicate their significance. A good lab report does more than
present data; it demonstrates the writer's comprehension of the concepts behind the data.
Simply recording the expected and observed results is not sufficient; students should also
identify how and why differences occurred, explain how they affected the experiment and
show the understanding of the principles of the experiment which was designed to examine.
The Title Page needs to contain the name of the experiment, the names of lab partners and the
lab completion date. The title of the lab should be straight forward and informative. For
example: Not "Lab # 7" but "Lab # 7: Insertion of data into the Table". Experimental
Procedure Page describes the experimental process in chronological order and Data & Results
Page is usually dominated by calculations, tables and figures.
Analysis: Most of the student like 80% student mentions the above point in their respective lab
report.
It is extremely important that to understand the need for, and format of a good report.
Scientific work of any sort is useless unless its results can be communicated to others. First of
all, a report should have a title. If it is in the style of a scientific article, it should have an
abstract. In addition student describes the details of the points below :
2) Methods and materials: This section tells the reader how and with what the work
was done. The methods and materials section of a research paper is often
glossed over by many readers, but, in terms of the report as a historical
document, this section is crucial.
3) Results: Here is the real meat of a report. In this section you should describe the
important qualitative and quantitative observations is your work. Data
should be tabulated and/or graphed and described. One of the
common errors in report-writing is to say, "The data are plotted in Fig.
1" without saying something like, "As can be seen from the graph,
absorbance at 260nm is relatively constant up to about 80°C, after
which a sharp rise is noted." Be aware that tables and graphs are not
self-explanatory, and must be summarized for the reader. All graphs
and tables should be numbered and provided with a title. Additional
4) Discussion and conclusions: This section serves two functions. First, it provides a place
where the data may be fully discussed and interpreted, and second, it
allows the author to delve into the realms of speculation
5) References: Some papers have no references, others have 200 or more. There is no correct
number of references, but there is a correct philosophy and format: any time you
refer to a previously reported idea, result, method, etc., you must insert a
citation. Every quotation must be referenced.
Analysis: Most of the student like 70% student mentions the above points in their respective
lab report.
Lab reports will be evaluated according to the general and detailed marking criteria. We strongly
encourage student to submit lab report within the original due date. For reports submitted by the
original due date, we will endeavor to provide marks. Every lab class the students have to write the
corresponding experiments in a rough sheet and made corrected by the faculty.
Analysis: On the next lab class 95% student submit a fair lab report along with corrected rough sheet.
Submission implies that the work is original and does not copy from others student.
Lab reports are the most frequent kind of document written in Lab. The goal of lab reports is to
document the findings and communicate their significance. A good lab report does more than
present data; it demonstrates the writer's comprehension of the concepts behind the data.
Simply recording the expected and observed results is not sufficient; students should also
identify how and why differences occurred, explain how they affected the experiment and
show the understanding of the principles of the experiment which was designed to examine.
The Title Page needs to contain the name of the experiment, the names of lab partners and the
lab completion date. The title of the lab should be straight forward and informative. For
example: Not "Lab # 7" but "Lab # 7: Insertion of data into the Table". Experimental
Procedure Page describes the experimental process in chronological order and Data & Results
Page is usually dominated by calculations, tables and figures.
Analysis: Most of the student like 80% student mentions the above point in their respective lab
report.
It is extremely important that to understand the need for, and format of a good report.
Scientific work of any sort is useless unless its results can be communicated to others. First of
all, a report should have a title. If it is in the style of a scientific article, it should have an
abstract. In addition student describes the details of the points below :
2) Methods and materials: This section tells the reader how and with what the work
was done. The methods and materials section of a research paper is often
glossed over by many readers, but, in terms of the report as a historical
document, this section is crucial.
3) Results: Here is the real meat of a report. In this section you should describe the
important qualitative and quantitative observations is your work. Data
should be tabulated and/or graphed and described. One of the
common errors in report-writing is to say, "The data are plotted in Fig.
1" without saying something like, "As can be seen from the graph,
absorbance at 260nm is relatively constant up to about 80°C, after
which a sharp rise is noted." Be aware that tables and graphs are not
self-explanatory, and must be summarized for the reader. All graphs
and tables should be numbered and provided with a title. Additional
4) Discussion and conclusions: This section serves two functions. First, it provides a place
where the data may be fully discussed and interpreted, and second, it
allows the author to delve into the realms of speculation
5) References: Some papers have no references, others have 200 or more. There is no correct
number of references, but there is a correct philosophy and format: any time you
refer to a previously reported idea, result, method, etc., you must insert a
citation. Every quotation must be referenced.
Analysis: Most of the student like 75% student mentions the above points in their respective
lab report.
Lab reports will be evaluated according to the general and detailed marking criteria. We strongly
encourage student to submit lab report within the original due date. For reports submitted by the
original due date, we will endeavor to provide marks. Every lab class the students have to write the
corresponding experiments in a rough sheet and made corrected by the faculty.
Analysis: On the next lab class 95% student submit a fair lab report along with corrected rough sheet.
Submission implies that the work is original and does not copy from others student.
Lab reports are the most frequent kind of document written in Lab. The goal of lab reports is to
document the findings and communicate their significance. A good lab report does more than
present data; it demonstrates the writer's comprehension of the concepts behind the data.
Simply recording the expected and observed results is not sufficient; students should also
identify how and why differences occurred, explain how they affected the experiment and
show the understanding of the principles of the experiment which was designed to examine.
The Title Page needs to contain the name of the experiment, the names of lab partners and the
lab completion date. The title of the lab should be straight forward and informative. For
example: Not "Lab # 7" but "Lab # 7: Insertion of data into the Table". Experimental
Procedure Page describes the experimental process in chronological order and Data & Results
Page is usually dominated by calculations, tables and figures.
Analysis: Most of the student like 75% student mentions the above point in their respective lab
report.
It is extremely important that to understand the need for, and format of a good report.
Scientific work of any sort is useless unless its results can be communicated to others. First of
all, a report should have a title. If it is in the style of a scientific article, it should have an
abstract. In addition student describes the details of the points below :
2) Methods and materials: This section tells the reader how and with what the work
was done. The methods and materials section of a research paper is often
glossed over by many readers, but, in terms of the report as a historical
document, this section is crucial.
3) Results: Here is the real meat of a report. In this section you should describe the
important qualitative and quantitative observations is your work. Data
should be tabulated and/or graphed and described. One of the
common errors in report-writing is to say, "The data are plotted in Fig.
1" without saying something like, "As can be seen from the graph,
absorbance at 260nm is relatively constant up to about 80°C, after
which a sharp rise is noted." Be aware that tables and graphs are not
self-explanatory, and must be summarized for the reader. All graphs
and tables should be numbered and provided with a title. Additional
4) Discussion and conclusions: This section serves two functions. First, it provides a place
where the data may be fully discussed and interpreted, and second, it
allows the author to delve into the realms of speculation
5) References: Some papers have no references, others have 200 or more. There is no correct
number of references, but there is a correct philosophy and format: any time you
refer to a previously reported idea, result, method, etc., you must insert a
citation. Every quotation must be referenced.
Analysis: Most of the student like 75% student mentions the above points in their respective
lab report.
Lab reports will be evaluated according to the general and detailed marking criteria. We strongly
encourage student to submit lab report within the original due date. For reports submitted by the
original due date, we will endeavor to provide marks. Every lab class the students have to write the
corresponding experiments in a rough sheet and made corrected by the faculty.
Analysis: On the next lab class 95% student submit a fair lab report along with corrected rough sheet.
Submission implies that the work is original and does not copy from others student.
Lab reports are the most frequent kind of document written in Lab. The goal of lab reports is to
document the findings and communicate their significance. A good lab report does more than
present data; it demonstrates the writer's comprehension of the concepts behind the data.
Simply recording the expected and observed results is not sufficient; students should also
identify how and why differences occurred, explain how they affected the experiment and
show the understanding of the principles of the experiment which was designed to examine.
The Title Page needs to contain the name of the experiment, the names of lab partners and the
lab completion date. The title of the lab should be straight forward and informative. For
example: Not "Lab # 7" but "Lab # 7: Insertion of data into the Table". Experimental
Procedure Page describes the experimental process in chronological order and Data & Results
Page is usually dominated by calculations, tables and figures.
Analysis: Most of the student like 85% student mentions the above point in their respective lab
report.
It is extremely important that to understand the need for, and format of a good report.
Scientific work of any sort is useless unless its results can be communicated to others. First of
all, a report should have a title. If it is in the style of a scientific article, it should have an
abstract. In addition student describes the details of the points below :
2) Methods and materials: This section tells the reader how and with what the work
was done. The methods and materials section of a research paper is often
glossed over by many readers, but, in terms of the report as a historical
document, this section is crucial.
3) Results: Here is the real meat of a report. In this section you should describe the
important qualitative and quantitative observations is your work. Data
should be tabulated and/or graphed and described. One of the
common errors in report-writing is to say, "The data are plotted in Fig.
1" without saying something like, "As can be seen from the graph,
absorbance at 260nm is relatively constant up to about 80°C, after
which a sharp rise is noted." Be aware that tables and graphs are not
self-explanatory, and must be summarized for the reader. All graphs
4) Discussion and conclusions: This section serves two functions. First, it provides a place
where the data may be fully discussed and interpreted, and second, it
allows the author to delve into the realms of speculation
5) References: Some papers have no references, others have 200 or more. There is no correct
number of references, but there is a correct philosophy and format: any time you
refer to a previously reported idea, result, method, etc., you must insert a
citation. Every quotation must be referenced.
Analysis: Most of the student like 80% student mentions the above points in their respective
lab report.
Lab reports will be evaluated according to the general and detailed marking criteria. We strongly
encourage student to submit lab report within the original due date. For reports submitted by the
original due date, we will endeavor to provide marks. Every lab class the students have to write the
corresponding experiments in a rough sheet and made corrected by the faculty.
Analysis: On the next lab class 95% student submit a fair lab report along with corrected rough sheet.
Submission implies that the work is original and does not copy from others student.
Lab reports are the most frequent kind of document written in Lab. The goal of lab reports is to
document the findings and communicate their significance. A good lab report does more than
present data; it demonstrates the writer's comprehension of the concepts behind the data.
Simply recording the expected and observed results is not sufficient; students should also
identify how and why differences occurred, explain how they affected the experiment and
show the understanding of the principles of the experiment which was designed to examine.
The Title Page needs to contain the name of the experiment, the names of lab partners and the
lab completion date. The title of the lab should be straight forward and informative. For
example: Not "Lab # 5" but "Lab # 5: Insertion of data into the Table". Experimental
Procedure Page describes the experimental process in chronological order and Data & Results
Page is usually dominated by calculations, tables and figures.
Analysis: Most of the student like 80% student mentions the above point in their respective lab
report.
It is extremely important that to understand the need for, and format of a good report.
Scientific work of any sort is useless unless its results can be communicated to others. First of
all, a report should have a title. If it is in the style of a scientific article, it should have an
abstract. In addition student describes the details of the points below :
2) Methods and materials: This section tells the reader how and with what the work
was done. The methods and materials section of a research paper is often
glossed over by many readers, but, in terms of the report as a historical
document, this section is crucial.
3) Results: Here is the real meat of a report. In this section you should describe the
important qualitative and quantitative observations is your work. Data
should be tabulated and/or graphed and described. One of the
common errors in report-writing is to say, "The data are plotted in Fig.
1" without saying something like, "As can be seen from the graph,
absorbance at 260nm is relatively constant up to about 80°C, after
which a sharp rise is noted." Be aware that tables and graphs are not
self-explanatory, and must be summarized for the reader. All graphs
and tables should be numbered and provided with a title. Additional
4) Discussion and conclusions: This section serves two functions. First, it provides a place
where the data may be fully discussed and interpreted, and second, it
allows the author to delve into the realms of speculation
5) References: Some papers have no references, others have 200 or more. There is no correct
number of references, but there is a correct philosophy and format: any time you
refer to a previously reported idea, result, method, etc., you must insert a
citation. Every quotation must be referenced.
Analysis: Most of the student like 85% student mentions the above points in their respective
lab report.
Life-long Learning: Recognize the need for and have the preparation and ability to engage in
PO11
independent life- long learning in the broadest context of technological change.
2.5 Faculty & 2.5.1 How much student have developed his/her S S S S S S S
staff satisfaction skill
(semester exit)
survey of
students
2.6 Employer 2.6.1 How much the student is employable S S S S S S S
Survey
Rubrics for Performance of the experiment in the lab Weighted Evaluation of POs
(Related PO1,PO2,PO3,PO5,PO10,PO11) (S=1 || M= 0.6 || W = 0.2)
Analytics
Poor Fair Good Very Good Excellent
Checklist 1 pts 2 pts 3 pts 4 pts 5 pts
Analytics
Beginning or Developing Accomplished Exemplary
Checklist incomplete (2) (3) (4)
(1)
Abstract/Su Several major Abstract misses one Abstract references Abstract contains
mmary aspects of the or more major most of the major reference to all
experiment are aspects of carrying aspects of the major aspects of
missing, student out the experiment experiment, some carrying out the
displays a lack of or the results minor details are experiment and the
understanding missing results, well-written
about how to write
an abstract
Results Have missing titles, Most are present. All details are All details are
captions or Some still missing present, but some correctly present
numbers, units some important or have minor are numbered and
missing or required features problems or could contain
incorrect, etc. still be improved titles/captions.
Discussion Very incomplete or Some of the results Almost all of the All important
incorrect have been correctly results have been trends and data
interpretation of interpreted and correctly comparisons have
trends and discussed; partial interpreted and been interpreted
comparison of data but incomplete discussed, only correctly and
indicating a lack of understanding of minor discussed, good
understanding of results is still improvements are understanding of
results evident needed results is conveyed
the important points are drawn, been drawn, could been clearly made,
points but many are be better stated student shows good
misstated, understanding
indicating a lack of
understanding
Readability The code is The code is fairly The code is The code is poorly
exceptionally easy to read. readable only by organized and very
well organized someone who difficult to read.
and very easy to knows what it is
follow. supposed to be
doing.
Reusability The code could Most of the code Some parts of the The code is not
be reused as a could be reused code could be organized for
whole or each in other reused in other reusability.
routine could be
Delivery The program was The program was The code was The code was more
delivered on delivered within within 2 weeks of than 2 weeks
time. a week of the due the due date. overdue.
date.
Efficiency The code is The code is fairly The code is brute The code is huge and
extremely efficient without force and appears to be
efficient without sacrificing unnecessarily long. patched together.
sacrificing readability and
readability and understanding.
understanding.
PO8*0.6 PO11*0.6
Grading Criteria
Poor Good
(Score – 1) Developing Excellent
Method/Element
(Score – 2) (Score – 3) (Score – 4)
Viva Poor subject knowledge; Moderate subject Good subject knowledge, Sound
can’t understand simple knowledge, some good mostly good explanation; subject
questions explanation; unable to attempts some harder knowledge,
answer harder questions
precise
questions
explanations;
correctly
answers
most of the
harder
questions
Contributions Routinely provides Usually provides Sometimes provides Rarely provides useful ideas
useful ideas when useful ideas when useful ideas when when participating in the
participating in the participating in the participating in the group and in classroom
group and in group and in group and in discussion. May refuse to
classroom classroom classroom discussion. participate.
discussion. A leader discussion. A strong A satisfactory group
who contributes a group member who member who does
lot of effort. tries hard! what is required.
Problem-solving Actively looks for Refines solutions Does not suggest or Does not try to solve
and suggests suggested by others. refine solutions, but is problems or help others
solutions to willing to try out solve problems.
Lets others do the work.
problems. solutions suggested
by others.
Focus on the Consistently stays Focuses on the task Focuses on the task Rarely focuses on the task
task focused on the task and what needs to and what needs to be and what needs to be done.
and what needs to be done most of the done some of the Lets others do the work.
be done. Very self- time. Other group time. Other group
directed. members can count members must
on this person. sometimes nag, prod,
and remind to keep
this person on task.
Working with Almost always Usually listens to, Often listens to, Rarely listens to, shares
Others listens to, shares shares, with, and shares with, and with, and supports the efforts
with, and supports supports the efforts supports the efforts of of others. Often is not a good
the efforts of others. of others. Does not others, but sometimes team player.
Tries to keep people cause "waves" in is not a good team
working well the group. member.
together.
Evaluation of Student states a position Student states a Student states a Student states a
Different and can state the position and can state position and can position but cannot
Ethical objections to, assumptions the state the state the
Perspectives/C and implications of objections to, objections to, objections to and
oncepts and can reasonably defend assumptions and assumptions and assumptions and
against the implications implications of limitations
objections to, assumptions of, and respond to the different ethical of the different
and implications of objections to, perspectives/con perspectives/concept
different ethical assumptions and cepts but s.
perspectives/concepts, and implications of different does not respond
the student's defense is ethical to them (and
adequate and effective. perspectives/concepts, ultimately
but the objections,
student's response is assumptions, and
inadequate. implications are
compartmentaliz
ed by student
and do not
affect student's
position.)
Engineering Easy to follow Did not use Hard to follow ‰ None included ‰
Drawings ‰ Used abstraction to Incomplete ‰ Incorrect
standard present the Inconsistent use of
diagram material at symbols
shapes different levels
of detail
Following Task Student has Forgot Late work or Did not follow
Guidelines and completed all something or missing project was directions
Directions requirements added to , but a problem . And
of project on followed most /or followed very
time .Followed of the few directions
all directions directions of
the project
Interaction with All group Most group Some group Some group members
group members members members members worked worked cooperatively
worked worked cooperatively with with minor effort to
cooperatively cooperatively good effort to achieve goals of the
with excellent with strong achieve goals of the challenge
team effort to effort to challenge
achieve the achieve goals
goals of the of the
challenge. challenge
Correctness Very good and Correct and Correct but rare Do not show the
impressive typically understand the correctness
suggestion understand problem
the problem
Overall Document All tables and Special case Inconsistent or Template not used ‰
presentation figures include formatting inappropriate Front matter incorrect
captions and applied application of
are referred to manually
template styles
in the text rather than
No errors through the
detected in the use of styles
use of Only minor
template errors detected
Professional Ethics Attend lab on Attend lab Attend lab after 1 Absent class.
time. within 30 hour class start. Didn’t submit report.
Submit report minutes class Submit report after
on a same day start. a week.
practical work Submit report
done. a day after
Grading Criteria
Poor Good
(Score – 1) Developing Excellent
Method/Element
(Score – 2) (Score – 3) (Score – 4)
Faculty & staff Overall unimpressive Encouraging effort Impressive performance Highly
satisfaction impressive –
(semester exit) near perfect
survey of students
Assessment Tools
Grading Criteria
Method/Element Poor
(Score – 1) Developing Good Excellent
(Score – 2) (Score – 3) (Score – 4)
Employer Survey Can’t answer Try to answer basic Good in both theory Promptly responses to any
anything questions and programming question, programming
however week in approach is efficient and
skilled question. confidently manages any
program
Micro Project Related PO’s for the Lab CS392= PO1,PO2,PO3,PO5 ,PO8,PO10,PO11
Life-long Learning: Recognize the need for and have the preparation and ability to engage in
PO11
independent life- long learning in the broadest context of technological change.
3RD G3 CHANRADAYA
CHAKRABORTY CSE2015/035
NISHITA TIWARY CSE2015/037
SANTANU PAUL CSE2015/038
15 Puzzle Problem
LIPIKA DAS CSE2015/039
SOUVIK PAL CSE2015/040
CHANRADAYA
CHAKRABORTY CSE2015/035
14. REFERENCES:
4. C & Data Structures – Prof. P.S.Desh Pande, Prof. O.G.Kakde, Wiley Dreamtech Pvt.Ltd