PROGRAMMING LAB

Equipments / Configurations

  • Processor : Intel(R) Core(TM) i3-10100 CPU @ 3.60GHz
  • RAM : 8 GB
  • Storage : 256 GB SSD
  • Monitor : 18” TFT

Software Used

  • Dev C++ IDE
  • Code::Blocks IDE
  • Windows 10 Education Operating System

List of Experiments

Experiment Set 1

  1. Write a program to print your Bio-data.
  2. Write a program in C to test the arithmetic operators.
  3. Write a program to find Simple Interest and Compound Interest.

Experiment Set 2

  1. Test logical, bitwise, unary and ternary operators.
  2. Check whether a given year is a leap year.
  3. Calculate salary statement of an employee using basic pay, DA, HRA and TA.

Experiment Set 3

  1. Enter marks of 4 subjects and calculate Total, Aggregate %, and Grade.
  2. Display the day of the week using switch case.
  3. Menu driven program to find total, average, smallest and largest.

Experiment Set 4

  1. Check whether a number is palindrome.
  2. Generate prime numbers between two numbers.
  3. Print a pyramid star pattern.

Experiment Set 5

  1. Find largest, smallest, sum and average of an array.
  2. Sort an array in ascending order.
  3. Insert an element in an array at a desired position.

Experiment Set 6

  1. Swap two variables using function.
  2. Print Fibonacci series using function.
  3. Multiply two matrices using functions.

Experiment Set 7

  1. Find GCD using recursion.
  2. Store and display student data using structure.
  3. Check string palindrome using pointer.

Experiment Set 8

  1. Find smallest element and position using pointer.
  2. Implement realloc() and free().
  3. Demonstrate Dynamic Memory Allocation.

Experiment Set 9

  1. Implement Linked List insertion and deletion.
  2. Implement Stack Push and Pop.
  3. Implement Queue insertion and deletion.

Experiment Set 10

  1. Implement Quick Sort.
  2. Implement Linear Search.
  3. Implement Binary Search.

Data Structures Lab

Equipments / Configurations

  • Processor : Intel(R) Core(TM) i3-10100 CPU @ 3.60GHz
  • RAM : 8 GB
  • Storage : 256 GB SSD
  • Monitor : 18” TFT

Software Used

  • Dev C++ IDE
  • Code::Blocks IDE
  • Windows 10 Education Operating System

List of Experiments

  1. Write a C program to implement a Sparse Matrix.
  2. Create a Stack using an Array and perform PUSH, POP and Traversal operations.
  3. Create a Queue using an Array and perform Insertion, Deletion and Traversal.
  4. Perform Creation, Insertion, Deletion and Traversal on a Single Linked List using functions.
  5. Perform Creation, Insertion, Deletion and Traversal on a Doubly Linked List using functions.
  6. Perform Creation, Insertion and Deletion operations on a Binary Tree.
  7. Write a C program to perform Bubble Sort.
  8. Write a C program to perform Insertion Sort.
  9. Write a C program to perform Selection Sort.
  10. Write a C program to perform Quick Sort.
  11. Write a C program to perform Merge Sort.
  12. Write a C program to implement Linear Search.
  13. Write a C program to implement Binary Search.

Object Oriented Programming Lab

System Configuration

  • Processor : Intel(R) Core(TM) i3-10100 CPU @ 3.60GHz
  • RAM : 8 GB
  • Storage : 256 GB SSD
  • Monitor : 18” TFT

Required Software

  • Java Development Kit (JDK)
  • NetBeans IDE / Eclipse IDE
  • Apache Tomcat (for Applet / Web support if required)
  • Windows 10 Education Operating System

List of Experiments

  1. Write a Java program to print “Hello World!”.
  2. Write a program to demonstrate data types, variables, operators, arrays, and control structures.
  3. Write a program to define a class and constructors and demonstrate constructor usage.
  4. Write a program to define class, methods, and objects and demonstrate method overloading.
  5. Write a program to demonstrate inheritance and method overriding.
  6. Write a program to demonstrate Packages in Java.
  7. Write a program to demonstrate Exception Handling.
  8. Write a program to demonstrate Multithreading.
  9. Write a program to demonstrate Applet structure and event handling.
  10. Write a program to demonstrate different Layout Managers in Java.

Data Science Foundations Lab

