Become a world-class Digital Marketer in the next 3 months. Join SkillCamper's Digital Marketing Bootcamp. Get guaranteed job placement and a minimum salary of Rs 5 lakhs.
Back to Study material
Syllabus
DSA
Data Structures & Algorithms (Syllabus)

Unit I Hashing (07 Hours)
Hash Table- Concepts-hash table, hash function, basic operations, bucket, collision, probe, synonym,
overflow, open hashing, closed hashing, perfect hash function, load density, full table, load factor,
rehashing, issues in hashing, hash functions- properties of good hash function, division,
multiplication, extraction, mid-square, folding and universal, Collision resolution strategies- open
addressing and chaining, Hash table overflow- open addressing and chaining, extendible hashing,
closed addressing and separate chaining.
Skip List- representation, searching and operations- insertion, removal
#Exemplar/Case Studies Book Call Number, Dictionary,

Unit II Graphs (08 Hours)
Basic Concepts, Storage representation, Adjacency matrix, adjacency list, adjacency multi list, inverse
adjacency list. Traversals-depth first and breadth first, Minimum spanning Tree, Greedy algorithms
for computing minimum spanning tree- Prims and Kruskal Algorithms, Dikjtra's Single source shortest
path, All pairs shortest paths- Flyod-Warshall Algorithm Topological ordering.

Unit III Trees (07 Hours)
Tree- basic terminology, General tree and its representation, representation using sequential and
linked organization, Binary tree- properties, converting tree to binary tree, binary tree
traversals(recursive and non-recursive)- inorder, preorder, post order, depth first and breadth first,
Operations on binary tree. Huffman Tree (Concept and Use), Binary Search Tree (BST), BST operations, Threaded binary search tree- concepts, threading, insertion and deletion of nodes in in-
order threaded binary search tree, in order traversal of in-order threaded binary search tree. #Exemplar/Case Studies Use of binary tree in expression tree-evaluation and Huffman's coding

Unit IV Search Trees (08 Hours)
Symbol Table-Representation of Symbol Tables- Static tree table and Dynamic tree table, Weight
balanced tree - Optimal Binary Search Tree (OBST), OBST as an example of Dynamic Programming,
Height Balanced Tree- AVL tree. Red-Black Tree, AA tree, K-dimensional tree, Splay Tree
#Exemplar/Case
Studies Keyword search in a document using OBST.

Unit V Indexing and Multiway Trees (06 Hours)
Indexing and Multiway Trees- Indexing, indexing techniques-primary, secondary, dense, sparse,
Multiway search trees, B-Tree- insertion, deletion , B+Tree - insertion, deletion, use of B+ tree in
Indexing, Trie Tree.
#Exemplar/Case Studies Heap as a priority queue

Unit VI File Organization (06 Hours)
Files: concept, need, primitive operations. Sequential file organization- concept and primitive
operations, Direct Access File- Concepts and Primitive operations, Indexed sequential file
organization-concept, types of indices, structure of index sequential file, Linked Organization- multi
list files, coral rings, inverted files and cellular partitions.
#Exemplar/Case Studies External Sort- Consequential processing and merging two lists, multiway
merging- a k way merge algorithm

Text Books:
1. Horowitz, Sahani, Dinesh Mehata, ―Fundamentals of Data Structures in C++‖, Galgotia
Publisher, ISBN: 8175152788, 9788175152786.
2. M Folk, B Zoellick, G. Riccardi, ―File Structures‖, Pearson Education, ISBN:81-7758-37-5
3. Peter Brass, ―Advanced Data Structures‖, Cambridge University Press, ISBN: 978-1-107-
43982-5
Reference Books:
1. A. Aho, J. Hopcroft, J. Ulman, ―Data Structures and Algorithms‖, Pearson Education, 1998,
ISBN-0-201-43578-0.
2. Michael J Folk, ―File Structures an Object Oriented Approach with C++‖, Pearson Education,
ISBN: 81-7758-373-5.
3. Sartaj Sahani, ―Data Structures, Algorithms and Applications in C++‖, Second Edition,
University Press, ISBN:81-7371522 X.
4. G A V Pai, ―Data Structures and Algorithms‖, The McGraw-Hill Companies, ISBN -
9780070667266.
5. Goodrich, Tamassia, Goldwasser, ―Data Structures and Algorithms in Java‖, Wiley
Publication, ISBN: 9788126551903


SE
Software Engineering (Syllabus)

Unit I Introduction to Software Engineering and Software Process Models (06 Hours)
Software Engineering Fundamentals: Introduction to software engineering, The Nature of Software,
Defining Software, Software Engineering Practice.
Software Process: A Generic Process Model, defining a Framework Activity, Identifying a Task Set,
Process Patterns, Process Assessment and Improvement, Prescriptive Process Models, The Waterfall
Model, Incremental Process Models, Evolutionary Process Models, Concurrent Models, A Final Word
on Evolutionary Processes. Unified Process, Agile software development: Agile methods, plan driven
and agile development.
#Exemplar/Case Studies Agile Tools- JIRA

