Labs & Infrastructure

Share:

Labs & Infrastructure

Professor In-charge:

•ZohebHasan, Assistant Professor,CSE Department

Course Objectives:

1. This laboratory course is intended to make the students experiment on the basic techniques of compiler construction and tools that can used to perform syntax-directed translation of a high-level programming language into an executable code.
2. Students will design and implement language processors in C by using tools to automate parts of the implementation process.
3. This will provide deeper insights into the more advanced semantics aspects of programming languages, code generation, machine independent optimizations, dynamic memory allocation, and object orientation.

Course Outcomes: Students will be able to :-
CO1: Apply the knowledge of lex and yacc compiler for debugging of programs.
CO2: Demonstrate the role of lexical analyzer, use of regular expression and transition diagram.
CO3: Understand and use Context free grammar, and parse tree construction.
CO4: Learn & apply the new tools and technologies used for designing a compiler.
CO5: Creating program for solving parser problems.

24. Digital Laser Distance Measurer

 

List of experiments which can be performed in this lab

 

S. No.Experiment Detail

 

1Design a lexical analyzer for given language and the lexical analyzer should ignore redundant spaces, tabs and new lines. 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. Simulate the same in C language.
2Write a C program to identify whether a given line is a comment or not.
3Write a C program to recognize strings under ‘a’, ‘a*b+’, ‘abb’.
4Write a C program to test whether a given identifier is valid or not.
5Write a C program to simulate lexical analyzer for validating operators.
6Implement the lexical analyzer using JLex, flex or other lexical analyzer generating tools.
7Write a C program for constructing of LL (1) parsing.
8Write a C program for constructing recursive descent parsing
9Design a code optimizer for implementing constant propagation.
10Write a program to perform loop unrolling for code optimization.
11Implementation Code Generator
12To generate machine code from the abstract syntax tree generated by the parser.

 

Learning Objectives:

This course enable:
• Fundamental concepts of database management, technology and practices to groom students intowell-informed database application developers.
• Strong practicesof variety of database problems in SQL programming.
• Students to develop database applications using front-end tools and back-end DBMS.

Course Outcomes:

After completion of this course, students will be able to:
• Manage available database of any project.
• Understanddifferent concepts of Database Management System.
• Develop project for a database application
• Formulate SQL queries on the database.

List of experiments:

S. No.Experiment Detail

 

Session
1.Draw E-R diagram and convert entities and relationships to relation table.1
2.Students should be allowed to choose appropriate DBMS software, install it, configure it and start working on it.1
3.Create sample tables, execute some queries, use SQLPLUS features, use PL/SQL features like cursors on sample database.2
4.Perform the following: a. Viewing all databases, Creating a Database, Viewing all Tables in a Database.2
5.Perform the following: a. Creating Tables (With and Without Constraints),1
6.Perform the following: a. Inserting/Updating/Deleting Records in a Table, Saving (Commit) and Undoing (rollback).2
7.Perform the following: a. Altering a Table, Dropping/Truncating/Renaming Tables, Backing up / Restoring a Database.2
8.For a given set of relation schemes, create tables and perform the following Simple Queries, Simple Queries with Aggregate functions.1
9.For a given set of relation tables perform the following a. Creating Views (with and without check option), Dropping views, Selecting from a view.1
10.Write a Pl/SQL program using FOR loop to insert ten rows into a database table.1
11.Given the table EMPLOYEE (EmpNo, Name, Salary, Designation, DeptID) write a cursor to select the five highest paid employees from the table.2
12.Illustrate how you can embed PL/SQL in a high-level host language such as C/Java And demonstrates how a banking debit transaction might be done.2

Professor In-charge:

• Mr. Dhirendra Kumar ASSISTANT PROFESSOR

Program Educational Objectives (PEOs)

• PEO 1: Students will be able to effectively communicate, understand the problems of industries, environment, society and endeavor to find the solutions with high ethical responsibilities.

• PEO 2: Students will be able to engage in life-long learning, pursue higher studies and contribute to the evolving research & development.

• PEO 3: Students will be able to demonstrate their professional skills and leadership roles across multi-disciplinary domains.

Program Specific Outcomes (PSOs)

• PSO – 1: Students should be able to develop and test sustainable cost effective software for automization in businees application and society.

• PSO – 2: Students should be able to use new technologies and tools for executing multi-disciplinary projects.

Program Outcomes (POs)