Course Objectives

  • To introduce the fundamentals of data science using Python.
  • To develop skills in data manipulation and analysis using libraries such as Pandas and NumPy.
  • To apply data preprocessing and exploratory data analysis techniques.
  • To analyze real-world datasets and derive meaningful insights.
  • To understand the concepts of Big Data and distributed data processing techniques such as MapReduce.

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System
  • Linux Distribution (Ubuntu) – optional

Required Software / Tools

  • Python Programming Language
  • Jupyter Notebook / Google Colab
  • Pandas, NumPy, Matplotlib Libraries
  • Regex Library
  • Hadoop / MapReduce Simulation Tools (optional)
  • Web Browser (Chrome / Firefox / Edge)

List of Experiments

  1. Fundamentals of Data Manipulation
    Use regular expressions (regex) in Python to:

    • Extract names from a given string.
    • Identify students who received grade “B” from the dataset grades.txt.
    • Convert web log data from logdata.txt into a list of dictionaries.
  2. Basic Data Processing with Pandas
    Analyze CDC immunization data using Pandas:

    • Write a function proportion_of_education to compute education level distribution of mothers.
    • Explore the relationship between breastfeeding and seasonal influenza vaccination.
    • Examine the relationship between vaccine effectiveness and sex of the child.
  3. Advanced Data Manipulation with Pandas
    Load and analyze energy data from Energy Indicators.xls:

    • Create a DataFrame named Energy.
    • Identify the top 15 countries with the highest average GDP over the last 10 years.
    • Determine the GDP change over 10 years for the country with the 6th largest average GDP.
  4. Beyond Data Manipulation
    Analyze metropolitan region data from wikipedia_data.html:

    • Calculate correlations between sports teams’ win/loss ratios and city populations for NHL, NBA, MLB, and NFL using 2018 data.
    • Investigate whether regions with multiple sports teams show similar performance trends across sports.
  5. Introduction to Big Data – MapReduce
    Apply the MapReduce process to analyze a dataset:

    • Perform Map, Shuffle, and Reduce operations.
    • Calculate counts of shapes such as squares, stars, circles, hearts, and triangles.

Artificial Intelligence Lab

Course Objectives

  • To understand the notions of rational behavior and intelligent agents.
  • To develop a general appreciation of the goals, subareas, achievements, and challenges of Artificial Intelligence.
  • To provide knowledge of blind as well as informed search methods and the ability to apply these techniques practically.
  • To develop an understanding of major concepts and approaches in knowledge representation, planning, learning, robotics, and other AI areas.
  • To develop programming skills for AI applications and gain exposure to logic programming using Prolog.

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System
  • Linux Distribution (Ubuntu) – optional

Required Software / Tools

  • SWI-Prolog / GNU Prolog
  • Python Programming Language (optional for AI experimentation)
  • Text Editor / IDE (VS Code / Notepad++ / Sublime)
  • Web Browser (Chrome / Firefox / Edge)

List of Programs

  1. Write Simple Facts in Prolog
    Create simple Prolog facts for the following statements:

    • Ram likes mango.
    • Seema is a girl.
    • Bill likes Cindy.
    • Rose is red.
    • John owns gold.
  2. Temperature Conversion and Checking
    Write predicates where one converts Centigrade temperature to Fahrenheit and another checks if the temperature is below freezing.
  3. Monkey Banana Problem
    Write a Prolog program to solve the Monkey Banana problem using state-space search.
  4. 4-Queen Problem
    Write a Prolog program to find a solution to the 4-Queen problem ensuring no two queens attack each other.
  5. Travelling Salesman Problem
    Write a Prolog program to solve the Travelling Salesman Problem.
  6. Water Jug Problem
    Write a Prolog program to solve the Water Jug problem using logical reasoning.
  7. List Manipulation Functions
    Write Prolog functions to:

    • Remove the Nth item from a list.
    • Insert an item as the Nth element in a list.
  8. Binary Search Tree Leaf Addition
    Assume predicate gt(A,B) is true when A is greater than B.
    Define predicate addLeaf(Tree, X, NewTree) which adds item X to a binary search tree.
    The empty tree is represented by the atom nil.
  9. Counting Lists Using Accumulators
    Write a predicate countLists(AList, Ne, Nl) that counts:

    • Nl – number of items listed at the top level of AList
    • Ne – number of empty lists

    Use accumulators in the implementation.

  10. Counting Element Occurrences
    Define predicate memCount(AList, BList, Count) that determines how many times AList occurs within BList without using an accumulator.Example:

    • memCount(a,[b,a],N). → N = 1
    • memCount(a,[b,[a,a,[a],c],a],N). → N = 4
    • memCount([a],[b,[a,a,[a],c],a],N). → N = 1