Unit II Software Requirements Engineering and Analysis (06 Hours)
Modelling: Requirements Engineering, Establishing the Groundwork, Identifying Stakeholders,
Recognizing Multiple Viewpoints, working toward Collaboration, Asking the First Questions, Eliciting
Requirements, Collaborative Requirements Gathering, Usage Scenarios, Elicitation Work Products,
Developing Use Cases, Building the Requirements Model, Elements of the Requirements Model,
Negotiating Requirements, Validating Requirements.
Suggested Free Open Source tools: StarUML, Modelio, SmartDraw.
#Exemplar/Case Studies

Write SRS in IEEE format for selected Project Statement/ case study
Study SRS of Online Voting system
(http://dos.iitm.ac.in/OOSD_Material/CaseStudies/CaseStudy2/eVote-srs.pdf),
Library management System,
Develop use case model for any software applications.


Unit III Estimation and Scheduling (06 Hours)
Estimation for Software Projects:The Project Planning Process, Defining Software Scope and
Checking Feasibility, Resources management, Reusable Software Resources, Environmental
Resources,
Software Project Estimation, Decomposition Techniques, Software Sizing, Problem-Based Estimation,
LOC-Based Estimation, FP-Based Estimation, Object Point (OP)-based estimation, Process-Based
Estimation, Process-Based Estimation, Estimation with Use Cases, Use-Case–Based Estimation,
Reconciling Estimates, Empirical Estimation Models, The Structure of Estimation Models, The
COCOMO II Mode, Preparing Requirement Traceability Matrix
Project Scheduling: Project Scheduling, Defining a Task for the Software Project, Scheduling.
Suggested Free Open Source Tool:GanttProject, Agantty, ProjectLibre.
#Exemplar/Case Studies

Write SRS in IEEE format for selected Project Statement/ case study
Study SRS of Online Voting system
(http://dos.iitm.ac.in/OOSD_Material/CaseStudies/CaseStudy2/eVote-srs.pdf),
Library management System,


Unit IV Design Engineering (06 Hours)
Design Concepts: Design within the Context of Software Engineering, The Design Process, Software
Quality Guidelines and Attributes, Design Concepts - Abstraction, Architecture, design Patterns,
Separation of Concerns, Modularity, Information Hiding, Functional Independence, Refinement,
Aspects, Refactoring, Object-Oriented Design Concept,
Design Classes, The Design Model , Data Design Elements, Architectural Design Elements, Interface
Design Elements, Component-Level Design Elements, Component Level Design for WebApps, Content
Design at the Component Level, Functional Design at the Component Level, Deployment-Level Design
Elements, Architectural Design: Software Architecture, What is Architecture, Why is Architecture Important, Architectural Styles, A brief Taxonomy of Architectural Styles.
Suggested Free Open Source Tool:SmartDraw.
#Exemplar/Case Studies Study design of Biometric Authentication software


Unit V Risks and Configuration Management (06 Hours)
Risk Management:Software Risks, Risk Identification, Risk Projection, Risk Refinement, Risk
Mitigation, Monitoring, and Management, The RMMM Plan.
Software Configuration Management: Software Configuration Management, The SCM Repository
The SCM Process, Configuration Management for any suitable software system
Suggested FreeOpen Source Tools: CFEngine Configuration Tool, Puppet Configuration Tool.
#Exemplar/Case Studies Risk management in Food delivery software


Unit VI Software Testing (06 Hours)
A Strategic Approach to Software Testing, Verification and Validation, Organizing for Software
Testing, Software Testing Strategy—The Big Picture, Criteria for Completion of Testing, Strategic
Issues, Test Strategies for Conventional Software, Unit Testing, Integration Testing, Test Strategies for
Object-Oriented Software, Unit Testing in the OO Context, Integration Testing in the OO Context, Test
Strategies forWebApps, Validation Testing, Validation-Test Criteria, Configuration Review.
Suggested Free Open Source Tools:Selenium, JUnit.
#Exemplar/Case Studies Selemium Testing with any online application


Text Books:
1. Roger Pressman, ―Software Engineering: A Practitioner‘s Approach‖, McGraw Hill, ISBN 0–
07–337597–7
2. Ian Sommerville, ―Software Engineering‖, Addison and Wesley, ISBN 0-13-703515-2


Reference Books:
1. Carlo Ghezzi, ―Fundamentals of Software Engineering", Prentice Hall India, ISBN-10:
0133056996
2. Rajib Mall, ―Fundamentals of Software Engineering‖, Prentice Hall India, ISBN-13: 978-
8120348981
3. Pankaj Jalote, ―An Integrated Approach to Software Engineering‖, Springer, ISBN 13:
9788173192715.
4. S K Chang, ―Handbook of Software Engineering and Knowledge Engineering‖, World
Scientific, Vol I, II, ISBN: 978-981-02-4973-1

5. Tom Halt, ―Handbook of Software Engineering‖, Clanye International ISBN-
10: 1632402939


M3
Mathematics III (Syllabus)
undefined

PPL
Principles of Programming Languages (Syllabus)


MICRO
Microprocessor (Syllabus)

210254: Microprocessor

Unit I Introduction to 80386
Brief History of Intel Processors, 80386 DX Features and Architecture, Programmers Model, Operating
modes, Addressing modes and data types.
Applications Instruction Set: Data Movement Instructions, Binary Arithmetic Instructions, Decimal
Arithmetic Instructions, Logical Instructions, Control Transfer Instructions, String and Character
Transfer Instructions, Instructions for Block Structured Language, Flag Control Instructions,
Coprocessor Interface Instructions, Segment Register Instructions, Miscellaneous Instructions.

Unit II Bus Cycles and System Architecture
Initialization-
Processor State after Reset. Functional pin Diagram, functionality of various pins, I/O
Organization, Memory Organization (Memory banks), Basic memory read and writes cycles with
timing diagram.
Systems Architecture- Systems Registers (Systems flags, Memory Management registers, Control
registers, Debug registers, Test registers), System Instructions.

Unit III Memory Management

Global Descriptor Table, Local Descriptor Table, Interrupt Descriptor Table, GDTR, LDTR, IDTR.
Formats of Descriptors and Selector, Segment Translation, Page Translation, Combining Segment and
Page Translation.

Unit IV Protection 
Need of Protection, Overview of 80386DX Protection Mechanisms: Protection rings and levels,
Privileged Instructions, Concept of DPL, CPL, RPL, EPL.
Inter privilege level transfers using Call gates, Conforming code segment, Privilege levels and stacks.
Page Level Protection, Combining Segment and Page Level Protection.

Unit V Multitasking and Virtual 8086 Mode
Multitasking-
Task State Segment, TSS Descriptor, Task Register, Task Gate Descriptor, Task
Switching, Task Linking, Task Address Space.
Virtual Mode – Features, Memory management in Virtual Mode , Entering and leaving Virtual mode.

Unit VI Interrupts, Exceptions, and Introduction to Microcontrollers
Interrupts and Exceptions:
Identifying Interrupts, Enabling and Disabling Interrupts, Priority among
Simultaneous Interrupts and Exceptions, Interrupt Descriptor Table (IDT), IDT Descriptors, Interrupt
Tasks and Interrupt Procedures, Error Code, and Exception Conditions.
Introduction to Microcontrollers: Architecture of typical Microcontroller, Difference between
Microprocessor and Microcontroller, Characteristics of microcontrollers, Application of
Microcontrollers.

Learning Resources

Text Books:
1. Douglas Hall, “Microprocessors & Interfacing”, McGraw Hill, Revised 2 Edition, 2006 ISBN 0-
07-100462-9
2. A.Ray, K.Bhurchandi, ”Advanced Microprocessors and peripherals: Arch, Programming &
Interfacing”, Tata McGraw Hill,2004 ISBN 0-07-463841-6
3. Intel 80386 Programmer's Reference Manual 1986, Intel Corporation, Order no.: 231630-011,
December 1995.
4. Intel 80386 Hardware Reference Manual 1986, Intel Corporation, Order no.: 231732-001,
1986.
5. James Turley- “Advanced 80386 Programming Techniques”, McGraw-Hill,
ISBN: 10:0078813425, 13: 978-0078813429.

Reference Books:
1. Chris H. Pappas, William H. Murray, “80386 Microprocessor Handbooks”, McGraw-Hill
Osborne Media, ISBN-10: 0078812429, 13: 978-0078812422.
2. Walter A. Triebel, “The 80386Dx Microprocessor: Hardware”, Software, and Interfacing,
Pearson Education, ISBN: 0137877307, 9780137877300.
3. Brey, Barry B, “8086/8088, 80286, 80386 and 80486 Assembly Language Programming”,
Prentice Hall, ISBN: 13: 9780023142475.
4. Mohammad Rafiquzzaman, "Microprocessors: Theory and Applications: Intel and Motorola",
Prentice Hall, ISBN:-10:0966498011, 13:978:0966498011.
5. Introduction to 64 bit Intel Assembly Language Programming for Linux, 2nd Edition, Ray
Seyfarth, ISBN10: 1478119209, ISBN-13: 9781478119203, 2012.
6. Assembly Language Step-by-step: Programming with Linux, 3rd Edition, Jeff Duntemann,
Wiley ISBN:-10 0470497025, ISBN-13: 978-0470497029, 2009.