PO 1: Engineering Knowledge : An ability to apply knowledge of computing and mathematics which is appropriate to computer science.
PO 2: Problem analysis:An ability to identify, formulate, and develop solutions to computational challenges.
PO 3: Design/development of solutions: An ability to design, implement, and evaluate a computational system to meet the desired soluitions of problem with feasibility.
PO 4: Conduct investigations of complex problems: Use research-based knowledge and methods including design of experiments, analysis and interpretation of data, and synthesis them to get the valid conclusions.
PO 5: Modern tool usage: An ability to use appropriate techniques, skills, and tools necessary for computing practice and makes human effort less.
PO 6: The engineer and society: An ability to analyze impacts of computing on individuals, organizations, and society.
PO 7: Environment and sustainability: Understand the impact of the professional engineering solutions on society in environmental contexts, and provide a solution for sustainable development.
PO 8: Ethics: An understanding of professional, ethical, legal, security, and social issues and responsibilities for the computing profession.
PO 9: Individual and team work: An ability to function effectively on teams to accomplish shared idea, computing design, evaluation, or implementation goals.
PO 10: Communication: An ability to communicate and engage effectively with diverse stakeholders.
PO 11: Project management and finance: An ability to apply design and development principles in the construction of software systems of varying complexity.
PO 12: 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.

Course Objectives:

1. Understanding the architecture and execution of baisc computers
2. Apply the different performance parameters like time, cost, storage space in basic computers.

Course Outcome:

After the completion of course student will be able to:

CO1: Perfrom different register transfer operatiopns, arithmetic and logic operations.
CO2: Understand the theory and architecture of central processing unit.
CO3: Analyze some of the design issues in terms of speed, technology, cost, memory space, performance..
CO4: Understand the impact of memory hierarchy.
CO5: Learn the concepts of parallel processing, pipelining and interprocessor communication.

Lab Experiments:

1. Installing Modelsim.
2. Getting started with Modelsim.
3.Verilog Modeling using Modelsim.
4. . Write Verilog code to realize all the logic gates
5. Write a Verilog program for the following combinational designs
a. 2 to 4 decoder b. 8 to 3 (encoder without priority & with priority)
c. 8 to 1 multiplexer. d. 4 bit binary to gray converter
e. Multiplexer, de-multiplexer, comparator.
6. Write a VHDL and Verilog code to describe the functions of a Full Adder using three modeling styles.
7. Verify the excitation tables of various FLIP-FLOPS.
8. Design of an 8-bit Input/ Output system with four 8-bit Internal Registers.
9.Write a Verilog code to model 32 bit ALU
10.Develop the Verilog code for the following flip-flops, SR, D, JK and T.
11. Design a 4 bit binary, BCD counters (Synchronous reset and Asynchronous reset ) and “any sequence” counters, using Verilog code.
12. Design of SRAM Cell and design of a 4X4 RAM
13. Write programs to simulate the mapping techniques of Cache memory.
1. Direct Mapped cache 2 Associative Mapped cache 3. Set Associative Mapped cache
14. Write an algorithm and program to perform matrix multiplication of two n * n matrices on the 2-D mesh SIMD model, Hypercube SIMD Model or multiprocessor system.
15. Write an algorithm and program to perform matrix multiplication of two n * n matrices on the 2-D mesh SIMD model, Hypercube SIMD Model or multiprocessor system.
16. Study of Scalability for Single Board, Multi-board, multicore, multiprocessor using Simulator.

Course Objectives:

1. Demonstrate a familiarity with major algorithms and data structures.
2.Apply important algorithmic design paradigms and methods of analysis.

Course Outcome:

After the completion of course student will be able to:
CO1: Distinguish among different sorting and searching strategy.
CO2: Categorize the different design principal of algorithm and apply it.
CO3: Construct the shortes path and minimal spanning tree.
CO4: Distinguish Different Graph Traversal Algorithms.
CO5: Analyze and estimate the performance of algorithm.

Experiment

1. Apply Quick Sort and randomized Quick sort on given set of elements and compare number of comparision in both casses.

2. Demostrate HEAP -MINIMUM , HEAP -E XTRACT -MIN , HEAP -DECREASE -KEY , and M IN -H EAP -I NSERT using min-priority queue with a min-heap.

3. Apply Interval scheduling and find the depth of interval on given input.

4. Print the schedule of job which minimizes maximum Lateness. Here processing time and due time fo each job is given.

5. Implement Dijakstra Algorithm using Heap data structure.

6. Perform Insertion and deletion in Binary search tree consider all possible cases.

7. Perform BFS and DFS on given graph.

8. Perform in-order, pree-order and post-order traversal of tree.

9. Evaluate minimun weight spanning tree using Prims Algo on given graph.

10. Implement fractional knapsak and 0/1 knapsack and compare its results with different set of inputs.

11. Implement Topological Sort on given DAG.

12. Apply Floyd’s All pair shortest path algorithm.

13. Implement any scheme to find the optimal solution for the Traveling Sales Person problem and thensolve the same problem instance using any approximation algorithm and determine the error in the approximation.

14 Compute the length of longest common subsequence and also subsequence.

15. Implement N Queen’s problem using Back Tracking.

Learning Objectives:

This course enables:
• Develop logics which will help them to create programs.
• Develop applications in C.
• Constructs they can easily switch over to any other language in future.

Course Outcomes:

After completion of this course, students will be able to:
• Formulate the algorithms for simple problems.
• To translate given algorithms to a working and correct program.
• Correct syntax errors as reported by the compilers.
• Identify and correct logical errors encountered at run time.
• Develop project using c language.

List of experiments:

S. No.Experiment Detail

 

Session
1.Familiarization with programming environment.

Turbo c, Dev C++

1
2.Simple computational problems using arithmetic expressions.

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

(b) 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.

2
3.Problems involving if-then-else structures

(a) Find greatest among 3 numbers.

(b) Perform the arithmetic expression using switch statement.

2
4.Iterative problems e.g., sum of series

(a) To find the factorial of a given integer.

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

2
5.1d array manipulation1
6.Matrix problems, string operations

(a) Write a C program to find both the largest and smallest number 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

2
7.Simple functions

Write a C program that uses functions to perform the following operations: ( i) To insert a sub-string in to given main string from a given position. (ii) To delete n Characters from a given position in a given string.

2
8.Programming for solving numerical methods problems1
9.Recursive functions

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

(b) Write C programs that uses non recursive function to search for a
key value in a given list of integers using Binary search.

2
10.Pointers and structures

(a) Print the elements of array using pointers

1
11.File operations

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

1

Course Coordinator Name

Ms. Punam Prabha

Course Objectives:

1. Get the knowledge of implementing algorithm and different kind of data structure.
2. To enhance the knowledge ofstudents by introducing different kind of traversal techniques (Pre-order, In-order, Post-order).
3. Understand different type of operation used during structuring of data.
4. Introduce a variety of tool for programming about algorithms and data structures.

Course Outcomes

:Students will be able to:
CO1: Obtain different value after performing a variety of scoping method on same code.
CO2: Establish post order traversal to find the value of complex algebraic expression.
CO3: Compute time complexity, space complexity and other issues while performing varieties of operations.
CO4: Design and develop the programs for data structure and algorithms.

List of experiments which can be performed in this lab

 

S. No.Experiment Detail
1Learn to implement function call by value, reference and pointer.
2Learn to perform static scoping and Dynamic scoping on given Code.
3Learn to implement linked list data structure.
4Learn to implement stack data structure using array
5Learn to implement queue data structure using link list
6Learn to draw Binary Search Tree and then perform In-order traversal using C++ programming language.
7Learn to delete nodes from BST.
8Learn to draw AVL tree.
9Learn to delete nodes from AVL tree.
10Learn to draw B-Tree.
11Learn to implement binary search algorithm.
12Learn to sort array using bubble sort algorithm.
13Learn to sort array using Quick Sort algorithm.
14Learn to implement min heap using insert( ) method.
15Learn to implement min heap using buildHeap( ) method.

 

Evaluation Scheme:

 

Lab Performance / File work10
Internal Viva – Voce10
External Viva – Voce30
Total50

Course Coordinator Name

Ms. Punam Prabha

Course Objectives:

1. To study the process management and scheduling.
2. To understand various issues in Inter Process Communication (IPC) and the role of OS in IPC.
3. To understand the concepts and implementation Memory management policies and virtual memory.
4. To understand the working of an OS as a resource manager, file system manager, process manager, memory manager and I/O manager and methods used to implement the different parts of OS.

Course Outcomes

:Students will be able to:
CO1:Understand the process management policies and scheduling of processes by CPU.
CO2:Evaluate the requirement for process synchronization and coordination handled by operating system.
CO3: Describe and analyze the memory management and its allocation policies.
CO4: Identify use and evaluate the storage management policies with respect to different storage management technologies.

List of experiments which can be performed in this lab

 

S. No.Experiment Detail
1To write a C program for implementation of Priority scheduling algorithms.
2To write a C program for implementation of Round Robin scheduling algorithms.
3To write a C program for implementation of FCFS and SJF scheduling algorithms.
4To write a C-program to implement the producer – consumer problem using semaphores.
5L

To write a c program to implement IPC using shared memory.

6To write a C program to implement banker’s algorithm for deadlock avoidance.
7To write a C program to implement algorithm for deadlock detection.
8To write a c program to implement Threading and Synchronization Applications.
9To write a C program for implementation memory allocation methods for fixed partition using first fit.
10To write a c program to implement Paging technique for memory management.
11To write a C program for implementation of FIFO page replacement algorithm.
12To write a c program to implement LRU page replacement algorithm.
13To write C program to organize the file using single level directory.
14To write C program to organize the file using two level directory.
15To write a C program for sequential file for processing the student information.

 

Evaluation Scheme:

 

Lab Performance / File work10
Internal Viva – Voce10
External Viva – Voce30
Total50