Computer Organization and Architecture Lab

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System

Required Software

  • C / C++ Compiler (GCC / Dev C++ / Turbo C)
  • Java Development Kit (JDK)
  • NetBeans IDE / Eclipse IDE
  • Apache Tomcat (for Applet / Web support if required)
  • Hardware Simulation Tools (Logisim / Proteus)
  • Microsoft Office / LibreOffice for documentation

List of Experiments

  1. Simulation and Design of Fast Multiplication and Division Programs
    Design and simulate programs that perform fast multiplication and division operations to understand arithmetic processing and algorithm efficiency in computer systems.
  2. Experiments using Hardware Training Kits
    Perform experiments using hardware training kits to study the working and interfacing of devices such as floppy disk drives, dot matrix printers, and other peripheral components.
  3. Dismantling and Assembling of a Personal Computer
    Dismantle and assemble a PC system to study internal components including connections, ports, chipsets, SMPS, and other hardware parts. Draw and label the block diagram of the motherboard and other relevant boards.
  4. Study Project on Hardware Technologies
    Undertake a study project on various hardware technologies such as memory systems, serial bus, parallel bus, microprocessors, input/output devices, and motherboard architecture.

Design and Analysis of Algorithms Lab

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System

Required Software

  • C / C++ Compiler (GCC / Dev C++ / Turbo C++)
  • Java Development Kit (JDK)
  • NetBeans IDE / Eclipse IDE
  • Graph Plotting Tools (GNU Plot / Excel / Python Matplotlib for analysis)
  • Microsoft Office / LibreOffice for documentation

List of Experiments

  1. Selection Sort
    Sort a given set of n integer elements using the Selection Sort method and compute its time complexity. Run the program for varied values of n > 5000 and record the time taken to sort. Plot a graph of time taken versus n. The elements can be generated using a random number generator or read from a file. Demonstrate the brute force technique and analyze its worst case, average case, and best case time complexity.
  2. Quick Sort
    Sort a given set of n integer elements using the Quick Sort method and compute its time complexity. Run the program for varied values of n > 5000 and record the time taken to sort. Plot a graph of time taken versus n. Demonstrate the divide-and-conquer technique and analyze its worst case, average case, and best case time complexity.
  3. Merge Sort
    Sort a given set of n integer elements using the Merge Sort method and compute its time complexity. Run the program for varied values of n > 5000 and record the time taken to sort. Plot a graph of time taken versus n. Demonstrate the divide-and-conquer technique with analysis of worst case, average case, and best case complexities.
  4. Greedy Method – Knapsack Problem
    Write a program to solve the Knapsack problem using the Greedy approach and demonstrate the selection of items based on maximum profit and weight constraints.
  5. Dijkstra’s Algorithm
    Write a program to find the shortest path from a given vertex to all other vertices in a weighted connected graph using Dijkstra’s algorithm.
  6. Kruskal’s Algorithm
    Write a program to find the Minimum Cost Spanning Tree (MCST) of a connected undirected graph using Kruskal’s algorithm with Union-Find techniques.
  7. Prim’s Algorithm
    Write a program to find the Minimum Cost Spanning Tree (MCST) of a connected undirected graph using Prim’s algorithm.
  8. Dynamic Programming Problems
    • Write a program to solve the All-Pairs Shortest Path problem using Floyd’s algorithm.
    • Write a program to solve the Travelling Salesperson Problem using Dynamic Programming.
    • Write a program to solve the 0/1 Knapsack problem using Dynamic Programming.
  9. Subset Sum Problem
    Design and implement a C++/Java program to find a subset of a given set S = {S1, S2, …, Sn} of positive integers whose sum is equal to a given positive integer d. Display all possible solutions or show a message if no solution exists.
  10. Hamiltonian Cycle
    Design and implement a program to find all Hamiltonian cycles in a connected undirected graph using the Backtracking technique.

