4YearBScHonoursMajorinComputerScienceSEM IIIIV
4YearBScHonoursMajorinComputerScienceSEM IIIIV
Based on
Curriculum & Credit Framework for Undergraduate Programmes
(CCFUP), 2023& NEP, 2020
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
VIDYASAGAR UNIVERSITY
BACHELOR OF SCIENCE (HONOURS) MAJOR IN COMPUTER SCIENCE
(under CCFUP, 2023)
Level YR. SEM Course Course Code Course Title Credit L-T-P Marks
Type CA ESE TOTAL
SEMESTER-III
Major-3 COSHMJ03 T: Data Structure; P: Practical 4 3-0-1 15 60 75
Major-4 COSHMJ04 T: Computer Architecture; P: Practical 4 3-0-1 15 60 75
SEC COSSEC03 P: PYTHON 3 0-0-3 10 40 50
III
AEC AEC03 Communicative English -2 (common for all programmes) 2 2-0-0 10 40 50
MDC MDC03 Multidisciplinary Course -3 (to be chosen from the list ) 3 3-0-0 10 40 50
Minor-3 COSMIN03 T: Digital Logic 4 3-1-0 15 60 75
(Disc.-I)
Semester-III Total 20 375
B.Sc. SEMESTER-II
2nd Major-5 COSHMJ05 T: OOPs using C++; P: Practical 4 3-0-1 15 60 75
(Hons.)
Major-6 COSHMJ06 T: Operating System; P: Practical 4 3-0-1 15 60 75
Major-7 COSHMJ07 T: Computer Network; P: Practical 4 3-0-1 15 60 75
IV AEC AEC04 MIL-2 (common for all programmes) 2 2-0-0 10 40 50
Minor-4 COSMNI04 T: Data Structure; 4 3-0-1 15 60 75
(Disc.-II) P: Practical
Summer INT Internship/ Apprenticeship - activities to be decided by the 4 0-0-4 - - 50
Intern. Colleges following the guidelines to be given later
Semester-IV Total 24 400
TOTAL of YEAR-2 44 775
MJ = Major, MI = Minor Course, SEC = Skill Enhancement Course, AEC = Ability Enhancement Course, MDC = Multidisciplinary Course, CA=
Continuous Assessment, ESE= End Semester Examination, T = Theory, P= Practical, L-T-P = Lecture-Tutorial-Practical, MIL = Modern Indian
Language
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
MAJOR (MJ)
Course contents:
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Module- VIII Hashing 05 Hrs.
Introduction to Hashing, Efficiency of Rehash Methods, Resolving collision by Open Addressing,
Coalesced Hashing, Separate Chaining, Dynamic and Extendible Hashing.
Suggested Readings:
1. Adam Drozdek, "Data Structures and algorithm in C++", Third Edition, Cengage Learning,
2012.
2. SartajSahni, Data Structures, "Algorithms and applications in C++", Second Edition, Universities
Press, 2011.
3. Aaron M. Tenenbaum, Moshe J. Augenstein, Yedidyah Langsam, "Data Structures Using C and
C++:, Second edition, PHI, 2009.
4. Robert L. Kruse, "Data Structures and Program Design in C++", Pearson, 1999.
5. D.S Malik, Data Structure using C++, Second edition, Cengage Learning, 2010.
6. Mark Allen Weiss, "Data Structures and Algorithms Analysis in Java", Pearson Education, 3rd
edition, 2011
7. Aaron M. Tenenbaum, Moshe J. Augenstein, Yedidyah Langsam, "Data Structures Using Java,
2003.
8. Robert Lafore, "Data Structures and Algorithms in Java, 2/E", Pearson/ Macmillan Computer
Pub, 2003
9. John Hubbard, "Data Structures with JAVA", McGraw Hill Education (India) Private Limited; 2
edition, 2009
10. Goodrich, M. and Tamassia, R. "Data Structures and Algorithms Analysis in Java", 4th Edition,
Wiley, 2013
11. Herbert Schildt, "Java The Complete Reference (English) 9th Edition Paperback", Tata McGraw
Hill, 2014.
12. D. S. Malik, P.S. Nair, "Data Structures Using Java", Course Technology, 2003.
1. Write a program to search an element from a list. Give user the option to perform Linear or
Binary search. Use Template functions.
2. WAP using templates to sort a list of elements. Give user the option to perform sorting using
Insertion sort, Bubble sort or Selection sort.
3. Implement Linked List using templates. Include functions for insertion, deletion and search of a
number, reverse the list and concatenate two linked lists (include a function and also overload
operator +).
4. Implement Doubly Linked List using templates. Include functions for insertion, deletion and
search of a number, reverse the list.
5. Implement Circular Linked List using templates. Include functions for insertion, deletion and
search of a number, reverse the list.
6. Perform Stack operations using Linked List implementation.
7. Perform Stack operations using Array implementation. Use Templates.
8. Perform Queues operations using Circular Array implementation. Use Templates.
9. Create and perform different operations on Double-ended Queues using Linked List
implementation.
10. WAP to scan a polynomial using linked list and add two polynomial.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
11. WAP to calculate factorial and to compute the factors of a given no. (i) using recursion, (ii) using
iteration
12. WAP to display fibonacci series (i)using recursion, (ii) using iteration
13. WAP to calculate GCD of 2 number (i) with recursion (ii) without recursion
14. WAP to create a Binary Search Tree and include following operations in tree:
(a) Insertion (Recursive and Iterative Implementation)
(b) Deletion by copying
(c) Deletion by Merging
(d) Search a no. in BST
(e) Display its preorder, postorder and inorder traversals Recursively
(f) Display its preorder, postorder and inorder traversals Iteratively
(g) Display its level-by-level traversals
(h) Count the non-leaf nodes and leaf nodes
(i) Display height of tree
(j) Create a mirror image of tree
(k) Check whether two BSTs are equal or not
15. WAP to convert the Sparse Matrix into non-zero form and vice-versa.
16. WAP to reverse the order of the elements in the stack using additional stack.
17. WAP to reverse the order of the elements in the stack using additional Queue.
18. WAP to implement Diagonal Matrix using one-dimensional array.
19. WAP to implement Lower Triangular Matrix using one-dimensional array.
20. WAP to implement Upper Triangular Matrix using one-dimensional array.
21. WAP to implement Symmetric Matrix using one-dimensional array.
22. WAP to create a Threaded Binary Tree as per in order traversal, and implement operations like
finding the successor / predecessor of an element, insert an element, in order traversal.
23. WAP to implement various operations (searching, insertion, deletion) on AVL Tree.
24. Implementation of Selection Sort, Insertion Sort, Bubble Sort, Quick Sort.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
MJ-4T: Computer Architecture Credits 03
Suggested Readings:
All laboratory assignments are based on Hardware Description Language (VHDL or Verilog)
Simulation / Hardware Kit.
[Pre-requisite: The hardware based design has been done in the Analog& Digital Electronics
laboratory and Computer Organization laboratory]
1. HDL introduction
2. Basic digital logic base programming with HDL
3. 8-bit Addition, Multiplication, Division
4. 8-bit Register design
5. Memory unit design and perform memory operatons.
6. 8-bit simple ALU design
7. 8-bit simple CPU design
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
8. Interfacing of CPU and Memory
9. Create the micro operations and associate with instructions as given in the chapter (except
interrupts). Design the register set, memory and the instruction set. Use this machine for the
assignments of this section.
10. Create a Fetch routine of the instruction cycle.
11. Simulate the machine to determine the contents of AC, E, PC, AR and IR registers in
hexadecimal after the execution of each of following register reference instructions:
a. CLA e. CIR i. SNA
b. CLE f. CIL j. SZA
c. CMA g. INC k. SZE
d. CME h. SPA l. HLT
Initialize the contents of AC to (A937)16, that of PC to (022)16 and E to 1.
12. Simulate the machine for the following memory-reference instructions with I= 0 and address
part = 082. The instruction to be stored at address 022 in RAM. Initialize the memory word at
address 082 with the operand B8F2 and AC with A937. Determine the contents of AC, DR, PC,
AR and IR in hexadecimal after the execution.
a. ADD f. BSA
b. AND g. ISZ
c. LDA d. STA
e. BUN
13. Simulate the machine for the memory-reference instructions referred in above question with
I= 1 and address part = 082. The instruction to be stored at address 026 in RAM. Initialize the
memory word at address 082 with the value 298. Initialize the memory word at address 298 with
operand B8F2 and AC with A937. Determine the contents of AC, DR, PC, AR and IR in
hexadecimal after the execution.
14. Modify the machine created in Practical 1 according to the following instruction format:
Instruction format
0 23 4 15
Opcode I Address
a. The instruction format contains a 3-bit opcode, a 1-bit addressing mode and a 12-bit address.
There are only two addressing modes, I = 0 (direct addressing) and I = 1 (indirect addressing).
b. Create a new register I of 1 bit.
c. Create two new microinstructions as follows:
i. Check the opcode of instruction to determine type of instruction (Memory
Reference/Register Reference/Input-Output) and then jump accordingly.
ii. Check the I bit to determine the addressing mode and then jump accordingly.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
MJ-5: OOPs using C++ Credits 04
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Suggested Readings:
1. Write a C++ program to find the sum of individual digits of a positive integer.
2. Write a C++ program to print the given number in reverse order.
3. Write a C++ program to print first 100 non-Fibonacci numbers.
4. Write a C++ program to convert a decimal number into a hexadecimal number.
5. Write a C++ program to search an element of an array using binary search technique.
6. Write a C++ program to calculate compound interest in a bank using default arguments.
7. Write a C++ program to display the student details using classes and object as array.
8. Write a C++ program to implement stack using array.
9. Write a C++ program for matrix multiplication using dynamic memory allocation, copy
construction and overloading of assignment operator.
10. Write a C++ program to read a two dimensional matrix and display its transpose.
11. Write a C++ program to implement inline function.
12. Write a C++ program to implement constructor and destructor.
13. Write a C++ program to implement the functionalities of a copy constructor.
14. Write a C++ program to display the account number and balance using constructor overloading.
15. Write a C++ program to find the volume of cube, rectangle and cylinder using function
overloading. 16. Write a C++ program to overload operator ++ and operator - using friend
functions.
16. Write a C++ program to add two complex numbers using binary operator overloading.
17. Write a C++ program to implement single inheritance and multilevel inheritance.
18. Write a C++ program to draw a rectangle, square and circle using multiple inheritance with
virtual function.
19. Write a C++ program to implement hybrid inheritance.
20. Write a C++ program to display student details using virtual base class.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
21. Write a C++ program to implement pure virtual function.
Reference Books:
1. E. Balaguruswami-Object Oriented programming with C++
2. Kris James-Success with C++
3. David Parsons-Object Oriented programming with C++
4. D. Ravichandran-Programming in C++
5. Dewhurst and Stark-Programming in C++
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Module III: Process Management 16 Hrs.
System view of the process and resources, process abstraction, process hierarchy, threads, threading
issues, thread libraries; Process Scheduling, non-pre-emptive and pre-emptive scheduling algorithms;
concurrent processes, critical section, semaphores, methods for inter- process communication; deadlocks.
Suggested Readings:
1. Write a program (using fork () and/or exec () commands) where parent and child
execute:
a. same program, same code.
b. same program, different code.
c. before terminating, the parent waits for the child to finish its task.
2. Write a program to report behaviour of Linux kernel including kernel version,
CPU type and model. (CPU information)
3. Write a program to report behaviour of Linux kernel including information on
configured memory, amount of free and used memory (memory information).
4. Write a program to print file details including owner access permissions, file
access time, where file name is given as argument.
5. Write a program to copy files using system calls.
6. Write program to implement FCFS scheduling algorithm.
7. Write program to implement Round Robin scheduling algorithm.
8. Write program to implement SJF scheduling algorithm.
9. Write program to calculate sum of n numbers using thread library.
10. Write a program to implement first-fit, best-fit and worst-fit allocation strategies
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Reference Books:
1. E. Balaguruswami-Object Oriented programming with C++
2. Kris James-Success with C++
3. David Parsons-Object Oriented programming with C++
4. D. Ravichandran-Programming in C++
5. Dewhurst and Stark-Programming in C++
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Module IV: Data Link Layer Functions and Protocol 10 Hrs.
Error detection and error correction techniques; data-link control- framing and flow control; error
recovery protocols- stop and wait ARQ, go-back-n ARQ; Point to Point Protocol on Internet.
Suggested Readings:
1. Simulate Cyclic Redundancy Check (CRC) error detection algorithm for noisy channel.
2. Simulate and implement stop and wait protocol for noisy channel.
3. Simulate and implement go back n sliding window protocol.
4. Simulate and implement selective repeat sliding window protocol.
5. Simulate and implement distance vector routing algorithm
6. Simulate and implement Dijkstra algorithm for shortest path routing.
7. Experiments for capturing and analyzing data packets using Wire Shark.
a. Experiments on filtering packets
b. Experiments on inspecting packets
8. Write a program for a HLDC frame to perform the following. i. Bit stuffing , ii. Character stuffing.
9. Write a program for distance vector algorithm to find suitable path for transmission.
10. Implement Dijkstra 's algorithm to compute the shortest routing path.
11. For the given data, use CRC-CCITT polynomial to obtain CRC code. Verify the program for the
cases
a Without error
b. With error
12. Implementation of Stop and Wait Protocol and Sliding Window Protocol
13. Write a program for congestion control using leaky bucket algorithm.
Use NS2/NS3.
1. Write TCL Script for connecting two nodes and sending packets in wired network.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
2. Write TCL Script for given STAR topology using SFQ on queue at intermediate node & use different
colors for packet originated from different nodes.
3. Write TCL Script for given RING topology in wired network using For loop & making topology
dynamic.
4. Write TCL Script in wired network for the given topology using TCP connection and sending data
through the node.
5. Write TCL Script in wired network for the given topology using UDP connection and sending data
through node.
6. Implement three nodes point – to – point network with duplex links between them. Set the queue size,
vary the bandwidth and find the number of packets dropped.
7. Implement transmission of ping messages/trace route over a network topology consisting of 6 nodes
and find the number of packets dropped due to congestion.
8. Implement an Ethernet LAN using n nodes and set multiple traffic nodes and plot congestion window
for different source / destination
9. Implement three nodes point – to – point network with duplex links between them. Set the queue size,
vary the bandwidth and find the number of packets dropped.
10. Implement transmission of ping messages/trace route over a network topology consisting of 6 nodes
and find the number of packets dropped due to congestion.
11. Implement an Ethernet LAN using n nodes and set multiple traffic nodes and plot congestion window
for different source / destination.
12. Implement simple ESS and with transmitting nodes in wire-less LAN by simulation and determine
the performance with respect to transmission of packets.
13. Implement and study the performance of GSM on NS2/NS3 (Using MAC layer) or equivalent
environment.
14. Implement and study the performance of CDMA on NS2/NS3 (Using stack called Call net) or
equivalent environment
Reference Books:
6. E. Balaguruswami-Object Oriented programming with C++
7. Kris James-Success with C++
8. David Parsons-Object Oriented programming with C++
9. D. Ravichandran-Programming in C++
10. Dewhurst and Stark-Programming in C++
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
MINOR (MI)
Course contents:
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Combinational Circuits: 15 Hrs.
Half Adder, Full Adder (3-bit), Half Subtractor, Full Subtractor (3-bit), and construction using Basic
Logic Gates (OR, AND, NOT) and Universal Logic Gates (NAND & NOR), Multiplexer, Encoders,
Demultiplexer, and Decoder circuits.
Sequential Circuits: 15 Hrs.
Latch, RS, D, JK, T Flip Flops; Race condition, Master Slave JK Flip Flop; Registers: Serial Input Serial
Output (SISO), Serial Input Parallel Output (SIPO), Parallel input Serial Output (PISO), Parallel Input
Parallel Output (PIPO), Universal Shift Registers; Counters: Asynchronous Counter, Synchronous
Counter.
Suggested Readings:
1. Morris Mano, Charles R. Kime, Logic and computer design fundamentals, Pearson Prentice Hall,
2004
2. Basavaraj,B., Digital fundamentals, New Delhi: Vikas Publishing House, 1999.
3. Kandel Langholz, Digital Logic Design, Prentice Hall, 1988.
4. Rafiquzzaman & Chandra, Modern Computer Architecture, West Pub. Comp., 1988.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
OUTCOME OF THE COURSE
Implement various data structures such as arrays, linked lists, stacks, queues, trees,
graphs, heaps, and hash tables in a programming language of their choice.
Develop the ability to design and analyse algorithms, understand their time and space
complexities using Big O notation, and make informed decisions about the most efficient
algorithms to use in different scenarios.
Enhance their problem-solving skills by applying data structures and algorithms to solve
computational problems effectively and efficiently.
Learn how to choose the appropriate data structures for specific applications, optimizing
data storage, retrieval, and manipulation in software systems.
Gain a deep understanding of how data structures interact with memory, including
concepts like dynamic memory allocation, pointers, and memory deallocation.
Have a solid foundation for advanced topics in computer science, such as algorithms,
machine learning, artificial intelligence, databases, and systems design, where efficient
data management is crucial.
Evaluate the trade-offs between different data structures and algorithms in terms of time,
space, and complexity, and make informed choices in their design and implementation.
Capable of applying their knowledge of data structures in real-world software
development projects, contributing to more efficient, scalable, and maintainable code.
Improve their ability to work collaboratively in teams, effectively communicating ideas
and solutions related to data structures and algorithms.
Prepare for technical interviews in the software industry, where knowledge of data
structures and algorithms is often tested through coding challenges and problem-solving
questions.
Course contents:
Arrays 3 Hrs.
Single and Multi-dimensional Arrays, Sparse Matrices (Array and Linked Representation)
Stacks 5 Hrs.
Implementing single/multiple stacks in an Array; Prefix, Infix, and Postfix expressions, Utility and
conversion of these expressions from one to another; Applications of a stack; Limitations of Array
representation of a stack
Linked Lists 7 Hrs.
Singly, Doubly, and Circular Lists (Array and Linked representation); Normal and Circular representation
of Stack in Lists; Self Organizing Lists; Skip Lists
Queues 5Hrs.
Array and Linked representation of Queue, De-queue, and Priority Queues
Recursion 5 Hrs.
Developing Recursive Definition of Simple Problems and their implementation; Advantages and
Limitations of Recursion; Understanding what goes behind Recursion (Internal Stack Implementation)
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Trees 10 Hrs.
Introduction to Tree as a data structure; Binary Trees (Insertion, Deletion, Recursive and Iterative
Traversals on Binary Search Trees); Threaded Binary Trees (Insertion, Deletion, Traversals); Height-
Balanced Trees (Various operations on AVL Trees). Tree traversal techniques.
Searching and Sorting 7 Hrs.
Linear Search, Binary Search, Comparison of Linear and Binary Search, Selection Sort, Insertion Sort,
Bubble Sort, Quick Sort, Comparison of Sorting Techniques
Hashing 3 Hrs.
Introduction to Hashing, Efficiency of Rehash Methods, Resolving collision by Open Addressing,
Coalesced Hashing, Separate Chaining, Dynamic and Extendible Hashing.
Suggested Readings:
1. Adam Drozdek, "Data Structures and algorithm in C++", Third Edition, Cengage Learning, 2012.
2. Sartaj Sahni, Data Structures, "Algorithms and applications in C++", Second Edition, Universities
Press, 2011.
3. Aaron M. Tenenbaum, Moshe J. Augenstein, Yedidyah Langsam, "Data Structures Using C and
C++, Second edition, PHI, 2009.
4. Robert L. Kruse, "Data Structures and Program Design in C++", Pearson, 1999.
5. D.S Malik, Data Structure using C++, Second edition, Cengage Learning, 2010.
6. Mark Allen Weiss, "Data Structures and Algorithms Analysis in Java", Pearson Education, 3rd
edition, 2011
7. Aaron M. Tenenbaum, Moshe J. Augenstein, Yedidyah Langsam, "Data Structures Using Java,
2003.
8. Robert Lafore, "Data Structures and Algorithms in Java, 2/E", Pearson/ Macmillan Computer
Pub, 2003
9. John Hubbard, "Data Structures with JAVA", McGraw Hill Education (India) Private Limited; 2
edition, 2009
10. Goodrich, M. and Tamassia, R. "Data Structures and Algorithms Analysis in Java", 4th Edition,
Wiley, 2013
11. Herbert Schildt, "Java The Complete Reference (English) 9th Edition Paperback", Tata McGraw
Hill, 2014.
12. D. S. Malik, P.S. Nair, "Data Structures Using Java", Course Technology, 2003.
Course Outline:
1. Write a program to search an element from a list. Give user the option to perform Linear or
Binary search. Use Template functions.
2. WAP using templates to sort a list of elements. Give user the option to perform sorting
using Insertion sort, Bubble sort or Selection sort.
3. Implement Linked List using templates. Include functions for insertion, deletion and
search of a number, reverse the list and concatenate two linked lists (include a function
and also overload operator +).
4. Implement Doubly Linked List using templates. Include functions for insertion, deletion and
search of a number, reverse the list.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
5. Implement Circular Linked List using templates. Include functions for insertion, deletion
and search of a number, reverse the list.
6. Perform Stack operations using Linked List implementation.
7. Perform Stack operations using Array implementation. Use Templates.
8. Perform Queues operations using Circular Array implementation. Use Templates.
9. Create and perform different operations on Double-ended Queues using Linked List
implementation.
10. WAP to scan a polynomial using a linked list and add two polynomials.
11. WAP to calculate factorial and to compute the factors of a given no. (i) using recursion,
(ii) using iteration
12. WAP to display Fibonacci series (i)using recursion, (ii) using iteration
13. WAP to calculate GCD of 2 number (i) with recursion (ii) without recursion
14. WAP to create a Binary Search Tree and include following operations in tree:
a. Insertion (Recursive and Iterative Implementation)
b. Deletion by copying
c. Deletion by Merging
d. Search a no. in BST
e. Display its preorder, post-order and in-order traversals Recursively
f. Display its preorder, post-order and in-order traversals Iteratively
g. Display its level-by-level traversals
h. Count the non-leaf nodes and leaf nodes
i. Display height of tree
j. Create a mirror image of tree
k. Check whether two BSTs are equal or not
15. WAP to convert the Sparse Matrix into non-zero form and vice-versa.
16. WAP to reverse the order of the elements in the stack using an additional stack.
17. WAP to reverse the order of the elements in the stack using an additional Queue.
18. WAP to implement Diagonal Matrix using the one-dimensional array.
19. WAP to implement a Lower Triangular Matrix using the one-dimensional array.
20. WAP to implement an Upper Triangular Matrix using the one-dimensional array.
21. WAP to implement a Symmetric Matrix using the one-dimensional array.
22. WAP to create a Threaded Binary Tree as per in order traversal, and implement operations like
finding the successor/predecessor of an element, inserting an element, in order traversal.
23. WAP to implement various operations on AVL Tree.
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
SKILL ENHANCEMENT COURSE (SEC)
The objectives of this course are to make the student understand programming language, programming,
concepts of Loops, reading a set of Data, stepwise refinement, Functions, Control structure, Arrays. After
completion of this course the student is expected to analyze the real-life problem and write a program in
‘Python’ language to solve the problem. The main emphasis of the course will be on problem solving
aspect i.e., developing proper algorithms.
After completion of the course the student will be able to
Develop efficient algorithms for solving a problem.
Use the various constructs of a programming language viz. conditional, iteration and recursion.
Implement the algorithms in “Python” language.
Use simple data structures like arrays, stacks and list in solving problems.
Course Outline:
Planning the Computer Program: Concept of problem solving, Problem definition, Problem design,
Debugging, Types of Errors in programing, Documentation
Introduction to Python: Python Interpreter, Python shell, Indentation, Atoms, Identifiers and keywords,
literals, Strings, Operator (Arithmetic Operator, Relational Operator, Logical or Boolean Operator,
Assignment Operator, Ternary operator, Bitwise Operator)
Creating Python Programs: Input and Output Statements, Control Statements (Branching, Looping,
Conditional Statement, Exit, Function, Difference, between break, continue and pass). Defining
Functions, Default arguments and Exception handling
Iterations and Recursions: Conditional execution, Alternative execution, Nested conditionals, Return
statements, Recursion, Stack diagrams for recursive functions, Multiple assignment, While statement, For
statement.
String and List: String as a compound data type, Length, Traversal and the for loop, String slices, String
Comparison, A find function, Looping and counting, List values, Accessing elements, List length, List
membership, List and for loops, List operations, List deletion, Cloning lists, Nested Lists
Object Oriented Programing: Introduction to Classes, Objects and Methods, Standard Libraries
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163
Suggested Readings:
1. Jhon V. Guttag, “Introduction to Computation and Programming Using Python”, MIT
Press
2. Allen Downey, “Think Python: How to Think a Computer Scientist”, O’Reilly
3. Mark Lutz, “Learning Python, 5 Edition”, O’Reilly
th
Downloaded from Vidyasagar University by 14.139.211.194 on 27 Jan 2025 18:57:42 PM; Copyright (c) : Vidyasagar University
http://download.vidyasagar.ac.in/OpenLink.aspx?LINKID=163