Data Structures and Algorithms syllabus
PCC-201-CYB · Second Year Cyber Security, SPPU 2024 pattern. Every unit, the marks scheme, course outcomes and books, copied from the official syllabus PDF.
Unit-wise syllabus
Introduction to Algorithm and Data Structure
9 hoursIntroduction to Basic Concepts: Data, Information, Knowledge , Data Structure, Abstract Data Types (ADT), Data Structure Classification Algorithms: Problem Solving, Introduction to Algorithm, Characteristics of Algorithm Complexity of Algorithm: Space complexity, Time complexity, Asymptotic notation-Big-O, Theta and Omega, Finding complexity using step count method, Analysis of programming constructs-Linear, Quadratic, Cubic, Logarithmic
Array and Linked List
9 hoursArray: Basics of Array, Storage Representation and their Address Calculation: Row Major and Column Major. Types of Arrays: 1 Dimensional, Multi-Dimensional (2D, 3D), Array Operations, Sparse Array & Compressed Storage: Representation, Addition and Transpose, Array as an ADT, Pros & Cons of an Array. Linked List: Basics of Linked List, Linked List Operation: Create, Insert, Delete, Search, Types of Linked List: Singly Linked List (SLL), Doubly Linked List (DLL), Circular Linked List (CLL), Generalized Linked List (GLL): Representation of polynomial using GLL, Pros & Cons of Linked List.
Searching and Sorting
9 hoursSearching: Sequential Search, Variations on Sequential Searches, Sentinel Linear Search, Fibonacci Search, Binary Search Algorithm – Iterative and Recursive Implementation. Sorting: Insertion sort, Selection Sort, Bubble Sort, Merge Sort, Heap Sort, Quick Sort, Bucket Sort, Comparison of all sorting methods and their complexities
Case study: Use of Fibonacci search in non-uniform access memory storage and in Optimization of Uni-modal Functions.
Stack
9 hoursBasic Concepts: Definition, Operations. Stack as an ADT, Memory Representation: Using Array, Using Linked List. Memory Management: Stack Memory Vs Heap Memory, How function calls are managed using stacks, Stack Overflow: Causes & Prevention. Applications of Stack: Expression of Evaluation & Conversion
Case study : Implementation and Comparison of Stack Using Array and Linked List
Queue
9 hoursQueue: Basic Concepts, Queues as ADT, Queue Representation using sequential organization, Queue operations , Implementation of queue using array and linked organization, Types of Queue: Circular Queue and its advantages, Double ended Queue (Deque) and its types (Input restricted and Output restricted), Priority Queue: basic concept and its types (Ascending and descending), Real time applications of queues.
Case study: Bank’s customer service system
Marks and credits
| Head | Marks | Credit |
|---|---|---|
| CCE (continuous comprehensive evaluation) | 40 | 3 |
| End-semester exam | 60 |
Prerequisite: 1. Fundamentals of Programming Languages 2. Programming and Problem Solving.
Course outcomes
- CO1Design the algorithms to solve the programming problems, identify appropriate algorithmic strategies for specific applications, and analyze the time and space complexity.
- CO2Demonstrate the use of sequential data structures like arrays and linked lists to store and process data.
- CO3Understand the fundamental principles behind various search and sort algorithms, analyze their time and space complexities, choose the most appropriate algorithm for a given problem based on data characteristics and effectively implement these algorithms in code.
- CO4Demonstrate the understanding of stack data structures, their memory representation, and applications in function calls, expression evaluation, and balancing parentheses.
- CO5Understand and implement a queue as a linear data structure to solve real-world problems.
Books
Text books
- Horowitz, Sahani and Mehta Fundamentals of Data Structures in C++, University Press, ISBN 10: 0716782928 ISBN 13: 9780716782926.
- Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Data Structures and Algorithms in Python, Wiley Publication, ISBN:978-1-118-29027-9
Reference books
- R.Gillberg, B.Forouzan Data Structures: A Pseudocode approach with C, Cengage Learning, ISBN: 9788131503140.
- M.Weiss Data Structures and Algorithm Analysis in C++, 2nd edition, Pearson Education, 2002, ISBN-81- 7808-670-0.
- Horowitz, Sahani Fundamentals of Data Structures, Galgotia Book source.
- “Introduction to Algorithms” by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
- Data Structures and Algorithms Made Easy in C++ Narasimha Karumanchi.
FAQ
How many units are in Data Structures and Algorithms?
Data Structures and Algorithms (PCC-201-CYB) has 5 units and 45 hours of theory: Unit I Introduction to Algorithm and Data Structure (9 h); Unit II Array and Linked List (9 h); Unit III Searching and Sorting (9 h); Unit IV Stack (9 h); Unit V Queue (9 h).
What is the marks scheme for Data Structures and Algorithms?
The official Cyber Security 2024 pattern syllabus lists continuous comprehensive evaluation (CCE) for 40 marks and the end-semester exam for 60 marks, for 3 credits.
What should I know before Data Structures and Algorithms?
Prerequisite listed in the syllabus: 1. Fundamentals of Programming Languages 2. Programming and Problem Solving.