Advanced Programming Lab

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System

Required Software

  • Python (Anaconda / Python 3.x)
  • Jupyter Notebook / Google Colab
  • Python Libraries: NumPy, Pandas, Matplotlib, Seaborn
  • Machine Learning Libraries: Scikit-Learn
  • Deep Learning Libraries: TensorFlow / Keras / PyTorch
  • IDE: VS Code / PyCharm / Jupyter Notebook

List of Experiments

The following programs may be implemented using real-time datasets or synthetic datasets in Python.

  1. Linear Regression
    Write a Python program to implement Linear Regression and analyze the relationship between dependent and independent variables.
  2. Logistic Regression
    Develop a Logistic Regression model and evaluate its performance using appropriate classification metrics.
  3. K-Means Clustering
    Write a program to implement K-Means clustering and visualize the clusters using appropriate plotting techniques.
  4. Decision Tree Classifier
    Explain and implement a Decision Tree Classifier and analyze its performance on a dataset.
  5. Naive Bayes Classification
    Write a Python program to implement Naive Bayes classification and evaluate the prediction results.
  6. Support Vector Machine (SVM)
    Implement a Support Vector Machine classifier and discuss the classification results.
  7. k-Nearest Neighbors (k-NN)
    Write a program to implement the k-NN algorithm and analyze its performance for classification tasks.
  8. Gradient Boosting
    Write a program to implement the Gradient Boosting algorithm and evaluate its predictive performance.
  9. Convolutional Neural Network (CNN)
    Write a program to implement a CNN model using an image dataset for image classification.
  10. Model Comparison using Synthetic Data
    Write a program to generate synthetic data, apply multiple machine learning algorithms, and compare the performance of the models using appropriate evaluation metrics.

Theory of Computation Lab

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System

Required Software / Tools

  • JFLAP (Java Formal Languages and Automata Package)
  • Java Development Kit (JDK)
  • NetBeans IDE / Eclipse IDE (optional)
  • Text Editor or IDE for documentation

List of Experiments

  1. Introduction to Automata Simulation Tools
    • Installation and familiarization with automata simulation tools such as JFLAP.
    • Perform basic operations such as creating and running simple finite automata.
  2. Design and Simulation of Deterministic Finite Automata (DFA)
    • Construct DFA for given regular languages.
    • Validate the DFA by testing various input strings for acceptance or rejection.
  3. Design and Simulation of Non-Deterministic Finite Automata (NFA)
    • Construct NFA for various regular languages.
    • Convert the designed NFA into an equivalent DFA and analyze the results.
  4. NFA with ε-transitions
    • Design an NFA with epsilon (ε) transitions for given regular expressions.
    • Convert the ε-NFA to an equivalent DFA.
  5. Finite Automata with Output (Moore and Mealy Machines)
    • Design Moore and Mealy machines for specific output requirements.
    • Convert a Mealy machine into a Moore machine and vice versa.
  6. Context-Free Grammar (CFG) Design
    • Design CFGs for various context-free languages.
    • Parse strings using the grammar and generate corresponding parse trees.
  7. Pushdown Automata (PDA) Simulation
    • Design a PDA for specific context-free languages.
    • Simulate PDA operation using acceptance by final state and acceptance by empty stack.
  8. Turing Machine Design
    • Design and simulate a Turing machine to perform basic mathematical operations such as addition and subtraction.
    • Test the Turing machine with various input strings and observe its behavior.

Operating Systems Lab

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System
  • Linux Distribution (Ubuntu / Fedora / CentOS)

Required Software

  • GCC Compiler for C Programming
  • Linux Terminal / Bash Shell
  • Android Studio for Mobile Application Development
  • Text Editor / IDE (VS Code / Code::Blocks / Sublime Text)

