Syllabus
Syllabus
24 contact hours ** 22
1
Course No Title of the Course Course Structure Pre-Requisite
A. Syllabus
UNIT CONTENTS
Introductionto Software Engineering: The Evolving Role of Software, Changing Nature of Software,
Software Engineering Discipline, Software Myths.
A Generic View of Process: Software Engineering- A Layered Technology, A Process Framework, The
1. Capability Maturity Model Integration (CMMI), Process Patterns, Process Assessment, Personal andTeam
Process Models.
Software Development Life Cycle (SDLC)Models: The Waterfall Model, Incremental Process Models,
Evolutionary Process Models, Prototype Model, The Unified Process, Spiral Model, COCOMO Model
Software Requirements: Functional and Non-Functional Requirements, User Requirements, System
Requirements, Interface Specification, The Software Requirements Document.
2. Requirements Engineering Process: Feasibility Studies, Requirements Elicitation and Analysis,
Requirements Validation, Requirements Management, Data Flow Diagrams, Entity Relationship Diagrams.
Software Quality Assurance (SQA): Verification and Validation, SQA Plans, Software Quality
Frameworks, ISO 9000 Models, SEI-CMM Model.
Design Strategies: Function Oriented Design, Object Oriented Design, Top-Down and Bottom-Up
3. Design.
Software Measurement and Metrics: Various Size Oriented Measures, Function Point (FP) Based
Measures, Cyclomatic Complexity Measures, Control Flow Graphs.
Software Testing: Testing Objectives, Unit Testing, Integration Testing, Acceptance Testing, Regression
Testing, Testing for Functionality and Testing for Performance, Validation Testing, System Testing
Top Down and Bottom- UpTesting Strategies: Test Drivers and Test Stubs, Structural Testing (White Box
4. Testing), Functional Testing (Black Box Testing), Test Data Suit Preparation, Alpha and Beta Testing of
Products.
Static Testing Strategies: Formal Technical Reviews (Peer Reviews), Walk Through, Code Inspection,
Compliance with Design and Coding Standards.
Software Project Management: Project Scheduling, Staffing, Software Configuration Management, Quality
5. Assurance, Project Monitoring
Risk Management: Reactive Vs Proactive Risk Strategies, Software Risks, Risk Identification,
RiskProjection, Risk Refinement, RMMM, RMMM Plan.
2
SUGGESTED READINGS:
1. Software Engineering, A practitioner’s Approach- Roger S. Pressman, 6th edition, Mc GrawHill
International Edition.
2. Software Engineering- Sommerville, 7th edition, Pearson Education.
3. Ghezzi, Software Engineering, PHI.
4. IEEE Standards on Software Engineering. Kane, Software Defect Prevention, SPD.
5. KK Aggarwal and Yogesh Singh, Software Engineering, New Age International Publishers.
6. Kassem Saleh, “Software Engineering”, Cengage Learning.
7. Benmenachen, Software Quality, Vikas.
MAPPING PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PS01 PS02 PS03
CO1 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
CO2 2 3 3 2 2 1 - - 1 - 1 2 3 - 2
CO3 2 3 3 3 3 1 - - 2 - 1 2 3 - 2
CO4 2 3 2 3 2 1 - - 1 - 1 2 3 - 2
CO5 2 2 3 3 2 1 - - 1 - 1 2 3 - 2
CONTENT NO. OF
UNIT LECTURES
Introductionto Software Engineering: The Evolving Role of Software, Changing Nature of 1
Software
1
Software Engineering Discipline, Software Myths
A Generic View of Process: Software Engineering- A Layered Technology, A Process Framework 1
The Capability Maturity Model Integration (CMMI), Process Patterns, Process Assessment 1
1
Personal andTeam Process Models 1
Software Development Life Cycle (SDLC)Models: The Waterfall Model, Incremental Process 2
Models, The Unified Process
Evolutionary Process Models, Prototype Model 1
3
Requirements Engineering Process: Feasibility Studies, Requirements Elicitation and Analysis, 2
Requirements Validation, Requirements Management
Data Flow Diagrams, Entity Relationship Diagrams 1
Software Quality Assurance (SQA): Verification and Validation, SQA Plans, Software Quality 1
Frameworks
ISO 9000 Models, SEI-CMM Model 2
Top Down and Bottom- UpTesting Strategies: Test Drivers and Test Stubs, Structural Testing 1
(White Box Testing)
4. Functional Testing (Black Box Testing), Test Data Suit Preparation, Alpha and Beta Testing of 2
Products
Static Testing Strategies: Formal Technical Reviews (Peer Reviews), Walk Through, Code 1
Inspection
TOTAL CLASSES 1
40
1
4
10. Development of State Transition Diagram.
11. Draw ER Diagram for Hospital Management System.
12. Develop the prototype of the product.
13. Develop test cases for various white box and black box testing techniques.
14. Use one project management tool like Libra.
15. Preparation of Software Configuration Management and Risk Management related documents.
Database Management
CBCPC302 3L - 0T - 2P None
Systems
COURSE OUTCOMES
At the end of the course students will be able to
1. Understand fundamentals of Database Management Systems.
2. Design database models and learn database languages to write queries to extract information from databases.
3. Identify database anomalies and improving the design of DBMS using modern Database tools and languages
4. Applying concept of transaction management and concurrency control for database management.
5. Proposing and effective storage organization and database recovery mechanism.
A. Syllabus
UNIT CONTENTS
Introduction: Database management system Characteristics of the Database, Database Systems and
Architecture, Data Models, Schemes & Instances, DBMS Architecture & Data Independence, Database
1 administrator & Database Users, Database Languages & Inter- faces, DDL, DML, DCL, Overview Relational
Data Base Management Systems
Data Modeling: Data modeling using The Entity-Relationship Model – Entities, Attributes and Relationships,
2 Cardinality of Relationships, Strong and Weak Entity Sets, Generalization, Specialization, and Aggregation,
Translating your ER Model into Relational Model, Relationships of higher degree.
Relational Model, Languages & Systems: Relational Data Model concepts, Relational Model Constraints,
integrity constraints ,Keys domain constraints, referential integrity, assertions triggers, foreign key
Transaction Management: Transaction Concept and State, Implementation of Atomicity and Durability,
Concurrent Executions, Serializability: Testing of serializability, Serializability of schedules, conflict & view
4 serializable schedule.
5
protocol. Deadlock Handling
Recovery System: Recoverability: Failure Classification, Storage Structure, Recovery and Atomicity, Log-
based Recovery, Shadow Paging, Recovery with Concurrent Transactions
5
Storage organization: Indexing, Hashing, file storage.
SUGGESTED READINGS:
Text book:
1. Korth, Silbertz, Sudarshan, ”Data base system concepts”, McGraw-Hill, Seventh edition, 2019
Reference books
1. Elmasri, Navathe, “Fundamentals of Database systems”, Pearson, seventh edition 2017.
2. Date C.J., ”An Introduction to Database systems”, Pearson India Eight edition,2004
MAPPING PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PS01 PS02 PS03
CO1 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
CO2 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
CO3 2 3 3 3 3 1 - - 2 - 1 2 3 - 2
CO4 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
CO5 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
Total
Unit Sub Topic No. of
Lectures
Overview, Database system Vs file system, History of DBMS
Characteristics of the Database
Database system concept and architecture, Overall Database Structure
1 7
Data model schema and instances
Data independence
Database languages: DDL, DML, DCL
6
Database Users
Data Definitions Language Keys, Concepts of Super Key, candidate key, primary key
ER Model Concepts, Notation for ER Diagram, Mapping Constraints
2
Extended ER Model Concept: Specialization, Generalization, Attribute Inheritance, 6
Aggregation
Reduction of an ER Diagrams to Tables, Relationship of Higher Degree
Relational Data Model Concepts
Integrity Constraints, Entity Integrity, Referential Integrity, Keys Constraints, Domain
Constraints
Relational Algebra selection, projection, set operation
Cartesian product, Join, Extended RA operation
Characteristics of SQL, advantage of SQL. SQL data type and literals. Types of SQL
Statements
DDL
TRC, DRC
Select queries, DML
Aggregate functions, group by and having clause
Join, Union, Intersection, Minus
Sub queries.
3 Views and indexes 20
Procedures in SQL/PL SQL
Cursors, Triggers
Functional dependencies, Functional dependencies- Closure of FDs, Armstrong's Axioms,
Closure of Attribute set
Closure of functional dependency
Canonical Cover
1st Normal Form and 2nd Normal form
3rd Normal from and BCNF
Preserving join dependency and lossless join decomposition
Questions on Normalization
Normalization using MVD, 4th Normal Form
Normalization using JD, 5th Normal Form
Introduction to transaction and transaction properties
4 7
Serializability of schedules, Conflict serializable schedule
7
View serializable schedule
Testing of serializability
Introduction to Concurrency Control
Locking Techniques for Concurrency Control,
Time Stamping Protocols for Concurrency Control, Validation Based Protocol , Multiple
Granularity, Multi Version Schemes, Checkpoints,
Deadlock handling
Recoverability: Failure Classification, Storage Structure, Recovery and Atomicity, Log-
based Recovery
Following is only a suggestive list of experiments. For better coverage faculty may increase the
list of experiments.
Q 1: Consider the following relational schema
SAILORS (sid, sname, rating, date_of_birth)
BOATS (bid, bname, color)
RESERVES (sid, bid, date, time slot)
Write the following queries in SQL and relational algebra
a) Find sailors who’ve reserved at least one boat
b) Find names of sailors who’ve reserved a red or a green boat in the month of March.
c) Find names of sailors who’ve reserved a red and a green boat
d) Find sid of sailors who have not reserved a boat after Jan 2018.
e) Find sailors whose rating is greater than that of all the sailors named “John”
f) Find sailors who’ve reserved all boats
g) Find name and age of the oldest sailor(s)
h) Find the age of the youngest sailor for each rating with at least 2 such sailors
Write SQL queries and relational algebraic expression for the following
8
a) Find the names of the customer who have purchased no item. Set default value of Cust_balance as 0 for
such customers.
b) Write the trigger to update the CUST_BALANCE in the CUSTOMER table when a new invoicerecord is
entered for the customer.
c) Find the customers who have purchased more than three units of a product on a day.
d) Write a query to illustrate Left Outer, Right Outer and Full Outer Join.
e) Count number of products sold on each date.
f) As soon as customer balance becomes greater than Rs. 100,000, copy the customer_num in new
Tablecalled ”GOLD_CUSTOMER”
g) Add a new attribute CUST_DOB in customer table
Q4: PROJECT
Students are required to develop a DBMS for the applications assigned to them. Following items are required to be
submitted for the project:
a) Problem Statement
b) ER model/ Relational Model
c) Integrity Constraints implemented
d) Suitable Queries to create and manage database
Note: Students have to make sure that they have defined proper integrity constraints to ensure
consistency of database used in assignments as well as project.
9
Course No Title of the Course Course Structure Pre-Requisite
COURSE OUTCOMES
At the end of the course students will be able to
1. Analyze the asymptotic performance of algorithms.
2. Write rigorous correctness proofs for algorithms.
3. Apply demonstrate a familiarity with major algorithms and data structures.
4. Apply important algorithmic design paradigms and methods of analysis.
5. Implement sorting and searching schemes and analyze result with python programming language.
A. Syllabus
UNIT CONTENTS
Introduction to algorithms, analyzing algorithms, Asymptotic notations and their significance, complexity
1 analysis of algorithms, worst case and average case. Basic introduction to algorithmic paradigms like divide
and conquer, recursion, greedy, dynamic programming etc.
Trees: Binary Tree, Binary search tree, AVL tree, red-black tree. Searching: Linear Search, Binary Search,
2 Hashing, their applications. Priority queues, heaps. Sorting: comparison based sorting – Bubble sort, Insertion
sort, selection sort, quick sort, heap sort, merge sort, their analysis.
Divide and Conquer with Examples: Sorting, Matrix Multiplication, Convex Hull and Searching. Greedy
Methods with Examples: Knapsack, Minimum Spanning Trees – Prim’s and Kruskal’s Algorithms, Single
3 Source Shortest Paths - Dijkstra’s and Bellman Ford Algorithms, All pair shortest path algorithm: Floyd-
Warshall algorithm. Advanced Topics: Amortized complexity analysis, Fibonacci heap.
Introduction to randomized algorithms, their types, Randomized Quicksort, Randomized Min-Cut, Applications
4 of randomized algorithms. Application areas: Geo- metric algorithms: convex hulls, nearest neighbor, Voronoi
diagram, etc.
Graph Algorithms: BFS, DFS, connected components, topological sort, network flows, matching, etc.
Optimization techniques: linear programming Reducibility between problems and NP-completeness: discussion
5 of different NP-complete problems like satisfiability, clique, vertex cover, independent set, Hamiltonian cycle,
TSP, knapsack, set cover, bin packing, etc. Backtracking, branch and bound, Approximation algorithms:
Constant ratio approximation algorithms.
REFERENCE BOOKS
1. E. Horowitz, S. Sahni, and S. Rajsekaran, “Funadmentals of Computer Algorithms,” Ga-
lotia Publication
2. T .H . Cormen, C .E .Leiserson, R .L .Rivest “Introduction to Algorithms”, PHI.
3. Sedgewich, Algorithms in C, Galgotia
4. Berman. Paul, “Algorithms, Cengage Learning”.
5. Richard Neopolitan, Kumar SS Naimipour, “Foundations of Algorithms”
6. Aho, Hopcraft, Ullman, “The Design and Analysis of Computer Algorithms” Pearson Education,
2008.
10
B. CO-PO & CO-PSO MAPPING TABLE
MAPPING PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PS01 PS02 PS03
CO1 3 3 2 1 2 - - - 1 - 1 2 3 - 2
CO2 3 3 2 1 2 - - - 1 - 1 2 3 - 2
CO3 3 3 2 1 2 - - - 1 - 1 2 3 - 2
CO4 3 3 2 1 2 - - - 1 - 1 2 3 - 2
CO5 3 3 2 1 2 - - - 1 - 1 2 3 - 2
Total
UNIT CONTENTS No. of
Lectures
Introduction to algorithms
Analyzing algorithms
Asymptotic notations and their significance
Complexity analysis of algorithms: Worst case
8
Complexity analysis of algorithms: Average case
Basic introduction to algorithmic paradigms: Divide and conquer
Basic introduction to algorithmic paradigms: Recursion
1
Basic introduction to algorithmic paradigms: Greedy and Dynamic Programming
Binary Tree, Binary search tree
AVL tree, Red-black tree
Searching: Linear Search, Binary Search
Hashing and their applications
8
Priority queues and heaps
Sorting: Bubble sort, Insertion sort and their analysis
Sorting: Selection sort, Quick sort and their analysis
2
Sorting: Heap sort, Merge sort and their analysis
Divide and Conquer: Sorting, Matrix Multiplication
Divide and Conquer: Convex Hull, Searching
Greedy Methods: Knapsack
Minimum Spanning Trees: Prim’s Algorithm, Kruskal’s Algorithm
8
Single Source Shortest Paths: Dijkstra’s Algorithm, Bellman Ford Algorithm
All pair shortest path algorithm: Floyd-Warshall algorithm
Amortized complexity analysis
3
Fibonacci heap
11
Introduction to randomized algorithms
Types of randomized algorithms
Randomized Quicksort
Randomized Min-Cut
8
Applications of randomized algorithms
Geometric algorithms: Convex hulls
Geometric algorithms: Nearest neighbor
4
Geometric algorithms: Voronoi diagram
Graph Algorithms: BFS, DFS, Connected components
Graph Algorithms: Topological sort, Network flows and matching
Optimization techniques: Linear programming
Reducibility between problems and NP-completeness
8
Discussion of NP-complete problems: Satisfiability, Clique, Vertex cover, Independent set
Discussion of NP-complete problems: Hamiltonian cycle, TSP, Knapsack, Set cover, Bin packing
Backtracking and branch and bound
5
Approximation algorithms: Constant ratio approximation algorithms
TOTAL CLASSES 40
12
10. Find Minimum Cost Spanning Tree of a given connected undirected graph using Kruskal's algorithm. Use
Union-Find algorithms in your program.
11. Find Minimum Cost Spanning Tree of a given undirected graph using Prim’s algorithm.
12. From a given vertex in a weighted connected graph, find shortest paths to other vertices using Dijkstra's
algorithm.
13. Knapsack Problem using Greedy Solution.
14. Implement the 0/1 Knapsack problem using (a) Dynamic Programming method (b) Greedy method.
15. Implement N Queen Problem using Backtracking.
16. Design and implement to find a subset of a given set S = {S1, S2, ..., Sn} of n positive integers whose SUM
is equal to a given positive integer d. For example, if S = {1, 2, 5, 6, 8} and d = 9, there are two solutions
{1, 2, 6} and {1, 8}. Display a suitable message if the given problem instance doesn't have a solution.
17. Implement Travelling Salesman Problem.
18. Write programs to (a) Implement All-Pairs Shortest Paths problem using Floyd's algorithm. (b) Implement
Travelling Sales Person problem using Dynamic programming.
19. Design and implement to find all Hamiltonian Cycles in a connected undirected Graph G of n vertices
using backtracking principle.
COURSE OUTCOMES
At the end of the course students will be able to
1. Understand the architecture of modern processors and organization of its components, and relationship between
hardware and software in digital machines.
2. Design instructions and corresponding logic circuits for a simple CPU with its essential components such as ALU, a
register file, memory and input-output.
3. Understand the organization of computer systems
4. Understand the computation standards and using them in writing algorithms
5. Appreciate the evolving technology that governs the evolution of modern computers and continue to keep abreast of
state-of-art in computing technology
13
A. Syllabus
UNIT CONTENTS
Overview of computer organization: Characteristics of a general purpose computer, The stored program
concept, von Neumann architecture, Harvard architecture, Programmer’s model - the Instruction set architecture
1 (ISA), ISA design and performance criteria, Basic computer organization with CPU, memory and IO subsystems,
Interconnect busses, Evolution of CISC and RISC based processors and their merging.
Instruction Set Architectures: Machine instruction, Machine cycle and Instruction cycles, Instruction Set:
memory and non-memory reference instructions, instruction categories: data movement, data manipulation,
2 program control and machine control instructions, CISC types addressing modes and instruction formats, RISC
type addressing modes and instruction formats.
Central Processing Unit: Specification of a simple CPU using RTL, Design of the data path for the simple CPU,
Designing the hardwired control path for the simple CPU, Performance analysis of the simple CPU, Enhancement
3 of the ISA for the simple CPU and design extensions, Characteristics of RISC CPU design: ISA characteristics,
pipelining, data and instruction caches, Practical case studies in CISC type and RISC type CPU designs.
Computer arithmetic: Design of Binary addition and subtraction units, Algorithms for multiplication and
division and their implementation, Floating point arithmetic, etc.
Pipelined architecture: Basic concepts of pipelining, Speedup and throughput, Minimum Average Latency,
Instruction pipeline.
GPU architecture: Hardware Basics, Execution Model, GPU instruction set architecture, NVIDIA GPU
instruction set architecture
5 Guidelines for Project work:
Exercises using assembly-level programming and debugging to illustrate the working of instructions in the ISA of
a CISC based /RISC based processor. These exercises should illustrate the status of various registers, flags,
counters and pointers after data move-
ment, data manipulation, program control, and stack operations.
- Semester-long group project on the design and simulation /hardware emulation of a simple processor.
SUGGESTED READINGS:
Text book:
M. Morris Mano, “Computer System Architecture” , PHI
Reference books
1. William stallings, “Computer Organization and Architecture, PHI” 2. M. Morris Mano,
2. J.D. Carpinelli, “Computer Systems Organization and Architecture,” Pearson Education
3. Heuring and Jordan, Pearson Education, “Computer Systems Design and Architecture”
4. Tor M. Aamodt, Wilson Wai Lun Fung, Timothy G. Rogers General-Purpose Graphics Processor
Architectures
14
B. CO-PO & CO-PSO MAPPING TABLE
CO1 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
CO2 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
CO3 2 3 3 3 3 1 - - 2 - 1 2 3 - 2
CO4 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
CO5 2 3 3 3 2 1 - - 1 - 1 2 3 - 2
Total
Unit Sub Topic No. of
Lectures
Overview of computer organization
Harvard architecture
1 Programmer’s model - the Instruction set architecture (ISA) 8
ISA design and performance criteria , Basic computer organization with CPU
Machine instruction
Machine cycle
Instruction cycles
data manipulation
program control
Hardware Interfacing
15
CISC types addressing modes
Practical case studies in CISC type and RISC type CPU designs
Micro programmed Control Unit: Control memory system, Microinstruction-sequencing, conditional
branch, mapping and subroutines
direct, horizontal and vertical mi- crocoding,micro-instruction format and symbolic representation
Algorithms for multiplication and division and their implementation, Floating point arithmetic, etc.
16
Course No Title of the Course Course Structure Pre-Requisite
CBEPC305 Microprocessor and 3L-0T-2P None
Microcontroller
Unit 2
Intel 8086 microprocessor: Architecture (pins, bus interface unit, execution unit, register set, pipelining), memory
addressing, segmentation, instruction set (data transfer, arithmetic, logic, string, long and short control transfer and
processor control), Addressing modes, programming, assemblers, parameter passing to subroutines, hardware and
software interrupts and interrupt handling of 8086.
Unit 3
Interfacing a microprocessor with RAM and ROM chips, address allocation and decoding techniques. Interfacing a
microprocessor with RAM and ROM chips, address allocation and decoding techniques. Memory-mapped i/o.
Interfacing with 8255 programmable peripheral interfaces (architecture, ports, i/o modes and BSR mode). Basic
architecture and features of 8254 programmable timer, 8257 programmable DMA con- troller, 8259 programmable
interrupt controller, 8279 programmable keyboard and dis- play controller.
Unit 4
Microcontrollers: 8051 microcontroller: architecture, i/o ports, memory organization, addressing modes, instruction
set, simple programs. Introduction to IoT: basic architecture, sensing and actuating, application domains.
Unit 5
High-end microprocessors and microcontrollers: Important features of 32-bit processors, RISC and Pentium.
Implementation of memory management schemes like segmentation, paging and virtual memory at the Hardware level.
Introduction to Arduino: basic architecture, simple programs.
17
Recommended books:
1. Ramesh S. Gaonkar, “Microprocessor Architecture, Programming, and Applications with the 8085”
Prentice Hall.
2. D. V. Hall, “Microprocessor and Interfacing Programming & Hardware” TMH – 2nd Edition.
3. S. P. Morse, “8086 Primer: An Introduction to Its Architecture, System Design and Programming”
Hayden Book Co.
4. S. Monk, “Programming Arduino: Getting Started with Sketches”, 2nd Edition,
McGraw-Hill.
5. M.A. Mazidi et. al. “The 8051 Microcontroller and Embedded Systems: Using Assem- bly and C”
Pearson Publishers.
UNIT-I
3 PIN diagram 1
4 Bus Timings, Multiplexing and De-multiplexing of Address Bus, Decoding and Execution 1
5 Vectored, non- vectored interrupts, Hardware and software interrupts and interrupt 2
handling of 8085.
18
6 Addressing modes. 1
UNIT-II
10 8086 microprocessor Architecture (pins, bus interface unit, execution unit, register set, 2
pipelining),
12 Instruction set (data transfer, arithmetic, logic, string, long and short control transfer and 2
processor control),
13 Programming concepts 2
UNIT-III
18 Interfacing with 8255 programmable peripheral interfaces (architecture, ports, i/o modes 2
and BSR mode).
UNIT-IV
25 Addressing modes 1
19
UNIT-V
32 Simple programs. 1
TOTAL CLASSES 40
20