List of Experiments

  1. Installation of Operating System
    Install and configure an operating system (Linux/Windows) and study the basic system environment.
  2. Linux Administrative Commands
    Practice common Linux administrative commands for file management, process monitoring, and system administration.
  3. UNIX Shell Programming
    Write and execute shell scripts to automate basic system tasks and operations.
  4. Process Management using System Calls
    Write programs demonstrating system calls such as fork(), exit(), getpid(), wait(), and close().
  5. Synchronization Problems
    Implement classical synchronization problems such as Dining Philosophers, Cigarette Smokers, or Sleeping Barber problems.
  6. CPU Scheduling Algorithms
    Simulate CPU scheduling algorithms such as First Come First Serve (FCFS), Round Robin (RR), and Shortest Job First (SJF).
  7. Banker’s Algorithm
    Simulate Banker’s Algorithm for deadlock avoidance and analyze system resource allocation.
  8. Page Replacement Algorithms
    Write programs to simulate page replacement algorithms such as FIFO, LRU, and Optimal.
  9. Thread Programming
    Write C programs to implement multithreading and demonstrate concurrent execution.
  10. Paging Scheme Implementation
    Implement a paging scheme using C programming to demonstrate memory management techniques.
  11. Memory Allocation Methods
    Write C programs to implement memory allocation techniques:

    • First Fit
    • Worst Fit
    • Best Fit
  12. Android Programming
    Develop a basic Android mobile application to understand mobile operating system concepts.

Machine Learning Lab

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System
  • Linux (Ubuntu) – optional for development

Required Software / Tools

  • Python 3.x
  • Anaconda Distribution
  • Jupyter Notebook / Google Colab
  • Python Libraries: NumPy, Pandas, Matplotlib, Seaborn
  • Machine Learning Libraries: Scikit-learn
  • Deep Learning Libraries: TensorFlow / PyTorch
  • IDE: VS Code / PyCharm / Jupyter Notebook

Lab Assignments

  1. Introduction to Python Programming
    • Install Python and set up Anaconda.
    • Write basic Python scripts including loops, conditional statements, and functions.
  2. Introduction to Machine Learning Libraries using Python
    • Overview of commonly used libraries for machine learning and data analysis.
  3. Working with NumPy, Matplotlib, and Pandas
    • NumPy: Perform matrix operations, loops, and conditional computations.
    • Matplotlib: Create and customize plots and visualizations.
    • Pandas: Load, explore, and summarize datasets.
  4. Statistical Analysis using Python
    Write a Python program to find the mean, median, mode, variance, and standard deviation of a list of numbers.
  5. Overview of Machine Learning Frameworks
    Study the features and applications of Scikit-learn, TensorFlow, and PyTorch libraries.
  6. Linear Regression
    Implement the Linear Regression algorithm using Python.
  7. Logistic Regression
    Implement the Logistic Regression algorithm for classification tasks.
  8. k-Nearest Neighbors (k-NN)
    Implement the k-NN algorithm and analyze classification results.
  9. Decision Tree
    Implement the Decision Tree algorithm for classification or prediction.
  10. Random Forest
    Implement the Random Forest algorithm and evaluate model performance.
  11. Support Vector Machine (SVM)
    Implement the Support Vector Machine algorithm for classification tasks.
  12. Principal Component Analysis (PCA)
    Implement PCA for dimensionality reduction and visualization of datasets.
  13. K-Means Clustering
    Implement the K-Means clustering algorithm to group similar data points.

Real-World Applications

  • Image Classification
  • Text Classification
  • Regression Problems (e.g., Housing Price Prediction)

Project for Product Development Lab

System Configuration

  • Processor: Intel(R) Core(TM) i3-10100 CPU @ 3.60 GHz
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Monitor: 18” TFT

Operating System

  • Windows 10 Education Operating System

Required Software / Tools

  • Microsoft Office / LibreOffice for documentation and presentations
  • Project Management Tools (MS Project / Trello / Asana)
  • Data Analysis Tools (Excel / Google Sheets / Python-based tools)
  • Presentation Tools (PowerPoint / Google Slides)
  • Internet and Market Research Tools

Instruction Methodology

The course is organized as an independent project-based learning activity conducted in teams of
4–5 students. Each team is responsible for developing a product idea from concept to a
stage where it is ready for potential market launch for a specific organization or business context.

The project work is supported by methodological lectures that introduce frameworks, tools,
and techniques used in modern product development and innovation management.

Throughout the course, the project is presented during a series of seminars where peer groups
act as opponents and evaluate the progress of the project. These presentations function as
“control gates” that help monitor the development process and ensure the project is progressing
towards a feasible and market-ready solution.

The course concludes with a final seminar presentation, where the project team presents
their developed product concept and supporting analysis. Based on the evaluation and discussion,
a decision is made regarding whether the product is suitable for launch or requires further development.