[go: up one dir, main page]

0% found this document useful (0 votes)
5 views94 pages

B. Tech AIML Program Booklet 2023-27

The document outlines the course structure for the B. Tech in Computer Science and Engineering with a specialization in Artificial Intelligence and Machine Learning (AIML) for the batch 2023-27. It includes details on various subjects, course codes, credits, and contact hours across multiple semesters, along with specific course outcomes and practical assignments for programming. The curriculum emphasizes foundational engineering skills, programming, and advanced topics in AIML.

Uploaded by

arpitasharma8808
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views94 pages

B. Tech AIML Program Booklet 2023-27

The document outlines the course structure for the B. Tech in Computer Science and Engineering with a specialization in Artificial Intelligence and Machine Learning (AIML) for the batch 2023-27. It includes details on various subjects, course codes, credits, and contact hours across multiple semesters, along with specific course outcomes and practical assignments for programming. The curriculum emphasizes foundational engineering skills, programming, and advanced topics in AIML.

Uploaded by

arpitasharma8808
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 94

Program Booklet

B. Tech CSE

Specialization in AIML

Batch (2023-27)
Course Se course code Name of Subject credits Contact L T P
Category m Hours
Communication Skills for Engineers // Leadership 3 // 2 3/2 3/
0 0
HU 1 UHU1001/UHU1002 and Teamwork 2
BS UBS1001 Engineering Mathematics-I 4 4 3 1 0
Semiconductor Physics//Introduction of Digital 4 5
3 0 2
BS/ES UBS1002/UES1001 System
Basic Electrical & Electronics Engg//Engineering 4 // 2 5/3 3/ 0/
2
ES UES1002/UES1050 Graphics and Design 0 1
Programming for Problem Solving – C 4 5
3 0 2
ES UES1003
Environmental Studies 0 2 2 0 0
MC UAU1001
Foundation verbal ability 1 2
0 0 2
SE USE1001
TOTAL
20 //17 26/23

Engineering Mathematics II 4 4 4 0 0
BS 2 UBS1004
Fundamentals of Python Programming 4 5 3 0 2
ES UES1004
Basic Electrical & Electronics Engg//Engineering 4 // 2 5/3 3/ 0/
2
ES UES1002/UES1050 Graphics and Design 0 1
Semiconductor Physics // Introduction of Digital 4 5
3 0 2
BS/ES UBS1002/UES1001 System
5 6 4 0 2
CC UCS1001 Data Structure using C
Communication Skills for Engineers // Leadership 3 // 2 3/2 3/
0 0
HU UHU1001/UHU1002 and Teamwork 2
SE USE1002 Professional verbal Ability & soft skills 1 1 0 0 2
TOTAL 25 // 22 29//26

Course Category Sem Course Code Name of Subject credits Contact Hours L T P
SEMESTER-3
CC 3 UCS2001 Database management System 4 5 3 0 2
CC 3 UCS2002 Discrete Mathematics 4 4 4 0 0
BS 3 BS405A Statistics and Numerical Techniques 3 3 3 0 0
CC 3 UCS2003 OOPS with Java Programming 4 5 3 0 2
ES 3 UES2001 Computer Organization and Architecture 4 5 3 0 2
Emerging Technologies 1 1
2 0 0
CC 3 UCS2006
Internship Evaluation 2 4
0 0 4
PI 3 UCS2001PI
SE 3 USE2001 Fundamentals in quantitative Aptitude 2 3 1 0 2
TOTAL 24 30
Theory of Computation 3 3 3 0 0
CC 4 UCS2004
Analysis and Design of 5 6
4 0 2
CC 4 UCS2005 Algorithms
Micro processor and
ES 4 UES2002 microcontroller 4 5 3 0 2
3 3 3 0 0
HU 4 UHU001 Organization Behaviour
Minor Project1 2 4 0 0 4
PI 4 UCS2002PI
* refer Department Elective-1 4 4 4 0 0
to
electiv
es
DE bucket UCS200*E1
SE 4 USE2002 Logical Numeracy 1 2 0 0 2
* refer 4 0 0
to
specia
lisatio
4
n
electiv
es UCS200*SE
SE bucket 1 Specialisation-1 4
SP Total 26 31 21 0 10

Data Communication and 5 6


4 0 2
CC 5 UCS3001 Networking
Operating System 4 5 3 0 2
CC UCS3002
Professional Ethics & Human 0 2
2 0 0
MC UMC3001 Values
Internship Evaluation 2 4 0 0 4
PI UCS3001PI
* refer 4
to
electiv 4 0 0
es
DE bucket UCS300*E2 Department Elective2 4
* refer 4
to
electiv 4 0 0
es
DE bucket UCS300*E3 Department Elective3 4
Fundamentals of Financial 3
3 0 0
HU UHU3001 Accounting 3
2 2 0 0
HU UHU3002 Macro Perspective 2
2 0 0 2
SE USE3001 Corporate soft skills 1
UCS300*SE 4
4 0 0
SP 2 Specialisation-2 4
TOTAL
29 36 26 0 10

Cryptography and network 3 3


3 0 0
CC 6 UCS3003 security
Web Technologies 4 5 3 0 2
CC UCS3004
Compiler Design 3 3 3 0 0
HU UCS3005
Software Engineering 4 5 3 0 2
CC UCS3006
Minor Project 2 2 4 0 0 4
PI UCS3002PI
* refer
to
electiv 4 0 0
es
DE bucket UCS300*E4 Department Elective 4 4 4
SE USE3002 Campus to Corporate 1 2 0 0 2
SE USE3003 Arithmetic and Logical Ability 1 2 0 0 2
UCS300*SE
4 0 0 0
SP 3 Specialisation-3 4
TOTAL
26 32 16 0 12

DE 7 UCS4001E5 Department Elective 5 4 4 4 0 0


MOOC-01 3 3 3 0 0
OE UOE4001E1
MOOC-02 3 3 3 0 0
OE UOE4002E2
Major Project 4 8 0 0 8
PI UCS4001PI
Internship Evaluation 2 4 0 0 4
PI UCS4001PI
UCS400*SE
4
SP 4 Specialisation-4 4 4 0 0
UCS400*SE
SP 5 Specialisation-5 4 5 3 0 2
UCS40**SE
SP 5 Specialisation-5 Lab 1 2 0 0 2
Total 24 31 17 0 14

Industrial Internship Evaluation 4


PI 8 UCS4002PI 0 0 0 8
Major Project (Implementation) 10
PI UCS4003PI 20 0 0 20
TOTAL 14 20 0 0 28

DEPARTMENT ELECTIVES
SEMESTER B.TEch(CSE) with specialisation
UCS2005E1 Digital & Social media Marketting

UCS2002E1 Computer Graphics


UCS2003E1 NO SQL Database
4 UCS2004E1 E-Commerce

UCS3005E2 Bioinformatics

UCS3003E2 Principles of programming languages


UCS3006E2 Embedded System
5 UCS3004E2 Human Computer Interaction
UCS3001E3 Linux programming
UCS3002E3 Introduction to Git & Github

UCS3003E3 Distributed Computing


5 UCS3004E3 Multimedia systems
UCS3003E4 Software Defined Networks

UCS3005E4 Robotics
UCS3006E4 Modelling and Simulation
UCS3004E4 Enterprise Resource Planning
UCS4001E5 Software Project Management
UCS4005E5 Real Time system
UCS4003E5 Mobile Computing

Digital Forensics
7 UCS4006E5

Semester course code AIML

4 UCS2001SE1 AI Fundamentals

5 Introduction to Machine Learning


UCS3001SE2

6 Deep Learning
UCS3008SE3

7 Applications of ML in Industry
UCS4001SE4

7 NLP,Natural Language Processing lab

UCS4008SE5
Semester I

School: School of Year: 1 Subject Name: Programming for Problem


Computer Science and Semester: 1 solving and Lab
Engineering
Department: Computer L-T-P: 3-0-2
Science and Subject Name/code: UES 1003
Engineering Course: B.
Tech
Course Outcome Description
(At the end of the course , student will be able understand)

C01 Concepts of algorithms and write them for arithmetic and logical problems.

C02 Concepts of conditional branching, iteration, recursion and their implementation

C03 Utility of arrays and structures to develop algorithms and programs.

C04 Decomposition a problem into functions and put into practice.

C05 Pointers and apply them to develop algorithms and programs.

Detailed Syllabus(Theory)

No. of
Unit No. Topics CO No. propose
d
lectures
1 Introduction to Computing elements, Components of computer 1 9
system: Hardware, Software, CPU, Computer Memory unit,
Operating System, Algorithms, Flow charts, C: Fundamentals,
Variable, Character Set – Identifier and keywords – Data
Types
– Constants – Variables declarations – Expressions –
Statements – Operators, Library functions. Data Input and
Output statements, Simple C Programs
2 Control Statements -flow of control – if, if-else, while, 2 7
do-while, for loop, Nested control structures – Switch, break
and continue, go-to statements
3 Arrays: Array notation and representation, manipulating array 3 8
elements, using multi-dimensional arrays. Character arrays
and strings, Structure, union, enumerated data types, Array of
structures.

4 Functions – Definition – Proto-types – Passing arguments – 4 8


Recursions. Storage Class Automatic, External, Static,
Register Variables, Passing arrays to functions.

5 Pointers – Declarations – Passing pointers to functions – 5 8


Operation in Pointers - Pointers Arrays – Arrays of pointers –
Structures and pointers –

List of Practical

Practical Practical CO No.


No.
1. Write a Program to print different data types in ‘C’ and their ranges. 1

2. Write a C program to find sum and average of three numbers. 1

3. Write a program to swap the values of two variables with and without using third
variable.
4. Write a program to perform the Calculator operations, namely, addition, 1
subtraction, multiplication, division and square of a number.
5. Write a Program to read radius value from the keyboard and calculate the area of 1
circle and print the result in both floating and exponential notation.
6. Write a program that shows the binary equivalent of a given positive number. 1

7. Write a program to find whether the given year is leap year or not? 1,2

8. Write a Program to calculate electricity bill. Read starting and ending meter 1,2
reading.
The charges are as follows.
No. of Units Consumed Rate
in(Rs) 1-100 1.50 per unit
101-300 2.00 per unit for excess of 100 units
301-500 2.50 per unit for excess of 300 units
501-above 3.25 per unit for excess of 500
units
9. Write a Program to perform arithmetic operations using switch case. 2

10. Write a program to calculate sum of individual digits of a given number 2

11. Write a program that finds if a given number is a prime number 2

12. Write a program to find the factorial of a number. 2


13. Write a program to check whether a given number is an Armstrong number. 2

14. Write a program to display multiplication tables from 1 to 10 except 3 and 5. 2


15. Write a program to print the Fibonacci series for given ‘N’ value. 2

16. Write a program to print the following formats. 2


1 * A
12 *** BB
123 **** CCC
12 34 ***** DDDD
17. Write a program to perform various string manipulations using built-in functions. 3

18. Write a program to store 10 elements in the 1-D array and print sum of the array. 3

19. Write a program to print minimum and maximum elements in the 1-D array. 3

20. Write a program to count no. of positive numbers, negative numbers and zeros in 3
the Array
21. Write a program to perform matrix addition and matrix subtraction. 3

22. Write a program to print the transpose of a matrix. 3

23. Write a C program to Store Student Information in Structure and Display it. 3

24. Write a C program to Store Employee Information in Union and Display it. 3

25. Write a program to display the number assigned to a day in a week using 3
enumerated data type.
26. Write a program to find sum of two numbers using functions with arguments & 4
without return type.
27. Write a program to swap two numbers using 4
a) Call By Value B) Call By Reference.
28. Write a program to calculate factorial and GCD using recursion and non- 4
recursion functions.
29. Write a program to search the given element by using linear search. 3,4

30. Write a program to sort the given elements using bubble sort technique. 3,4

31. Write a program to create structure for an account holder in a bank with 4,5
following Fields: name, account number, address, balance and display the details
of five account holders.
Text Books:
1. B.W. Kernighan and D.M. Ritchie, The C Progamming Language, 2nd Edition, PHI, 1988.
2. H. Schildt, C: The Complete Reference, 4th Edtion TMH Edition, 2000.
3. Gottfried, B.S, Programming with C, Second Edition, TMH Pub. Co. Ltd., New Delhi 1996.
4. Kanethkar Y., Let us C, BPB Pub., New Delhi. 1999.
Reference Books :
1. Computer Concepts and Programming in C, E Balaguruswami, McGraw Hill
2. Computer Concepts and Programming in C, R.S. Salaria, Khanna Publishing House
3. Computer Science- A Structured Programming Approach Using C, by Behrouz A. Forouzan, Richard
F. Gilberg, Thomson, Third Edition , Cengage Learning – 2007
Semester II
Subject Name: Fundamentals of
School: School of Commuter Python Programming
Science and Engineering Year: 1st Subject Code: UES1004
L-T-P: 3-0-2
Course: B.Tech.(CSE) Semester: Prerequisite Knowledge of
Programming constructs
2nd Course Name: Fundamentals of
Python Programming / UES1004:
Course Outcome

(At the end of the Description


course, a student
will be able to)

C01 Understand the numbers, Math functions, Strings, List, Tuples, and Dictionaries in
Python

C02 Use different Decision-Making statements and Functions

C03 Implement Functions and Strings in Python

C04 Apply File-handling operations and Object-Oriented concepts using Python

C05 Applying Python Packages for data exploration.

Detailed Syllabus (Theory)

Unit Topics CO No. of


No. No. propose
d
lectures
1 Introduction: The Programming Cycle for Python, Python IDE, Interacting 1 8
with Python Programs, Elements of Python, Type Conversion.
Basics: Expressions, Assignment Statement, Arithmetic Operators, Operator
Precedence, Boolean Expression.
Python Data Structure: Tuples, Unpacking Sequences, Lists, Mutable
Sequences, Sets, Dictionaries.
2 Conditionals: Conditional statement in Python (if-else statement, its 2 8
working, and execution), Nested-if statement and Elif statement in Python,
Expression Evaluation & Float Representation.
Loops: Purpose and working of loops, while loop, For Loop, Nested Loops,
Break and Continue.
3 Function: Parts of a Function, Execution of a Function, Keyword and Default 3 8
Arguments, Scope Rules, Lambda Function.
Strings: Length of the string and perform Concatenation and Repeat
operations. Indexing and Slicing of Strings, inbuilt functions for strings.
4 File Handling: File input and output operations in Python Programming, 4 8
Reading, and writing text files, Appending to Files – (for text files and CSV
files)
Basics of Classes and Objects – Creating Class and Object, Constructors in
Python – Parameterized and Non-parameterized, Inheritance in Python,
Inbuilt class methods and attributes, Multi-Level and Multiple Inheritance,
Method
Overriding and Data Abstraction, Encapsulation and Polymorphism
5 NumPy-Introduction, creating arrays, using arrays and Scalars, Indexing 5 8
Arrays, Array Transposition, Universal Array Function, Array Processing,
Array Input and Output. Pandas: Introduction, uses of Panda, Series in
pandas, Index objects, Reindex, Drop Entry. Plotting and Visualization in
Python: Plotting using Matplotlib library (Histogram, Box Plot, Scatter Plot,
Bar Graphs, Line Graph, etc.)

List of Practical

Practica Practical CO No.


l No.

1 Write a Python program to print the documents (syntax, description, etc.) of 1


Python built-in Functions.

2 To write a Python program find the square root of a number. 1

3 To write a Python program exponentiation (power of a number). 1

4 Write a Python program to calculate the length of a string 2

5 To write a Python program, find the maximum of a list of numbers. 3

6 To write a Python program to find the most frequent words in a text read from a 4
file

7 To write a Python program to find the most frequent words in a text file. 4

8 Write a Python program to demonstrate various ways of accessing the string- By 3


using Indexing (Both Positive and Negative)
9 Create a dictionary and apply the following Methods: 1) Print the dictionary 1
items 2) access items 3) use get() 4)change values 5) use len()
10 Write a Python program to find the smallest number in a list, and to find largest 1
number in a list
11 (i) Write a Python program to open and write “hello world” into a file? 4

(ii) Write a Python program to write the content “hi python programming”
for the existing file.

12 Write a program to double a given number and to write a python program add 3
two numbers using lambda ()?

13 (i) Write a Python program to display welcome to MRCET by using 4


classes and objects.

(ii) Write a Python program to call data members and function using classes
and objects.

(iii) Write a program to find the sum of two numbers using class and methods.

(iv) Write a program to read 3 subject marks and display pass or failed
using class and object.

14 Implement single and Multiple inheritance concepts using Python. 4

15 Write Python program for addition of two matrix using NumPy library and find 5
transpose of a matrix.

16 Using a NumPy module create an array and check the following: 5

1. Type of array 2. Axes of array

3. Shape of array 4. Type of elements in array

17 Write Python program using panda library for adding new column admission 5
no. to a data frame. Initially, there are 3 columns respectively name, and marks,
and have some dummy data for each column.

18 Use Matplotlib to write python program for draw a graph of two lines 5
intersecting each other while points for line1 at x axis- (1,2,3) and at y-axis at
(2,4,1) and for line2 points are- (1,2,3) at x axis and (4,1,3) at y-axis.

Text Books:
1. Robert Sedgewick, Kevin Wayne, Robert Dondero, ―Introduction to Programming in Python:
An Inter-disciplinary Approach, Pearson India Education Services Pvt. Ltd., 2016.
2. Let Us Python - 4th edition (5 December 2021); BPB PUBLICATION
Reference Books:
3. Python: The Complete Reference, by Martin C. Brown, McGraw Hill Education; Forth edition
(20 March 2018)
4. Guido van Rossum and Fred L. Drake Jr, ―An Introduction to Python – Revised and updated
for Python 3.2, Network Theory Ltd., 2011.
Course Category: Core Subject
Course Name: Data Structures using C
Course Code: UCS1001
L-T-P: 4-0-2
Semester: 2nd
Batch: 2023-27

Syllabus
Prerequisite:
The students should have the understanding of:
● Understanding of fundamentals of programming language C.

Course Outcomes:
At the end of the course students will be able to:
CO1: Implement arrays and memory allocation strategies.
CO2: Understand and implement linked lists and associated operations.
CO3: Understand and implement stacks and queues with their operations.
CO4: Apply searching and sorting techniques on data structures.
CO5: Apply and analyze various trees and graphs operations.

Unit No. Topics CO No. No. of Proposed Lectures


Introduction: Basic Terminology, Elementary Data Organization,
1 Revision of concept of types of pointers and its applications, 1 8
Memory Allocation- Static and Dynamic.
Arrays: Definition, Single and Multidimensional Arrays,
Representation of Arrays: Row Major Order, and Column Major
Order, Application of arrays, Sparse Matrices and their
representations.

Linked lists: Array Implementation and Pointer Implementation


2 of Singly Linked Lists, Doubly Linked List, Circularly Linked 2 8
List, Operations on a Linked List. Insertion, Deletion, Traversal,
Polynomial Representation and Addition Subtraction
Multiplications of Single variable Polynomials.

Stacks: Abstract Data Type, Primitive Stack operations: Push &


3 Pop, Array and Linked Implementation of Stack in C, 3 8
Application of stack: Prefix and Postfix Expressions, Evaluation
of postfix expression, Recursion
Queues: Operations on Queue: Create, Add, Delete, Full and
Empty, Circular queues, Array and linked implementation of
queues in C, Dequeue and Priority Queue.
Searching: Concept of Searching, Sequential search, Index
4 Sequential Search, Binary Search. 4 8
Sorting: Insertion Sort, Selection, Bubble Sort, Quick Sort,
Merge Sort and Heap Sort
Trees: Binary Trees and types, Binary Tree Representation: Array
5 Representation and Pointer Representation, Binary Search Tree, 5 8
Tree Traversals: Inorder, Preorder and Postorder, Binary tree
construction using traversals, Concept & Basic Operations for
AVL Tree, B Tree & B+ Trees
Graphs: Graph terminologies, Graph Representations: Adjacency
Matrices, Adjacency List. Graph Traversals: Depth First Search
and Breadth First Search

Text Books:
1. Aaron M. Tenenbaum, Yedidyah Langsam and Moshe J. Augenstein, “Data Structures Using C and C++”, PHI
Learning Private Limited, Delhi India
2. Lipschutz, “Data Structures” Schaum’s Outline Series, Tata McGraw-hill Education (India) Pvt. Ltd.

Reference Books:
1. Thareja, “Data Structure Using C” Oxford Higher Education.

Web References:
https://archive.nptel.ac.in/courses/106/106/106106127/

List of Experiments
S. No. Programs CO No.
1. 1
Write a menu-driven C Program to implement the following in 1-D array:

a. Sum of even and odd numbers

b. The sum of prime numbers


2. 1
Write a menu-driven C Program to implement the following in 2-D array:

a. Addition of two 2-D arrays

b. The row-wise sum of elements


3. 2
Write C programs to illustrate the following operations on a singly linked list:

a. Insertion

b. Deletion

c. Searching an element
4. 2
Write C programs to illustrate the following operations on a doubly linked list:

a. Insertion

b. Deletion
5. Write C programs to illustrate various operations on circular linked list. 2
6. Write C Programs to illustrate the Implementation of Stack using Array. 3
7. Write C Programs to illustrate the Implementation of Queue using Array. 3
8. Write C Programs to illustrate the Implementation of Circular Queue using Array 3
9. Write C Programs to illustrate the Implementation of Stack using Linked List 3
10. Write C Programs to illustrate the Implementation of Queue using Linked List 3
11. Write C Programs to illustrate the Implementation of Linear Search. 4
12. Write C Programs to illustrate the Implementation of Binary Search. 4
13. Write C Programs to illustrate the Implementation of Bubble Sort. 4
14. Write C Programs to illustrate the Implementation of Selection sort. 4
15. Write C Programs to illustrate the Implementation of Insertion Sort. 4
16. Write C Programs to illustrate the Implementation of Merge Sort. 4
17. Write C Programs to illustrate the Implementation of Heap Sort. 4
18. Write C Programs to illustrate the Implementation of Circular Queue using Linked List. 3
19. Write C Programs to illustrate the Implementation of binary tree using Linked List. 5
20. Write C Programs to illustrate the Implementation of tree traversal using Linked List. 5
21. Write C Programs to illustrate the Implementation of binary search tree using Linked List. 5
22. Write C Programs to illustrate the Implementation of BFS using Linked List 5
23. Write C Programs to illustrate the Implementation of DFS using Linked List. 5
Semester III
Course Category : Core Courses
Course Name : Database Management System
Course Code : UCS2001
L-T-P : 3-0-2
Semester : 3rd
Batch : 2023-27
Syllabus
Prerequisite:
The student should have the understanding of:
● Mathematical concepts such as linear algebra, calculus and complex arithmetic.
● Various concepts of set theory operations.
● Basic programming skills.
Course Outcomes:
At the end of the course, students will be able to:
Understand the design methodology for databases and design ER-models to
CO1
represent simple database application.
CO2 Apply query processing techniques to automatic real time problems of databases.
CO3 Identify and solve the redundancy problem in database tables using normalization.
Understand the concepts of transactions, their processing and familiar with broad
CO4
range of database management issues including data integrity, security and recovery.
Comprehend concurrency control protocols and recovery algorithms and implement
CO5
a small database project using database tools.

Unit CO No. of
Topics
No No. Lecture
Introduction to DBMS: Introduction to Database and DBMS,
Database System Vs File System, Database System Architecture,
Data Models, Data Independence, Database Languages and
1 Interfaces, Overall Database System Structure 1 8
Entity relationship Model: ER Model Concepts and Notations,
Mapping Constraints, Keys, Generalization, Aggregation and
Specialization, Reduction of ER diagram to Tables.
Relational Data Model: Introduction to Tables, Schemas, Tuples,
2 Attributes, Keys and Constraints, Relational Algebra Operations, 2 8
Joins.
Unit CO No. of
Topics
No No. Lecture
Introduction to SQL: SQL Characteristics and Advantages, SQL
Datatypes, Literals, Commands, Operators. Various operations
on Tables. Writing Queries and Sub Queries using Joins, Unions,
Minus, Intersection and Aggregate Functions. Basic Concepts of
Cursors and Triggers.
Database Design and Normalization: Functional Dependencies,
3 Normal Forms - 1 NF, 2NF, 3NF and BCNF, Multivalued and 3 8
Join Dependency, Lossless and Lossy Decomposition.
Transaction Processing: Transaction System Concepts, ACID
Properties, Schedules, Serializability of Schedules, Testing of
4 Conflict and View Serializability. 4 8
Deadlock and Recovery: Deadlock Handling, Recovery from
Transaction Failures, Log based Recovery, Role of Checkpoints.
Concurrency Control: Introduction to Locks, Locking
Techniques for Concurrency Control, Time Stamping Protocols,
5 5 8
Validation Based Protocol, Recovery with Concurrent
Transactions, Application of Database Management Tools.

Text Book:
1. Korth, Silbertz, Sudarshan, “Database Concepts”, McGraw Hill.
2. Elmasri, Navathe, “Fundamentals of Database Systems”, Addision Wesley.
3. Ramakrishnan, “Database Management Systems”, McGraw Hill.
Reference Book:
1. Date C J, “An Introduction to Database Systems”, Addision Wesley.
2. Majumdar and Bhattacharya, “Database Management System”, TMH.

List of Programs
Lab Course Outcomes:
At the end of the course, students will be able to:
Apply SQL commands and queries to perform various database operations, such as
CO1
insertion, deletion, updating, and querying of data.
CO2 Design and implement database schemas for various application domains
Develop database applications with user-friendly interfaces for data entry, retrieval,
CO3
and reporting.

S. Programs CO
N No.
o.

Table as per given constraints.


1 Table : EMPLOYEE 1,2
Column Data Type Siz Attributes
Name e
EMPNO Number 4 Primary
Key
ENAME Varchar2 20 Not Null
JOB Varchar2 20
MGR Number 4
HIREDATE Date
SAL Number 10
COMM Number 7
DEPTNO Number 2 Foreign Key

Table : DEPARTMENT
Column Data Type Siz Attributes
Name e
Deptno Number 2 Primary
Key
Dname Varchar2 15 Not Null

Values in the table.

EMPN ENAM MG HIREDA SA COM DEPT


O E JOB R TE L M NO
790 17-Dec-8
7369 SMITH CLERK 2 0 800 20
ALLE SALESM 769 20-Feb-8 160
7499 N AN 8 1 0 300 30
SALESM 769 22-Feb-8 125
7521 WARD AN 8 1 0 300 30
MANAG 783 297
7566 JONES ER 9 2-Apr-81 5 20
MART SALESM 769 28-Sep-8 125
7654 IN AN 8 1 0 1400 30
BLAK MANAG 783 285
7698 E ER 9 1-May-81 0 30
CLAR MANAG 783 245
7782 K ER 9 9-Jun-81 0 20
SCOT ANALYS 756 300
7788 T T 6 9-Dec-82 0 40
PRESIDE 17-Nov-8 500
7839 KING NT 1 0 20
TURN SALESM 769 150
7844 ER AN 8 8-Sep-81 0 0 30
ADAM 778 110
7876 S CLERK 8 12-Jan-83 0 20
JAME 769
7900 S CLERK 8 3-Dec-81 950 30
ANALYS 756 300
7902 FORD T 6 3-Dec-81 0 20
MILLE 778 130
7934 R CLERK 2 23-Jan-82 0 10

DEPTN
O DNAME
10 RESEARCH
ACCOUNTIN
20 G
30 SALES
40 OPERATIONS

Perform following Query


1. Create Employee_master table with data using Employee table.
2. Delete all record into Employee_master whose DeptNo is 10
3. Update 10% in his salary of DEPTNO 20 into Employee_Master.
4. Alter SAL with size 10,2 in Employee_Master.
5. Drop Employee_master Table.

2 Perform Following Query using Employee Table. (Retrieving Data) 1,2

a. List all distinct job in Employee.


a. List all information about employee in Department Number 30.
b. Find all department number with department names greater than 20.
c. Find all information about all the managers as well as the clerks in
department 30.
d. List the Employee name, Employee numbers and department of all
clerks.
e. Find all managers not in department 30.
f. List information about all Employees in department 10 who are not
manager or clerks.
g. Find Employees and jobs earning between 1200 and 1400.
h. List Name and Department Number of employee who are clerks,
analyst or salesman.
i. List Name and Department Number of employee whose names began
with M.
3 a. List all employees and jobs in Department 30 in descending order by 1,2
salary.
a. List job and Department Number of employees whose name are five
letters long begin with “A” and end with “N”.
b. Display the name of employees whose name start with alphabet S.
c. Display the names of employees whose name ends with alphabet S.
d. Display the names of employees working in department number 10 or
20 or 40 or employees working as clerks, salesman or analyst.
e. Display employee number and names for employees who earn
commission.
f. Display employee number and total salary for each employee.
g. Display employee number and annual salary for each employee.
h. Display the names of all employees working as clerks and drawing a
salary more than 3,000.
i. Display the names of employees who are working as clerk, salesman or
analyst and drawing a salary more than 3,000.

4 a. Display the list of employees who have joined the company before 30th 1,2
June 80 or after 31st Dec 81.
a. Display the names of employees whose names have second alphabet A
in their names.
b. Display the names of employees whose name is exactly five characters
in length
c. Display the names of employees whose names have second alphabet A
in their names.
d. Display the names of employees who are not working as salesman or
clerk or analyst.
e. Display the name of the employee along with their annual salary
(sal*12). The name of the employee earning highest salary should appear first.
f. Display name, sal, hra, pf, da, totalsal for each employee. The output
should be in the order of total sal, hra 15% of sal, da 10% of sal, pf 5% of sal.
Total salary will be (sal*hra*da)-pf.
g. Update the salary of each employee by 10% increment who are not
eligible for commission.
h. Display those employees whose salary is more than 3000 after giving
20% increment.
i. Display those employee whose salary contains atleast 3 digits.
5 a. Display the total number of employee working in the company. 1,2
a. Display the total salary being paid to all employees.
b. Display the maximum salary from employee table.
c. Display the minimum salary from employee table.
d. Display the average salary from employee table
e. Display the maximum salary being paid to clerk.
f. Display the maximum salary being paid in dept no 20.
g. Display the minimum salary paid to any salesman.
h. Display the average salary drawn by managers.
i. Display the total salary drawn by analyst working in dept no 40.
j. Display the names of the employee in Uppercase.
k. Display the names of the employee in Lowercase.
l. Display the names of the employee in Proper case.
m. Display the length of Your name using appropriate function.
n. Display the length of all the employee names.
6 a. Display empno, ename, deptno from employee table. Instead of display 1,2
department numbers display the related department name(Use decode
function).
a. Display your age in days.
b. Display your age in months.
c. Display the current date as 15th Augest Friday Nineteen Ninety Saven.
d. Display the following output for each row from employee table.
e. Scott has joined the company on Wednesday 13th August Nineteen
Ninety
f. Find the date for nearest Saturday after current date.
g. Display current time.
h. Display the date three months Before the current date
i. Display those employee who joined in the company in the month of
Dec.
j. Display those employees whose first 2 characters from hire date -last 2
characters of salary.
k. Display those employees whose 10% of salary is equal to the year of
joining.
l. Display those employees who joined the company before 15 of the
month.
m. Display those employee who has joined before 15th of the month
n. Display those employee whose joining DATE is available in deptno
7 a. Compute the no. of days remaining in this year. 1,2
a. Find the highest and lowest salaries and the difference
between of them.
b. List employee whose commission is greater than 25 % of
their salaries.
c. Make a query that displays salary in dollor format.
d. Create a matrix query to display the job, the salary for that job
based on department number, and the total salary for that job for all
departments, giving each column an appropriate heading.
e. Query that will display the total no of employees, and of that
total the number who were hired in 1980,1981,1982 and 1983. Give
appropriate column heading.
f. Query to get the last Sunday of Any Month.
g. Display department numbers and total number of employees
working in each department.
h. Display the various jobs and total number of employees
within each job group.
i. Display the depart numbers and total salary for each
department.
8 Perform the following Query 1,2
a. Display all employees with there dept name.
a. Display those employees whose manager names is jones, and also
display there manager name.
b. Display employee name, his job, his dept name, his manager name, his
grade and make out of an under department wise.
c. List out all the employees name, job, and salary grade and department
name for every one in the company except ‘clerk’. Sort on salary display the
highest salary.
d. Display employee name, his job and his manager. Display also
employees who are without manager.
e. List the employee name, job, annual salary, deptno, dept name and
grade who earn 36000 a year or who are not clerks.
f. List ename, job, annual sal, deptno, dname and grade who earn 30000
per year and who are not clerks.
g. List out the all employees by name and number along with their
manager’s name and number also display ‘no manager’ who has no manager.
h. Select dept name, dept no and sum of sal
i. Display employee number, name and location of the department in
which he is working
j. Display employee name and department name for each employee.
9 a. Display the name of emp name who earns highest salary. 1,2
a. Display the employee number and name of employee working as clerk
and earning highest salary among clerks.
b. Display the names of the salesman who earns a salary more than the
highest salary of any clerk.
c. Display the names of clerks who earn salary more than that of james of
that of sal lesser than that of scott
d. Display the names of employees who earn a sal more than that of james
or that of salary greater than that of scott.
e. Display the names of the employees who earn highest salary in their
respective departments.
f. Display the names of employees who earn highest salaries in their
respective job groups.
g. Display the employee names who are working in accounting dept.
h. Display the employee names who are working in chicago.
i. Display the job groups having total salary greater then the maximum
salary for managers.
10 a. Display the names of employees from department number 10 with 1,2
salary greater than that of any employee working in other departments.
a. Display the names of employee from department number 10 with salary
greater then that of all employee working in other departments.
b. Display the details of employees who are in sales dept and grade is 3.
c. Display those who are not managers and who are managers any one.
d. Display those employees whose manager name is jones.
e. Display ename who are working in sales dept.
f. Display employee name, deptname, salary and comm. For those sal in
between 2000 to 5000 while location is chicago.
g. Display those employees whose salary greater than his manager salary.
h. Display those employees who are working in the same dept where his
manager is working.
i. Display grade and employees name for the dept no 10 or 30 but grade
is not 4, while joined the company before 31-dec-82.
11 a. Delete those employees who joined the company before 31-dec-82 1,2
while there dept location is ‘new york’ or ‘chicago’.
a. Display employee name, job, deptname, location for all who are
working as managers.
b. Display name and salary of ford if his sal is equal to high sal of his
grade.
c. Find out the top 5 earner of company.
d. Display the name of those employees who are getting highest salary.
e. Display those employees whose salary is equal to average of maximum
and minimum.
f. Display dname where at least 3 are working and display only dname
g. Display name of those managers name whose salary is more than
average salary of company.
h. Display those managers name whose salary is more than an average
salary of his employees.
i. Display employee name, sal, comm and net pay for those employees
whose net pay are greater than or equal to any other employee salary of the
company?
12 a. Display those employees whose salary is less than his manager but 1,2
more than salary of any other managers.
a. Find out the number of employees whose salary is greater than there
manager salary?
b. Display those manager who are not working under president but they
are working under any other manager?
c. Delete those department where no employee working?
d. Delete those records from emp table whose deptno not available in dept
table?
e. Display those earners whose salary is out of the grade available in sal
grade table?
f. Display employee name, sal, comm. And whose net pay is greater than
any other in the company?
g. Display those employees who are working in sales or research?
h. Display the grade of jones?
i. Display the department name the no of characters of which is equal to
no of employees in any other department?
13 Study & Implementation of Rollback, Commit, Savepoint. 1,2,
3
14 Creating Database /Table Space 1,2,
● Managing Users: Create User, Delete User 3
● Managing roles:-Grant, Revoke.
15 Study & Implementation of Database Backup & Recovery commands. 1,2,
3
Course Category : Core Course
Course Name : Discrete Mathematics
Course Code : UCS2002
L-T-P : 4-0-0
Semester :3 rd

Batch : 2023-27
Syllabus
Prerequisite:
The student should have the understanding of:
● Mathematical concepts such as set theory.
● Basic logical and analytical skills.
Course Outcomes:
At the end of the course, students will be able to:
CO1 To reproduce the fundamental concepts of sets, relations, and functions.
CO2 To understand the concept of groups and to evaluate the Lagrange’s theorem.
CO3 To understand partial order relation, POSET and LATTICE.
To demonstrate the fundamental principles of boolean algebra and propositional
CO4
logic.
To apply graph theory concepts to solve real-world problem like shortest path
CO5
problem etc.

Unit CO No. of
Topics
No No. Lecture
Set Theory: Introduction, Combination of sets, Multisets, 1 8
Ordered pairs. Proofs of some general identities on sets.
Relations: Definition, Operations on relations, Properties of
1 relations, Composite Relations, Equality of relations, Recursive
definition of relation, Order of relations. Functions: Definition,
Classification of functions, Operations on functions, recursively
defined functions. Growth of Functions.
Algebraic Structures: Definition, Groups, Subgroups and order, 2 8
2 Cyclic Groups, Cosets, Lagrange's theorem, Normal Subgroups,
Permutation and Symmetric groups, Group Homomorphisms
Partial order relation, Lattices: Definition, Properties of lattices – 3 8
Bounded, Complemented, Modular and Complete lattice,
3
Combinatorics: Introduction, Counting Techniques, Pigeonhole
Principle
Unit CO No. of
Topics
No No. Lecture
4 8
Boolean algebra: Introduction, basic operation, boolean function,
De’ Morgans theorem, Sum of Product and Product of Sum,
4 K-Map (2, 3 and 4 variables).
Propositional Logic: Proposition, well-formed formula, Truth
tables, Tautology, Satisfiability, Contradiction, Algebra of
proposition, Theory of Inference.
Graphs: Definition and terminology, Representation of graphs, 5 8
5 Multigraphs, Bipartite graphs, Planar graphs, Isomorphism and
Homeomorphism of graphs, Euler and Hamiltonian paths.

Text Book:
1. Discrete Mathematics and Its Applications, Kenneth H. Rosen
2. A Textbook of Discrete Mathematics, 9th Edition, Sarkar, Swapan Kumar, S. Chand
Publishing
Reference Book:
1. D. S. Malik, M. K. Sen, “Discrete Mathematics” Cengage Learning, 2012
2. Tremblay J.P. and Manohar, R., “Discrete Mathematical Structures with Applications
to Computer Science” Tata McGraw Hill
Course Category : Core Course
Course Name : OOPS with Java Programming
Course Code : UCS2003
L-T-P : 3-0-2
Semester :3 rd

Batch : 2023-27
Syllabus
Prerequisite:
The student should have the understanding of:
● Understand the basic concept of programming.
● Understand the concept of the data stractue
Course Outcomes:
At the end of the course, students will be able to:
Understand the basic object-oriented concepts, Java programming fundamentals,
CO1 and development environment essentials, facilitating effective Java program
development and problem-solving.
Apply object-oriented programming principles in Java to design and implement
CO2 robust applications, utilizing features such as class fundamentals, inheritance,
method handling, and advanced concepts like recursion and access control.
Explore and implement Java concepts such as packages, interfaces, exception
CO3 handling, and input/output operations, enhancing proficiency in program
organization, error management, and data handling within Java applications.
Utilize Java libraries for string handling, collections framework, and multithreaded
CO4 programming, enhancing data manipulation, collection management, and concurrent
processing in Java applications.
Implement Java database connectivity concepts including connection establishment,
CO5
statement execution, result set handling, and diverse SQL query execution.

Unit CO No. of
Topics
No No. Lecture
Introduction: Basic Object-Oriented Concepts, UML Diagram,
Class Diagram, Interaction Diagram, Activity Diagram, State
Chart Diagram.
Java programming Environment and Runtime Environment,
1 1 8
Development Platforms -Standard, Enterprise. Java Virtual
Machine (JVM), Java compiler, Bytecode, Java applet, Java
Buzzwords, Java program structure, Comments, Garbage
Collection, Lexical Issues.
Unit CO No. of
Topics
No No. Lecture
Java Fundamental : Primitive Data types - Integers, Floating
Point Types, Characters, Boolean. Literals, Type
Conversion and Casting, Variables, Arrays, Strings, Vector class.
Operators - Arithmetic Operators, Bitwise Operators, Relational
Operators, Boolean Logical Operators, Assignment Operator,
Conditional (Ternary) Operator, Operator Precedence. Control
Statements - Selection Statements, Iteration Statements and Jump
Statements.
Object Oriented Programming in Java - Class Fundamentals,
Declaring Objects, Object Reference, Introduction to Methods,
Constructors, this Keyword, Method Overloading, Using Objects
as Parameters, Returning Objects, Recursion, Access Control,
Static Members, Final Variables, Inner Classes, Command Line
2 2 8
Arguments, Variable Length Arguments.
Inheritance - Super Class, Sub Class, The Keyword super,
protected Members, Calling Order of Constructors, Method
Overriding, the Object class, Abstract Classes and Methods,
using final with Inheritance.
More Feature of Java
Packages and Interfaces - Defining Package, CLASSPATH,
Access Protection, Importing Packages, Interfaces.
Exception Handling - Checked Exceptions, Unchecked
3 Exceptions, try Block and catch Clause, Multiple catch Clauses, 3 8
Nested try Statements, throw, throws and finally.
Input/Output - I/O Basics, Reading Console Input, Writing
Console Output, PrintWriter Class, Object Streams and
Serialization, Working with Files.
Advance Feature of Java
Java Library - String Handling – String Constructors, String
Length, Special String Operations - Character Extraction, String
Comparison, Searching Strings, Modifying Strings, using
valueOf(), Comparison of StringBuffer and String.
Collections framework - Collections overview, Collections
4 4 8
Interfaces- Collection Interface, List Interface.
Collections Class – ArrayList class. Accessing a Collection via
an Iterator.
Multithreaded Programming - The Java Thread Model, The Main
Thread, Creating Thread, Creating Multiple Threads,
Synchronization, Suspending, Resuming and Stopping Threads.
JDBC Introduction, JDBC Driver, DB Connectivity Steps,
DriverManager, ConnectionStatement, ResultSet,
5 5 8
PreparedStatement, ResultSetMetaData, Creating and Executing
Queries – Create Table, Delete, Insert, Update, Select.

Text Book:
1. James Rumbaugh et. al, “Object Oriented Modeling and Design”, Prentice-Hall; 1st
edition, 1990
2. Herbert Schildt, Java: The Complete Reference, 11/e, Tata McGraw Hill, 2019.
3. D.T. Editorial Services, Java 8 Programming Black Book, Dreamtech Press, 2015
Reference Book:
1. Kathy Sierra, and Bates Bert. Sun Certified Programmer for Java. McGraw Hill
Publications, 2008.
2. Pandey, Tiwari, “ Object Oriented Programming with JAVA” , Acme Learning Private
Limited; First Edition, 2009.
3. Horstmann, Cay S., and Gary Cornell. Core Java 2: Volume I, Fundamentals. Pearson
Education, 9th Edition, 2013..

List of Programs
Lab Course Outcomes:
At the end of the course, students will be able to:
Apply object-oriented concepts such as encapsulation, inheritance, and
CO1
polymorphism in Java programming
Utilize exception handling mechanisms and data structures and algorithms concept
CO2
to write robust and error-tolerant Java programs.
CO3 Utilizing Java language features, libraries, and tools for software development.

S. Programs CO
No. No.

Write a Program in Java to input a number and check whether it is


1 a Disarium Number or not. 1
Note: A number will be called DISARIUM if sum of its digits powered with
their respective position is equal to the original number.
For example 135 is a DISARIUM
(Workings 1 +3 +5 = 135, some other DISARIUM are 89, 175, 518 etc)
1 2 3

2 A smith number is a composite number, the sum of whose digits is the sum of 1
the digits of its prime factors obtained as a result of prime factorization
(excluding 1). The first few such numbers are 4, 22, 27, 58, 85, 94, 121.....
Example 1.
666 Prime factors are 2, 3, 3 and 37
Sum of the digits are (6+6+6) = 18
Sum of the digits of the factors 2+3+3+(3+7) = 18
Sample data:
Input 94 Output SMITH Number
Input 102 Output NOT SMITH Number
3 Write a program for the following pattern 1
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
4 A bank intends to design a program to display the denomination of an input 1
amount, upto 5 digits. The available denominations with the bank are of
rupees 1000,500, 100, 50, 20, 10, 5, 2 and 1.
Design a program to accept the amount from the user and display the
break-up in descending order of denominations. (i,e preference should be
given to the highest denomination available) along with the total number of
notes. [Note: only the denomination used should be displayed].

Example 1:
INPUT: 14836
OUTPUT: ONE FOUR EIGHT THREE SIX
DENOMINATION:
1000 X 14 =14000
500 X 1 =500
100 X 3 =300
50 X 1 =50
5 X 1 =5
1 X 1 =1
EXAMPLE 2:
INPUT: 235001
OUTPUT: INVALID AMOUNT
5 Write a program which contains 10 element and sort it using bubble sort, 2
selection sort and insertion sort technique.
6 Write a program to input a list of integers in an array and arrange them in a 2
way similar to the to-and-fro movement of a Pendulum.
The minimum element out of the list of integers, must come in center
position of array. The number in the ascending order next to the minimum,
goes to the left, the next higher number goes to the right of minimum number
and it continues. As higher numbers are reached, one goes to either side of
the minimum value in a to-and-fro manner similar to that of a Pendulum.
Example:
INPUT – 1 2 3 4 5
OUTPUT – 5 3 1 2 4
INPUT – 11 12 31 14 5
OUTPUT – 31 12 5 11 14
7 Write a Program in Java to fill a square matrix of size ‘n*n” in a spiral 2
fashion (from the inside) with natural numbers from 1 to n*n, taking ‘n’ as
input.
For example: if n = 5, then n*n = 25, hence the array will be filled as given
below.
8 The sum of two distances is calculated as: 1,2
Distance 1 = 10 feets 24 inches
Distance 2 = 5 feets 16 inches
Sum of Distances=18feets 4 inches

A class Distance has the following members:


Class Name : Distance
Data members : f1,f2 (integer to store the feets value of
2 distances), inc1,inc2 (integers to store the inch value of 2 distances)

Member methods
Distance(int a,int b,int c,int d) - constructor to assign a to f1, b to inch1, c
to f2, d to inc2
void showDistance() - to display both the distances with suitable message
void sumDistance() - to find the sum of distances and print it.

Write a program in java to input two distances and calculate their sum by
applying proper adjustments. Display the final result with appropriate
message. [Given 1 feet = 12 inches]
9 A bank maintains two kinds of accounts - Savings Account and Current 1,2
Account. The savings account provides compound interest, deposit and
withdrawal facilities. The current account only provides deposit and
withdrawal facilities. Current account holders should also maintain a
minimum balance. If balance falls below this level, a service charge is
imposed. Create a class Account that stores customer name, account number,
and type of account. From this derive the classes Curr-acct and Sav-acct.
Include the necessary methods in order to achieve the following tasks.
a) Accept deposit from a customer and update the balance.
b) Display the balance.
c) Compute interest and add to balance.

Permit withdrawal and update the balance (Check for the minimum balance,
impose penalty if necessary).
10 A super class Record has been defined to store the names and ranks of 50 1,2
students. Define a sub class Rank to find the highest rank along with the
name. The details of both classes are given below:

Class name : Record


Data Members / instance variables:
name[ ] : to store the names of students
rnk[ ] : to store the ranks of students

Member functions:
Record() : constructor to initialize data members
void readvalues() : to store names and ranks
void display() : displays the names and the corresponding ranks

Class name : Rank


Data Members / instance variables:
index : integer to store the index of the topmost rank
Member functions
Rank() : constructor to invoke the base class constructor and to initialize
index to 0.
void highest() : finds the index location of the topmost rank and stores it in
index without sorting the array 6
void display() : displays the name and ranks along with the name having the
topmost rank.

Specify the class Record giving details of the constructor(), void


readvalues(), void display(). Using the concept of inheritance, specify the
class Rankgiving details of constructor(), void
highest() and void display().

11 You are required to compute the power of a number by implementing a 1,2


calculator. Create a class MyCalculator which consists of a single method
long power(int, int). This method takes two integers, n and p, as parameters
and finds n . If either n or p is negative, then the method must throw an
p

exception which says "n or p should not be negative". Also, if both n and p
are zero, then the method must throw an exception which says "n and p
should not be zero"

For example, -4 and -5 would result in java.lang.Exception: n or p should not


be negative.

Complete the function power in class MyCalculator and return the


appropriate result after the power operation or an appropriate exception as
detailed above.

Input Format

Each line of the input contains two integers, n and p. The locked stub code in
the editor reads the input and sends the values to the method as parameters.

Constraints
● -10<=n<=10
● -10<=p<=10

Output Format

Each line of the output contains the result np, if both n and p are positive. If
either n or p is negative, the output contains "n and p should be
non-negative". If both n and p are zero, the output contains "n and p should
not be zero.". This is printed by the locked stub code in the editor.

Sample Input

35
24
00
-1 -2
-1 3
Sample Output

243
16
java.lang.Exception: n and p should not be zero.
java.lang.Exception: n or p should not be negative.
java.lang.Exception: n or p should not be negative.

Explanation

● In the first two cases, both n and p are postive. So, the power function
returns the answer correctly.
● In the third case, both n and p are zero. So, the exception, "n and p should
not be zero.", is printed.
In the last two cases, at least one out of n and p is negative. So, the exception,
"n or p should not be negative.", is printed for these two cases.
12 Write a program that will imitate copying content of a file to another and 1,2
count the number of occurrences of the character ‘&’ in a file given in the
command line.
13 The input in this question will consist of a number of lines of English text 1,2
consisting of the letters of the English alphabets, the punctuation marks (‘)
apostrophe, (.) full stop, (,) comma , (;) semicolon , (:) colon and white space.
Write a program to print the words of the input in reverse order without any
punctuation marks other than blanks.
For example, Consider the following input text:
INPUT:
Enter number of sentences: 2
Enter the sentences:
This is a sample piece of text to illustrate this question
if you are smart you will solve this right.
OUTPUT: right this solve will you smart are you if question this illustrate to
text of piece sample a is this
NOTE: Individual words (i.e. characters of every word) are not reversed
14 Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', 1,2
determine if the input string is valid.

An input string is valid if:

Open brackets must be closed by the same type of brackets.


Open brackets must be closed in the correct order.
Every close bracket has a corresponding open bracket of the same type.

Example 1:
Input: s = "()"
Output: true
Example 2:

Input: s = "()[]{}"
Output: true
Example 3:

Input: s = "(]"
Output: false

Constraints:

1 <= s.length <= 104


s consists of parentheses only '()[]{}'.
15 Create an application which stores, update, delete, view all or individual 3
record and searches record of student display appropriate message.
Course Category : Engineering Science Course
Course Name : Computer Organization and Architecture
Course Code : UES2001
L-T-P : 3-0-2
Semester :3rd

Batch : 2023-27
Syllabus
Prerequisite:
● Knowledge of Digital Electronics.
Course Outcomes:
At the end of the course, students will be able to:
CO No Description

CO1 To study the basic structure and operation of a digital computer system.

CO2 Understand register transfer and microoperations with the basics of computer
organization
CO3 To introduce functioning of central processing unit and I/O devices

CO4 Understanding the different ways of communicating with I/O devices and standard I/O
interfaces

CO5 To introduce computer arithmetic, modes of data transfer with respect to I/O and
Memory organization of a computer

No. of
CO
Unit No. Topics Proposed
No.
Lectures
Introduction: Functional units of digital system and their
interconnections, buses, bus architecture, types of buses and bus
arbitration. Register, bus and memory transfer. Processor
1 1 8
organization, general registers organization, stack organization
and addressing modes.
Register Transfer and Microoperations: Register Transfer
Language, Register Transfer, Bus and Memory Transfers,
Arithmetic Microoperations, Logic Microoperations, Shift
2 Microoperations, Arithmetic Logic Shift Unit. 2 8
Basic Computer Organization and Design: Instruction Codes,
Computer Registers, Computer Instructions, Timing and Control,
Instruction Cycle, Memory-Reference Instruction, Input-Output
Instruction, Complete Computer Description, Design of Basic
Computer, Design of Accumulator Logic

Central Processing Unit: General Register Organization, Stack


organization, Instruction Format, Addressing Modes, Data
3 Transfer and Manipulation, Program Control, RISC, CISC. 3 8

Input-output Organization: I/O device interface, I/O


transfers–program controlled, interrupt driven and DMA,
4 Privileged and Non-Privileged Instructions, Software Interrupts. 4 8

Computer Arithmetic: addition, subtraction, multiplication and


division algorithms, Input-Output Organization, Modes of data
transfer, Interrupt cycle, direct memory access, Input-Output
processor, Memory Organization, Memory Hierarchy, Associative
5 5 8
Memory, Cache Memory, Internal and external Memory, Virtual
Memory.

Text Books:
1. M. Morris Mano, Rajib Mall “Computer System Architecture”, 3rd Edition Pearson
Education, 2017
2. John P. Hayes, Computer Architecture and Organization, Tata McGraw Hill, Third
Edition, 1998
Reference Books:
1. William Stallings, Computer Organization and Architecture-Designing for Performance,
Pearson Edu., 7th edition, 2006.
2. Behrooz Parahami, “Computer Architecture”, Oxford University Press, Eighth Impression,
2011.
Web References:
1. Computer Organization and Architecture Tutorial”
https://www.javatpoint.com/computer-organization-and-architecture-tutorial

List of Experiments
Lab Course outcome

CO. No Description Blooms taxonomy level

1 Students will be able to understand the basic 2


computer arithmetic operations

S. No. Programs CO No.


1 Implementing HALF ADDER, FULL ADDER using basic logic gates 1

2 1
Implementing Binary -to -Gray, Gray -to -Binary code conversions.

3 1
Implementing 3:8-line DECODER.
4 1
Implementing 4xl and 8xl MULTIPLEXERS.
5 1
Verify the excitation tables of various FLIP-FLOPS.
6 1
Design of an 8-bit Input/ Output system with four 8-bit Internal
Registers.
7 1
Design of an 8-bit ARITHMETIC LOGIC UNIT.
8 1
Design the data path of a computer from its register transfer language
description.
9 1
Design the control unit of a computer using either hardwiring or
microprogramming based on its register transfer language description.
10 1
Implement a simple instruction set computer with a control unit and a
data path.
Course Category : Core Course
Course Name : Emerging Technologies
Course Code : UCS2006
L-T-P : 2-0-0
Semester :3 rd

Batch : 2023-27
Syllabus
Prerequisite:
● A fundamental understanding of computer systems, networks, and information
technology is often required.
● A foundational understanding of basic computer science principles.
● Students should be willing to learn and explore new concepts
Course Outcomes:
At the end of the course, students will be able to:

CO1 Understand the concepts of internet of things, smart cities and industrial internet of
things.

Comprehend the underlying principles of blockchain, cryptocurrencies, and smart


CO2 contracts

CO3 Summarize design principles, tools, trends in 3 D printing and drones.

CO4 Understand augmented reality (AR), virtual reality (VR), 5G technology, brain
computer interface and human brain

Unit Topics CO No.of


No. No. Lecure

Internet of Things: Internet of Things Fundamentals of Internet 1


1 of Things, Sensors, their types and features, IoT components: 8
layers, Industrial Internet of Things Case study: Smart Homes
Unit Topics CO No.of
No. No. Lecure

2 Blockchain: Blockchain Fundamentals, Blockchain Principles and 2 8


Technologies, Cryptocurrencies, Smart Contracts, Applications and
use cases

3 Digital Manufacturing:3D Printing & Drones The history and 3 8


survey of 3D Printing Design, Principles and Tools, Emerging
Trends & Use Cases in 3D Printing, Introduction of Drones,
Engineering Disciplines, Multirotor Drone, Drone Assembly
Course /Regulations and procedures for becoming a drone pilot

Trending Technologies: Augmented Reality (AR) and Virtual


Reality (VR),
History objective & global scenario of 5G Telecom, 5G in India,
4 4 8
Application and Use Cases, Brain Computer Interface, Application,
Modal and Global Market,Brain Computer Interface and Human
Brain

Text Books:

1.Internet of Things (IoT): Systems and Applications by Mehmet R. Yuce, Jamil Y. Khan
2.IoT Fundamentals: Networking Technologies, Protocols and Use Cases for the Internet of
Things by David Hanes, Patrick Grossetete, Gonzalo Salgueiro
3.Additive Manufacturing Technologies: 3D Printing, Rapid Prototyping, and Direct Digital
Manufacturing by Ian Gibson
4.Build a Drone: A Step-by-Step Guide to Designing, Constructing, and Flying Your Very
Own Drone by Barry Davies
5.Future Trends: Developing Virtual Reality Applications: Foundations of Effective Design
by Alan B Craig, William R Sherman, Jeffrey D Will (Publisher: Morgan Kaufmann, 2009)

Reference Books:

1.Designing the Internet of Things by McEwen, Adrian, Cassimally, Hakim


2.Blockchain Basics: A Non-Technical Introduction in 25 Steps by Daniel Drescher
3.3D User Interfaces, Theory and Practice by Doug A Bowman, Ernest Kuijff, Joseph J La
Viola, Jr, Ivan Poupyrev (Publisher: Addison Wesley, USA Text, 2005)
Semester - IV
Course Category : Major Core

Course Name : Theory of Computation

Course Code : UCS2004

L-T-P : 3-0-0

Semester : 4th

Batch : 2023-27

Syllabus

Prerequisite:

The student should understand:


● Mathematical concepts such as set theory.

Course Outcomes:

At the end of the course, students will be able to:

CO1 Understanding of basic concepts in the theory of computation

CO2 Able to construct finite state machines and the equivalent regular expressions

CO3 Analyze and distinguish various types of grammars corresponding to each


language class in the Chomsky Hierarchy

CO4 Design and construct Pushdown Automata for specific languages

CO5 Analyze the notions of computability and decidability an design Turing Machines
for specific languages
Unit Topics CO No. of
No No. Lecture

1 Finite Automata and Regular Expressions: Three basic 1 8


Conepts :Language, Grammar, Automata, Finite State Systems,
Basic Definitions Non-Deterministic finite automata (NDFA),
Deterministic finite automata (DFA), Transition graph,
Conversion of NFA to DFA Finite automata with E-moves,

Introduction to Machines: Concept of basic Machine,


Properties and limitations of FSM. Moore and mealy Machines,
Equivalence of Moore and Mealy machines.

2 Properties of Regular Sets:Regular Expressions,Regular 2 8


Language, state and prove Arden’s Method.Equivalence of
finite automata and Regular Language, The Pumping Lemma
for Regular Sets, Applications of the pumping lemma, Closure
properties of regular sets, Myhill-Nerode Theorem and
minimization of finite Automata, Minimization Algorithm.

3 Grammars: Definition:Regular Grammar, Right and Left 3 8


linear grammar,Context free and Context sensitive grammar,
Ambiguity in grammars, Reduced forms, Removal of useless
Symbols, unit production and null production Chomsky Normal
Form (CNF), Griebach Normal Form (GNF),

Chomsky Hierarchies: Chomsky hierarchies of grammars,


Unrestricted grammars, Context sensitive languages, Relation
between languages of classes.
Pushdown Automata: Introduction to Pushdown Machines,
4 Deterministic PushDown Automata (DPDA) and 4 8
Non-Deterministic PushDown Automata (NPDA) Application
of Pushdown Machines.Closure properties of languages
Turing Machines: Deterministic and Non-Deterministic Turing
5 Machines, Design of T.M, Halting problem of T.M., PCP 5 8
Problem Computability: Basic concepts, Primitive Recursive
Functions. Decidability:P vs NP, NP-HARD,NP-Complete
problems

Text Books:
1. Theory of Computer Science (Automata, Languages and
computation):K.L.P.Mishra & N.Chandrasekaran, 2000, PHI.

2. Introduction to automata theory, language & computation- Hopcroaft &


O.D.Ullman, R Mothwani.

Reference Books:

1. Introduction to formal Languages & Automata-Peter Linz, 2001, Narosa Publication.

2. Fundamentals of the Theory of Computation- Principles and Practice by Ramond


Greenlaw and H. James Hoover, Harcourt India Pvt. Ltd.

3. Elements of theory of Computation by H.R. Lewis & C.H. Papaditriou, PHI.

4. Introduction to languages and the Theory of Computation by John C. Martin 2003,


T.M.H

Web References:

“Theory of Computation”: https://onlinecourses.nptel.ac.in/noc21_cs19/preview


Course Category: Core Subject
Course Name: Analysis and Design of Algorithms
Course Code: UCS2005
L-T-P: 4-0-2
Semester: 4th
Batch: 2023-27

Syllabus
Prerequisite:
The students should have the understanding of:
● Understanding of fundamental data structures.
● Proficiency in programming languages like C.

Course Outcomes:
At the end of the course students will be able to:
CO1: Understand and analyze the complexities of the algorithms.
CO2: Apply and evaluate the divide and conquer strategy for problem-solving.
CO3: Apply and understand greedy algorithmic design strategy in solving ‘optimization problems’.
CO4: Implement dynamic programming algorithmic design approaches.
CO5: Apply and utilize backtracking and branch-and-bound techniques for problem-solving skills in
real-world scenarios.

No. of Proposed
Unit No. Topics CO No.
Lectures
Introduction: Algorithms, Analyzing algorithms, Complexity
1 of algorithms, Growth of functions, Performance 1 8
measurements, Asymptotic notations.
Recurrence relations and their solving techniques:
Substitution method, Recursive tree method and Master’s
method.

Divide and Conquer: Divide and conquer strategy, Binary


2 Search, Power of an element, Finding the Maximum and 2 8
Minimum, Merge Sort, Quick Sort, Selection Procedure,
Strassen’s Matrix Multiplication.
Greedy Method: General Greedy Strategy, Knapsack Problem,
3 Job Scheduling with Deadlines, Huffman Coding, Optimal Merge 3 8
Patterns, Minimum Cost Spanning Trees, Single-source Shortest
Paths.

Dynamic Programming: Dynamic Programming Strategy,


4 Memoization concept, 0/1 Knapsack, Multistage Graphs, 4 8
All-pairs Shortest Paths, Traveling Sales Person Problem.

Backtracking, Branch and Bound with examples such as


5 Travelling Salesman Problem, Graph Coloring, n-Queen 5 8
Problem, Hamiltonian Cycles and Sum of subsets, Theory of NP
Completeness

Text Books:
1. E. Horowitz & S Sahni, "Fundamentals of Computer Algorithms", Publisher: Universities Press
2. Aho, Hopcraft, Ullman, “The Design and Analysis of Computer Algorithms” Pearson Education, 2008.

Reference Books:
1. Thomas H. Corman, Charles E. Leiserson and Ronald L. Rivest, “Introduction to Algorithms”, Printice Hall
of India.

Web References:
https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/

List of Experiments

S. No. Programs CO No.


1 Write a program to illustrate binary search using divide and conquer. 2
2 Write a program to find minimum and maximum elements in an array 2
using divide and conquer.
3 Write a program to implement Quick Sort algorithm using divide and 2
conquer.
4 Write a program to implement merge sort algorithm using divide and 2
conquer.
5 Write a program to implement Greedy Knapsack problem. 3
6 Write a program to find solution for job sequencing with deadlines 3
problem.
7 Write a program to find minimum cost spanning tree using Kruskal’s 3
Algorithm.
8 Write a program to find minimum cost spanning tree using Prim’s 3
Algorithm.
9 Write a program to perform Single source shortest path problem for a 3
given graph.
10 Implement 0/1 Knapsack problem using Dynamic Programming. 4
11 Implement All-Pairs Shortest Paths Problem using Floyd's algorithm. 4
12 Write a program to solve the Traveling salesman problem using dynamic 4
programming.
13 Write a program to implement N Queen's problem using Back Tracking. 5
14 Write a program to implement graph coloring using backtracking. 5
15 Write a program to solve traveling salesman problem using Branch and 5
Bound.

Course Category:Core

Course Name: Organizational Behavior

Course Code: UHU001


Semester:4th

Batch:2023-27

Introduction

Understanding and managing people’s behavior in work organizations are quite challenging
for managers including technical managers because of the complexities involved in this
process. These complexities can be simplified by applying the knowledge and skills from the
field of study of Organizational Behavior (OB).

Syllabus

Prerequisite:

The students should have the understanding of:

● Basic familiarity with an organization.


● Basic familiarity with their future role as a technical manager.

Course Outcomes:

At the end of the course students will be able to:

CO1: Understand and describe the significance of Organizational Behavior, its


model about the behavior at individual, group and organization levels,
basic managerial roles and skills to be effective in their jobs, and the
contemporary issues in Organization Behavior,

CO2: Understand the foundations of individual behavior and relate them to


their own behavior, understand the concepts and importance of
personality, attitudes, emotions and perception.

CO3: Describe the three key elements of motivation, Understand the theories of
motivation. Describe how the contemporary theories of motivation
complement one another, recognize the implications for motivating
themselves and others.

CO4: Understand the foundations and significance of group and team behavior,
team working

skills, leadership concepts and skills, communication, power and politics,


with a view to become successful leaders and team players.

CO5: Develop an understanding of organization structure, organizational culture,


organizational

change and stress Management, conflicts and negotiation,

Unit Topics CO No. of Proposed


No. No. Lectures

1 Introduction to Organizational Behavior: 1 4

Introduction to organization, organization


and managers, manager’ roles and skills,
behavior at work, introduction to
organizational behavior, challenges and
opportunities in OB, OB model and levels of
OB model.

2 Foundations of Individual Behavior: 2 8


Individual Differences, Attitudes, Job
Satisfaction, Emotions and Moods,
Emotional Management Personality,
Personality Frameworks, Perceptual
Processes & Decision Making

3 Motivation: Concept of Motivation, Early 3 6


Theories Of Motivation, Contemporary
Theories Of Motivation, Motivation: From
Concepts to Application, Job Design,

Job Rotation and Job Enrichment,


Alternative Work Arrangements- Flextime,
Telecommuting; Rewards & Pay

Employee Participation & empowerment -


Guest Session by industry HR experts
4 Foundations of Group Behavior: Defining 4 10
and Classifying Groups, Stages of Group
Development, Roles and Norms, Group
Cohesiveness, Understanding Work Teams,
Creating Effective Teams, Roles of Teams,
Developing Team Working Skills,
Leadership, Theories of leadership,
Developing Leadership skills, Power &
Politics, Communication, Direction of
Communication, Modes of Communication

5 Organization System Level Behavior: 5 8


Organizational Structure, Common
Organizational Frameworks and Structures,
Organizational Culture and its
Characteristics, Organizational Change and
Stress Management, Approaches to
Managing Organizational Change, Stress &
Managing Stress, Conflict and Negotiation,
Conflict Management, Negotiation and
Bargaining Strategies
Text Books:

1. Robbins S., Judge, T.A. & Vohra, N., Organizational Behavior, Pearson

2. Robbins S. & Judge, T.A, Essentials of Organizational Behavior, Pearson

Reference Books:

1, Aswathappa K., Organizational Behavior, Himalaya Publishing House

2. Luthans Fred, Organizational Behavior.. McGraw-Hill Education,

3. Christopher P. Neck_ Jeffery D. Houghton_ Jazrawi Emma L. Murray -


Organizational Behavior_ A Critical-Thinking Approach-Sage Publications,
Inc (2016)

Pedagogy:

The course will use the following pedagogical tools:

a) Case discussion covering a cross section of decision situations

b) Projects / Assignments / Quizzes / Class Participation etc.

c) Readings and cases from journals, magazines, Harvard Business Review and
other related online sites
Subject Name: Compiler
Design
Year:
School: SCSE Subject Code:

Department: L-T-P:
Semester:
Course: Pre requisite Subject
Name/code: Theory of
computation, Computer
architecture.

Course Outcome

(At the end of the Description


course, student will
be able understand)

Understand the definition of compiler with its different phases of


compiler and able to define the role of lexical analyzer, use of
CO1 regular expression and transition diagrams.

CO2 Learn the basics role of the parser and understand the design
principles of syntax analyser and top-down parser.

CO3 Understand the bottom up parser and develop appropriate parser to


produce parse tree representation of the input.

CO4 Learn to generate intermediate code for statements in high level


language and able to understand the concept of Storage
organization and allocation strategies.

CO5 Learn the basic concepts of code optimization techniques and a


simple code generator. Student will able to understand the Issues in
the design of a code generator.

Detailed Syllabus(Theory)

No.of proposed
lectures
Unit No. Topics CO No.
I Introduction to compilers – Analysis of the 1 8
source program, Phases of a compiler, Grouping
of phases, compiler writing tools – bootstrapping
Lexical Analysis: The role of Lexical Analyzer,
Input Buffering, Specification of Tokens using
Regular Expressions, Review of Finite
Automata, Recognition of Tokens.
II Syntax Analysis: Review of Context-Free 2 8
Grammars – Derivation trees and Parse Trees,
Ambiguity.
Top-Down Parsing: Recursive Descent parsing,
Predictive parsing, LL (1) Grammars.

III Bottom-Up Parsing: 3 8


Shift Reduce parsing – Operator precedence
parsing (Concepts only) LR parsing –
Constructing SLR parsing tables, Constructing,
Canonical LR parsing tables and Constructing
LALR parsing tables.

IV Intermediate Code Generation 4 8


Syntax directed translation: Syntax Directed
Definitions, Evaluation Orders for Syntax
Directed Definitions, Intermediate Languages:
Syntax Tree, Three Address Code, and Type
Checking.
Run-Time Environments:
Source Language issues, Storage organization,
Storage allocation strategies.
V Code Optimization: 5 8
Principal sources of optimization,
DAG-Optimization of Basic blocks
Code generation:
Issues in the design of a code generator. The
target machine, A simple code generator.
Text Books :

1. Aho A. Ravi Sethi and D Ullman. Compilers – Principles Techniques and Tools, Addison
Wesley, 2006.
2. D. M. Dhamdhare, System Programming and Operating Systems, Tata McGraw Hill &
Company, 1996.
Reference Books :

1. V. Raghavan, Principles of Compiler Design‖, Tata McGraw Hill Education Publishers,


2010.
2. Kenneth C. Louden, Compiler Construction – Principles and Practice, Cengage Learning
Indian Edition, 2006.
3 .Randy Allen, Ken Kennedy, Optimizing Compilers for Modern Architectures: A
Dependence based Approach, Morgan Kaufmann Publishers, 2002
4. Tremblay and Sorenson, The Theory and Practice of Compiler Writing, Tata McGraw
Hill & Company,1984.
Course Category: Elective Subject
Course Name: Computer Graphics
Course Code: UCS2002E1
L-T-P: 4-0-2
Semester: 4th
Batch: 2023-27
Syllabus
Prerequisite:
The students should have the understanding of:
● Basic programming skills.
● Familiarity with the mathematical concepts such as algebra, calculus and statistics.
Course Outcomes:
At the end of the course students will be able to:
CO1 Understand and apply fundamentals of computer graphics in generation of basic primitives of graphics.
CO2 Understand and apply 2D and 3D transformations various graphics.
CO3 Understand and apply clipping and projections various graphics.
CO4 Demonstrate concepts of curves and surfaces in designing computer graphics.
CO5 Apply rendering techniques in designing and develop in computer graphics

No. of
Unit CO
Topics Proposed
No. No.
Lectures
Fundamentals of Computer Graphics: Introduction to computer
1 graphics, Types of computer graphics 1 8
Graphic Displays: Random scan displays, Raster scan displays, Frame
buffer, and video controller, Points and lines, Line drawing algorithms,
Circle generating algorithms, Midpoint circle generating algorithm,
Parallel versions of these algorithms.
Transformations and Clipping: Basic transformations, Matrix
2 representations and homogeneous coordinates, Composite transformations, 2 8
Reflections and shearing, Windowing and Clipping, viewing pipeline,
viewing transformations,2-D Clipping algorithms, Line clipping
algorithms (e.g., Cohen Sutherland, Liang Barsky), Polygon clipping (e.g.,
Sutherland-Hodgeman, Weiler and Atherton), Curve clipping, Text
clipping.
Three-Dimensional Graphics: 3-D geometric primitives, 3-D
3 Object representation, 3-D Transformation, 3-D viewing 3 8
Projections, 3-D Clipping.
Curves and Surfaces: Quadric surfaces, Spheres, Ellipsoid, Blobby
4 objects. Introductory Concepts of Spline, B-Spline and Bezier curves and 4 8
surfaces.
Rendering, Animation, and Applications: Visible Surface Detection -
5 Need & Algorithms, Ray Tracing, and Hidden Line Elimination. Light & 5 8
Color Models - Light, Halftoning, Color Models, Color Conversion &
Interpolation, Dithering Matrix.

Text Books:
1. James D. Foley, A. Van Dam, S.K. Feiner, and J.F. Hughes, Computer Graphics: Principles and
practice, 2nd ed in C, Addision-Wesley Publishing Company.
2. Rogers B., Mathematical Elements of Computer Graphics, Tata McGraw Hill.
3. D. Hearn and M.P. Baker, Computer Graphics, C Version, Pearson Education.

Reference Books:
1. D. Hearn and M.P. Baker, Computer Graphics with OpenGL Version, (3rd edition), Pearson Education.
2004
Web References
● “Computer Graphics”: https://onlinecourses.nptel.ac.in/noc21_cs97/preview
Course Category : Specialization-1
Course Name : AI Fundamentals
Course Code : UCS2001SE1
L-T-P : 4-0-2
Semester : 4th
Batch : 2023-27
Syllabus
Prerequisite:
● Basic concepts of linear algebra, probability & statistics.
● Proficiency in programming languages such as python

Course Outcomes:
At the end of the course, students will be able to:

Gain proficiency in understanding the fundamentals and practical applications of


CO1 artificial intelligence, while categorizing different problem domains and reasoning
methodologies. (K2)
Apply and Evaluate both basic and advanced search strategies, encompassing
CO2 game-playing algorithms, evolutionary search techniques, and constraint satisfaction
methodologies. (K2, K3, K5)
Develop competence in creating and refining intelligent agents tailored to address
CO3
specific computational challenges. (K6)
Understand and develop solutions using AI programming paradigms such as Prolog
CO4
and LISP. (K2, K3, K6)
Acquire insight into the architecture of expert systems and cultivate the ability to
CO5
construct novel expert systems suitable for real-world applications. (K3, K6)

No. of
Unit No Topics CO No.
Lecture
Overview of AI and Problem Solving: Significance of AI, 1 6
Scope, Problem solving and search, Examples of Problems,
1
Uninformed search strategies (Breadth first search, Uniform
cost search, Depth first search), Informed search strategies
Search algorithms: Local Search and Optimization, 2 8
Hill-climbing search, Simulated annealing, Local beam search,
Evolutionary algorithms, Local search in continuous space,
2 Search with non-deterministic actions, Search in Partially
Observable Environment, Adversarial Search, Game Theory,
Monte Carlo Tree Search, Genetic Algorithm, Particle Swarm
Optimization, Travelling Salesman Problem.
Scheduling, Planning, and Uncertainty: Job-shop scheduling problem, 2, 3 8
CPM method, acting under uncertainty, Probability Theory, Utility Theory,
Decision Theory, Probability distributions, Joint probability distributions,
3 Independence, Covariance, Law of Total Probability, Bayes’ Rule and
applications, Naïve Bayes Theorem and Applications, Bayesian Networks,
Numerical problems on Bayesian Networks

Expert Systems: Definition and characteristics of Expert systems, Forward 4, 5 8


4 chaining, Backward chaining, Rule based reasoning, Fuzzy logic, Expert
system architecture, Applications of expert systems.

Languages for AI problem solving: Introduction to PROLOG syntax and 5 10


data structures, representation of objects and relationships, built-in
5 predicates, Introduction to LISP, Design of expert systems using PROLOG
and LISP.

Text Books:
1. I. Bratko, “Prolog: Programming for Artificial Intelligence”, Fourth edition,
Addison-Wesley Educational Publishers Inc., 2011.
2. Ethem Alpaydin, “Introduction to Machine Learning”, The MIT Press, Third Edition,
2014.
Reference Books:
1. S. Russell and P. Norvig, “Artificial Intelligence: A Modern Approach”, Prentice Hall,
Third Edition, 2009.
Web References:
1. https://pll.harvard.edu/course/cs50s-introduction-artificial-intelligence-python

List of Practical
Lab Course Outcomes:
At the end of the course, students will be able to:

Gain proficiency in implementing and analyzing various search algorithms,


CO1
optimization techniques and heuristic search strategies to solve complex problems.
Acquire hands-on experience in algorithm design and analysis, including evaluation
CO2
of algorithm performance and optimizing solutions.
Develop expertise in AI development tools and languages such as PROLOG, LISP,
CO3
and Python.

S. No. Programs CO No.

1. Implement Depth-First Search (DFS) to traverse a graph. 1,3

2. Implement Breadth-First Search (BFS) to traverse a graph. 1,3

3. Implement Best First Search using LISP. 1,3


Implement Genetic Algorithm and explore the effects of different parameters
4. (e.g., mutation rate, crossover rate, selection mechanism) on the algorithm's 1,2
convergence and solution quality.
Implement Particle Swarm optimization for solving Travelling Salesman
5. 1,3
Problem (TSP).
6. Implement A* algorithm for path finding in a grid environment. 1,3
7. Implement 8 puzzle game. 1,3
8. Implement Tower of Hanoi problem using heuristic search. 1,3
9. Implement a water jug problem using heuristic search. 1,3

10. Design expert system in PROLOG. 2,3


Semester V
Course Category : Major Core
Course Name : Data Communications and Networking
Course Code :
L-T-P : 4-0-2
Semester : 5th
Batch : 2023-27
Syllabus
Prerequisite:
The student should have the understanding of:
● Operating System basics
● Understanding of Graphs
● Basic programming skills.
Course Outcomes:
At the end of the course, students will be able to:

CO1 Remember features and applications of different layers of OSI and TCP/IP models.
CO2 Understand data link layer protocols to solve errors occur during communication.
CO3 Apply IP addressing and subnet masking to fulfil networking requirements
CO4 Analyse the working of various protocols used for communication at transport layer.
CO5 Evaluate application layer protocols for real life application

No. of
Unit No Topics CO No.
Lecture

Introduction: Networks, Network Types, Topologies, Protocol


Layering, OSI Model, TCP/IP protocol suite
1 1 8
Physical Layer: Responsibilities, Performance, Transmission
media, Switching
Error Detection and correction: Types of Errors, Detection,
Error Correction, Data Link Control and Protocols: Flow and
Error Control, Stop-and-wait, ARQ. Go-Back-N ARQ,
2 Selective Repeat ARQ, HDLC. Point –to- Point Protocol, PPP 2 8
Stack, Multiple Access, Random Access, Controlled Access,
Channelization.

Network Layer: Services, Performance – IPV4, IPv6 protocol


and addressing, Network Layer Protocols- IP, CIDR, ARP,
3 RARP, DHCP, ICMP, Routing Algorithms – Static and 3 8
Dynamic

Transport Layer: Responsibilities, Port Numbers, Protocols –


UDP, TCP; TCP congestion control and Quality of service,
4 Flow Control and retransmission, Window Management, 4 8
Quality of Service.

Application Layer: Services, WWW, Client Server Model,


Socket Interface,
5 Protocols- HTTP, FTP, IMAP, POP3, Telnet, SSH, SNMP, 5 8
Remote Login, Data Compression, Cryptography (Basic
Concept)

Text Book:

1. Behrouz A. Forouzan, Data Communications and Networking, Fifth Edition TMH, 6TH
edition
2. William Stallings, Data and Computer Communications, Tenth Edition, Pearson
Education, tenth edition.
3. A.Tanenbaum, David Wetherall Computer Networks, 5th Edition, Pearson

Reference Book:
1. Larry L. Peterson, Bruce S. Davie, Computer Networks: A Systems
2. Approach, Fifth Edition, Morgan Kaufmann Publishers Inc., 2012.
3. James F. Kurose, Keith W. Ross, Computer Networking, A Top-Down Approach
Featuring the Internet, Sixth Edition, Pearson Education, 2013.

List of Programs
Lab Course Outcomes:
At the end of the course, students will be able to:

CO1 Simulate different network topologies.


CO2 Implement various framing methods of Data Link Layer
CO3 Implement various Error and flow control techniques.

S. No. Programs CO No.

1 To learn handling and configuration of networking hardware like RJ-45 1


connector, CAT-6 cable, crimping tool, etc

3
2 Configuration of router, hub, switch etc. (using real devices or
simulators)

3
3 Running and using services/commands like ping, trace route,
nslookup, arp, telnet, ftp, etc

3
4 Network packet analysis using tools like Wireshark, tcpdump, etc

3
5 Network simulation using tools like Cisco Packet Tracer, NetSim,
OMNeT++, NS2, NS3, etc.

4
6 Socket programming using UDP and TCP (e.g., simple DNS, data &
time client/server, echo client/server, iterative & concurrent servers)

4
7 Programming using raw sockets

4
8 Programming using RPC
Course Category : Professional Core

Course Name : Introduction to Machine Learning

Course Code : CSE-AIML-511

L-T-P : 4-0-0

Semester : 5th

Batch : 2022-26

Prerequisite:

The student should have the understanding of:

● Strong Knowledge of mathematics.

● Programming skills.

Course Outcomes:

At the end of the course, students will be able to:

CO1 Understand machine learning basics to articulate or demonstrate and


pinpoint applicable problem scenarios for effective student
problem-solving.
CO2 Understand regression analysis fundamentals to suggest predictive models
from data and evaluate their effectiveness in value prediction.

CO3 Demonstrate unsupervised machine learning strategies to address clustering


challenges and assess their efficacy in performance analysis.

CO4 Illustrate the principles of Mining Frequent Patterns, Associations, and


Data Streams, applying them to solve pertinent issues and evaluate
performance.

CO5 Identify applicable problems for student application, analysing


effectiveness and limitations, emphasizing lifelong learning significance.

Unit No Topics CO No. No. of


Lecture

1 Introduction to Machine Learning: Basic 1 8


Concepts, Various types of Machine Learning
Techniques and related applications, Issues in
Machine Learning Strategies, Data Exploration for
Machine Learning: Data Types, Data Attributes,
Statistical Description of Data, Data Visualization,
Data Similarity Measures; Data Preprocessing:
Data Cleaning, Data Integration, Data Reduction,
Data Transformation & Discretization.

2 Classification and Regression: Basic Concepts, 2 8


assessing and visualizing performance of
classification, k-Nearest-Neighbor Classifier,
Decision Tree Classifier, Naïve Bayes Classifier;
Ensemble Classification, Random Forest Strategy,
Linear and Nonlinear Regression Methods and
their performance analysis.
3 Clustering, Association and Outlier Analysis: 3 8
Basic Concepts, Partitioning Methods: k-Means
and k-Medoids, Hierarchical Methods:
Agglomerative and Divisive Hierarchical
Clustering, Density-Based Methods: DBSCAN:
Density-Based Clustering Based on Connected
Regions with High Density; Outlier Analysis.

4 Mining Frequent Patterns, Associations and 4 8


Data Streams: Basic Concepts, Association
analysis and Frequent Itemset Mining Methods:
The Apriori Algorithm, Mining Time Series Data.

5 Advanced Concepts: Introduction to advanced 5 8


concepts of machine learning like Support Vector
Machines and Artificial Neural Network and their
applications in solving machine learning problems.

Text book:

1. Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2007


2. Dr. Rajiv Chopra, Machine Learning, Khanna Publishing House, 2018
3. Machine Learning by Saikat Dutt, Subramanian Chandramouli, Amit Kumar Das,
Pearson.

Reference Books:

1. Machine Learning using Python, Manaranjan Pradhan and U Dinesh Kumar, Wiley
2. Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow, Aurélien
Géron, O’Reilly
3. Han J & Kamber M, “Data Mining: Concepts and Techniques”, Morgan Kaufmann
Publishers, Third Edition.
Course Category : Major Core
Course Name : Operating System
Course Code : UCS3002
L-T-P : 3-0-0
Semester : 5th
Batch : 2023-27
Syllabus
Prerequisite:
The student should have the understanding of:
● Computer Architecture,Mathematics
● Various concepts of Data Structures and Algorithms
● Basic programming skills.
Course Outcomes:
At the end of the course, students will be able to:

To demonstrate a comprehensive understanding of operating systems, including their


CO1
classification based on functionality and structure.
CO2 To understand the CPU scheduling principles, and expertise in deadlock management.

Gain expertise in concurrent processes, and process generation, enhancing their


CO3
understanding of operating system concepts and mechanisms.

Describe the master memory management concepts and page replacement


CO4
algorithms, optimizing resource utilization and performance in operating systems.

CO5 Gain proficiency in disk scheduling techniques and RAID configurations

No. of
Unit No Topics CO No.
Lecture

Introduction : Operating system and functions, Classification


of Operating systems- Batch, Interactive, Time sharing, Real
Time System, Parallel Systems, Distributed Systems,
1 1 8
Multithreaded Systems, Operating System Structure- Layered
structure, System Components, Operating System services,
Reentrant Kernels, Monolithic and Microkernel Systems.

CPU Scheduling: Scheduling Concepts, Performance


Criteria, Process States, Process Transition Diagram,
Schedulers, Process Control Block (PCB), Process address
space, Process identification information, Threads and their
2 2 9
management, Scheduling Algorithms, Multiprocessor
Scheduling. Deadlock: System model, Deadlock
characterization, Prevention, Avoidance and detection,
Recovery from deadlock.

Concurrent Processes: Process Concept, Principle of


Concurrency, Producer / Consumer Problem, Mutual
Exclusion, Critical Section Problem, Dekker’s solution,
3 Peterson’s solution, Semaphores, Test and Set operation; 3 9
Classical Problem in Concurrency- Dining Philosopher
Problem, Sleeping Barber Problem; Inter Process
Communication models and Schemes, Process generation.

Memory Management: Basic bare machine, Resident


4 monitor, Multiprogramming with fixed partitions, 4 9
Multiprogramming with variable partitions, Protection
No. of
Unit No Topics CO No.
Lecture
schemes, Paging, Segmentation, Paged segmentation, Virtual
memory concepts, Demand paging, Performance of demand
paging, Page replacement algorithms, Thrashing, Locality of
reference.

Disk Scheduling: Disk storage and disk scheduling, RAID.


File System: File concept, File organization and access
5 5 8
mechanism, File directories, and File sharing, File system
implementation issues, File system protection and security.

Text Book:
1. "Operating System Concepts" by Abraham Silberschatz, Peter B. Galvin, and Greg
Gagne - This is a widely used textbook that covers fundamental concepts in operating
systems. It's comprehensive and suitable for both undergraduate and graduate-level
courses.
2. "Modern Operating Systems" by Andrew S. Tanenbaum - Another classic textbook
that covers modern operating system principles. It provides a good balance between
theory and practice.
3. "Operating Systems: Internals and Design Principles" by William Stallings - This
book delves into the internal structures and design principles of operating systems,
providing in-depth knowledge on how various components work together.
4. "Operating Systems: Principles and Practice" by Thomas Anderson and Michael
Dahlin - This textbook takes a hands-on approach to understanding operating systems,
with a focus on practical aspects and implementation details.

Reference Book:

1. "UNIX and Linux System Administration Handbook" by Evi Nemeth, Garth Snyder,
Trent R. Hein, and Ben Whaley - This book is an invaluable resource for system
administrators working with Unix and Linux operating systems. It covers a wide
range of topics relevant to system administration.
2. "Linux Kernel Development" by Robert Love - For those interested in understanding
the Linux kernel, this book provides detailed insights into its design and development
process.
3. "Windows Internals" by Mark Russinovich and David A. Solomon - This book is
essential for anyone interested in understanding the internals of the Windows
operating system. It covers various aspects, including processes, memory
management, file systems, and more.
4. "Operating Systems Design and Implementation" by Andrew S. Tanenbaum and
Albert S. Woodhull - This book provides a detailed look at the design and
implementation of operating systems, with a focus on practical examples and case
studies.
Course Category: BTECH Computer Science and Engineering
Course Name: Introduction to Git and GitHub
Course Code: CSE-DSBD-411
L-T-P: 4-0-0
Semester: 4th
Batch: 2022-26

Syllabus

Prerequisite:
The prerequisites for an "Introduction to Git and GitHub" course typically include a basic
understanding of programming concepts and familiarity with a programming language.

Course Outcomes:

CO1: Gain an understanding of version control by providing a definition and enumerating its
primary advantages.
CO2: Apply practical skills by showcasing the creation of branches and executing a fundamental
merge operation.
CO3: Develop an understanding of remote repositories by providing a description of the
concept.
CO4: Assess the significance of code review within the collaborative process, recognizing its
importance in ensuring code quality and effective team collaboration.
CO5: To formulate and implement a Git hook tailored to a specific project, showcasing the
ability to design and integrate advanced functionalities in the version control process.
Unit No. of Proposed
Topics CO No.
No Lectures
Introduction to Version Control: Overview of version
control systems, Importance of version control in software
w 4, Types of Version Control Systems, Why we use
Version Control, Basic Workflow of Version Control.
Introduction to Git: What is Git, Features of Git, Git
1 CO1 8
Work Flow, Creating Git Account, Installing Git, Initial Git
Bash Setup, Configuring Git, Creating a local repository.
Basic Git Commands: git init, git add, git commit,
Understanding the Git workflow, Checking the status and
history with git status and git log
Git and GitHub Basics
Creating a Remote Git Repository, Commit in a Remote
Repository, Commit Revisions of a File, Quick Overview to
GitHub Repository Homepage, Getting a Git Repository,
Understanding Git Commit History, Commit in a Local
2 Repository, Adding Collaborators, Accepting Collaboration CO2 8
Invite, Commit in Git as a Collaborator, Adding Comment
on a Repository, Responding to a Comment, Git Pull
Feature, Create a New File in Repository, Creating a new
Local Git Repository, Git Ignore, Creating New Git
Repository From Local Repository
Branching and Merging
Branching in Git: Creating branches (git branch), Switching
between branches (git checkout), Merging branches (git
3 CO3 8
merge), Conflict Resolution (Apply)
Understanding merge conflicts: Resolving conflicts
manually, Merging with conflicts
Remote Repositories and GitHub: Introduction to
Remote Repositories, adding a remote (git remote), Pushing
and pulling changes (git push, git pull), Creating a remote
repository on GitHub, Cloning a repository (git clone)
4 Collaborative Workflows: Forking a repository, creating a CO4 8
feature branch, Making pull requests
Code Review and Collaboration: Reviewing pull
requests, providing constructive feedback, Merging pull
requests
Git Best Practices: Commit message conventions,
Gitignore files, using tags (git tag), Git Hooks and
5 CO5 8
Customization: Introduction to Git hooks, creating custom
hooks, Customizing Git configuration

Text Books:

1. Richard E. Silverman, "Git Pocket Guide: A Working Introduction", O'Reilly Media,


1st Edition (2013), ISBN-13: 978-1449325862
2. Scott Chacon and Ben Straub, "Pro Git", Apress, 2nd Edition (2014), ISBN-13:
978-1484200773

Reference Books:
1. Scott Chacon, "Git Internals", CreateSpace Independent Publishing Platform (2013)
2. Sarah Guthals, Phil Haack, and Matthew McCullough, "GitHub For Dummies", For
Dummies (2013)
3. Ravishankar Somasundaram, "Git: Version Control for Everyone", Packt Publishing
(2013)
4. Achilleas Pipinellis, "GitHub Essentials", Packt Publishing (2015)

Web References:
https://git-scm.com/doc
https://www.codecademy.com/learn/learn-git

Semester VI
Course Category : Major Core

Course Name : Cryptography and Network Security


Course Code : UCS3003
L-T-P : 3-0-0
Semester : 6th
Batch : 2023-27
Syllabus
Prerequisite:
The student should have the understanding of:
● Networking concept
● Basics of the Internet.
Course Outcomes:
At the end of the course, students will be able to:

CO1 Remember the symmetric encryption techniques


CO2 Understand various public key cryptographic techniques
CO3 Apply the authentication and hash algorithms.
CO4 Analyse the email security authentication application process.
CO5 Evaluate the intrusion detection and its solutions to overcome the attacks

No. of
Unit No Topics CO No.
Lecture
Introduction to security attacks, services and mechanism,
Classical encryption techniques substitution ciphers and
transposition ciphers, cryptanalysis, steganography.
1 1 8
Stream and block ciphers. Modern Block Ciphers: Block
ciphers principles, Shannon’s theory of confusion and
diffusion, fiestal structure,
No. of
Unit No Topics CO No.
Lecture
Data encryption standard(DES), Strength of DES, Idea of
differential cryptanalysis, block cipher modes of operations,
Triple DES
Advanced Encryption Standard (AES) encryption and
decryption Fermat’s and Euler’s theorem, Primarily testing,
2 Chinese Remainder theorem, Discrete Logarithmic Problem, 2 8
Principals of public key crypto systems, RSA algorithm,
security of RSA

Message Authentication Codes: Authentication requirements,


authentication functions, message authentication code, hash
functions, birthday attacks, security of hash functions, Secure
3 hash algorithm (SHA) Digital Signatures: Digital Signatures, 3 8
Elgamal Digital Signature Techniques, Digital signature
standards (DSS), proof of digital signature algorithm,

Key Management and distribution: Symmetric key


distribution, Diffie-Hellman Key Exchange, Public key
4 distribution, X.509 Certificates, Public key Infrastructure. 4 8
Authentication Applications: Kerberos, Electronic mail
security: pretty good privacy (PGP), S/MIME.

IP Security: Authentication header, Encapsulating security


payloads, combining security associations, key management.
Introduction to Secure Socket Layer, Secure electronic,
5 transaction (SET) System Security: Introductory idea of 5 8
Intrusion, Intrusion detection, Viruses and related threats,
firewalls

Text Book:
1. William Stallings, “Cryptography and Network Security: Principals and Practice”, 7th
Edition, Pearson Education.
2. Behrouz A. Forouzan, “Introduction to cryptography and network security “,Mc
GrawHill
Reference Book:

3. O. Goldreich, Foundations of Cryptography, CRC Press..


Course Category : Core
Course Name : Web Technologies
Course Code : UCS3004
L-T-P : 2-0-2
Semester : 6th
Batch : 2023-27
Syllabus
Prerequisite: Introduction to Programming
Course Outcomes:

CO1 Understand different components in web technology and to know about web servers

CO2 Develop interactive Web pages using HTML/CSS.

Construct websites for user interactions using JavaScript.


CO3

CO4 Demonstrate how to handle mouse events to trigger specific actions.

CO5 Know the different information interchange formats like XML and JSON.

No. of
Unit No Topics CO No.
Lecture

1 Introduction and Web Development Strategies, History of Web 1 6


and Internet, Protocols Governing Web, Writing Web Projects,
No. of
Unit No Topics CO No.
Lecture
Connecting to Internet, Introduction to Internet services and
tools, Introduction to client-server computing.

Web Page Designing: HTML: Block and Inline, Class & Id,
List, Table, Images, Frames, forms, Ifarme, Responsive,
2 Media and Media Queries. 2 10

CSS:Margin, padding, Z-Index, Overflow, Float, Align,


Combinators, Navigation Bar, !important.
Java script: Introduction, documents, forms, statements,
3 functions, objects, Variables, Operators, Data Type, String, 3 8
Arrays, Date, Comparison, Loop, Hoisting, JS Versions.
Event and Event Handler :mouse-events,key-events,
4 onchange, onload, onerror, onfocus, onsubmit, onabort, 4 6
onresize, onsearch, onselect, onvolumechange.

AJAX and JSON - AJAX: Introduction, XML Http, Request


5 and Response, PHP, Applications. 5 6

JSON: Introduction, Syntax, Data Types, Object, Array, Parse.

List of Practicals

Practical Practical CO No.


No.

1 Write a program to make a table containing images and list. 2

2 Write a program that adjusts its layout based on the screen size using 2
HTML and CSS.

3 Write a program to design a navigation bar using HTML lists and 2


style it using CSS.

4 Write JavaScript functions to perform arithmetic operations such as 3


addition, subtraction, multiplication, and division.

Write a program to show the usage of all the date, math and string
5 object Functions. 3
6 Write a program to show the usage of inbuilt functions, dialog boxes, 3
alert box and confirm box.

7 Write a program to implement event handling using onclick, 4


onmouseover and onmouseout events.

8 Write a program to implement event handling usingonabort, onresize, 4


onsearch, onselect, onvolumechange.

9 Write JavaScript program to collect user input and format it as a 5


JSON object.

10 Create a client-side webpage with user input fields and a button to 5


submit data.

Text Books:

1. Raj Kamal - Internet and Web Technologies: McGraw Hill

2. N.P.Gopalan, Akilandeswari, Web Technology, Prentice-Hall.

3. R. Singh & M. Sonia – Core Java 2 Volume I – Fundamentals, 5th Edn.PHI, 2000.

Reference Books:

1. Wlizabeth Castro– HTML for the WWW with XHTML & CSS: Pearson

2. Xavier- Web Technologies and Design – New Age International Publication.

3. Deitel H.M. and P. J. Deitel, Internet & World Wide Web - How to Program, Prentice-Hall
Course Category : Major Core
Course Name : Software Engineering
Course Code : UCS3006
L-T-P : 3-0-2
Semester : 6th
Batch : 2023-27
Syllabus
Prerequisite:
The student should have the understanding of:
● Basic understanding of programming concepts and languages.
● Basic knowledge of computer science fundamentals, including algorithms and data
structures.
● Basic analytical and problem-solving skills.

Course Outcomes:
At the end of the course, students will be able to:

Understand basic software engineering methods and practices, and their appropriate
CO1
application.
Understand appropriate process models depending on the software requirements and
CO2
document SRS accordingly.
CO3 Design a software on the basis of various software metrics.
Apply various software testing approaches in testing test-cases to evaluate the
CO4
software quality.
CO5 Describe software risks and maintenance by ensuring good quality software.

Unit Topic CO No. No. of


No. Letcures

1 Introduction: Introduction to Software Engineering, 1 8


Software Components, Software Characteristics, Software
Crisis, Software Engineering Processes, Similarity and
Differences from Conventional Engineering Processes,
Software Quality Attributes. Software Development Life
Cycle (SDLC) Models: Water Fall Model, Prototype Model,
Spiral Model, Evolutionary Development Models, Iterative
Enhancement Models.
2 Software Requirement Specifications (SRS): Need for 2 8
SRS, Types of Requirements, Requirement Process,
Feasibility Study, Requirement Elicitation, Requirement
Analysis: Data Flow Diagrams, Entity Relationship
Diagrams, Decision Trees, Decision Tables, SRS Document,
IEEE Standards for SRS, Bottom–Up Estimation Approach,
Constructive Cost Models (COCOMO).
3 Software Design: Basic Concept of Software Design, 3 8
Strategy of Design, Design Structure Charts, Pseudo Codes,
Module Coupling and Cohesion, Relationship between
Coupling and Cohesion Measures, Design Notation and
Specification. Software Measurement and Metrics: Halstead’s
Software Metrics, Function Point (FP) Based Measures,
Cyclomatic Complexity Measures.
4 Software Testing: Testing Objectives and Terminologies, 4 8
Test Case and Test Suite, Testing Strategies: Test Drivers and
Test Stubs, Structural Testing (White Box Testing),
Functional Testing (Black Box Testing), Test Data Suit
Preparation, Alpha, Beta and Acceptance Testing, Levels of
Testing: Unit Testing, Integration Testing, System Testing,
Regression Testing, Testing for Functionality and Testing for
Performance, Top-Down and Bottom-Up. Static Testing
Strategies: Formal Technical Reviews (Peer Reviews), Walk
Through, Code Inspection, Compliance with Design and
Coding Standards.
5 Software Maintenance and Software Project 5 8
Management: Need for Maintenance, Categories of
Maintenance: Preventive, Corrective and Perfective
Maintenance, Cost of Maintenance, Software Re-
Engineering, Reverse Engineering. Software Configuration
Management Activities, Change Control Process, Software
Version Control, Software Risk Analysis and Management.
Software Quality Assurance (SQA): Verification and
Validation, SQA Plans, Software Quality Frameworks, ISO
9000 Models, SEI-CMM Model.

Text Books:
1. Roger S. Pressman, “Software Engineering: A Practitioner's Approach”, McGraw Hill.
2. Rajib Mall, “Fundamentals of Software Engineering”, Prentice Hall India.
3. Pankaj Jalote, “An Integrated Approach to Software Engineering”, Narosa.
Reference Books:
1. KK Aggarwal and Yogesh Singh, Software Engineering, New Age International
Publishers.
2. Ghezzi, M. Jarayeri, D. Manodrioli, Fundamentals of Software Engineering, PHI
Publication.
3. Ian Sommerville, Software Engineering, Addison Wesley.

List of Programs

Lab Course Outcomes:


At the end of the course, students will be able to:

Demonstrate and understanding of software engineering principles and Software


CO1
Requirements Specification document.
Apply knowledge of UML diagrams to model and visualize the system's structure and
CO2 behaviour in various stages, from use case scenarios to deployment architecture

Apply and Demonstrate a higher-order understanding of software design and


CO3
architecture

S. No. Programs CO No.

1 Prepare a SRS document in line with the IEEE recommended standards 1

2,3
2 Draw the use case diagram and specify the role of each of the actors.
Also state the precondition, post condition and function of each use
case.

2,3
3 Draw the activity diagram.

2,3
4 Identify the classes. Classify them as weak and strong classes and
draw the class diagram.

2,3
5 Draw the sequence diagram.
2,3
6 Draw the collaboration diagram

2,3
7 Draw the state chart diagram

2,3
8 Draw the component diagram.

3
9 Perform forward engineering in JAVA/Python. (Model to code conversion)

3
10 Perform reverse engineering in JAVA/Python. (Code to Model conversion)

Note: The Instructor may add/delete/modify experiments, wherever


he/she feels in a justified manner. It is also suggested that open source
tools should be preferred to conduct the lab ( Open Office , Libra ,
Junit, Open Project , GanttProject , dotProject, AgroUML, StarUML
etc. )
Subject Name: Compiler
Design
Year: 3rd
School: SCSE Subject Code: UCS3005

Department: CSE L-T-P: 3-0-0


Semester: 6th
Course: Pre requisite Subject
Name/code: Theory of
computation, Computer
architecture.

Course Outcome

(At the end of the Description


course, student
will be able
understand)

Understand the definition of compiler with its different phases of


compiler and able to define the role of lexical analyzer, use of
CO1 regular expression and transition diagrams.

CO2 Learn the basics role of the parser and understand the design
principles of syntax analyser and top-down parser.

CO3 Understand the bottom up parser and develop appropriate parser to


produce parse tree representation of the input.

CO4 Learn to generate intermediate code for statements in high level


language and able to understand the concept of Storage organization
and allocation strategies.

CO5 Learn the basic concepts of code optimization techniques and a


simple code generator. Student will able to understand the Issues in
the design of a code generator.
Detailed Syllabus(Theory)

No.of proposed
lectures
Unit No. Topics CO No.

I Introduction to compilers – Analysis of the 1 8


source program, Phases of a compiler, Grouping
of phases, compiler writing tools – bootstrapping
Lexical Analysis: The role of Lexical Analyzer,
Input Buffering, Specification of Tokens using
Regular Expressions, Review of Finite
Automata, Recognition of Tokens.
II Syntax Analysis: Review of Context-Free 2 8
Grammars – Derivation trees and Parse Trees,
Ambiguity.
Top-Down Parsing: Recursive Descent parsing,
Predictive parsing, LL (1) Grammars.

III Bottom-Up Parsing: 3 8


Shift Reduce parsing – Operator precedence
parsing (Concepts only) LR parsing –
Constructing SLR parsing tables, Constructing,
Canonical LR parsing tables and Constructing
LALR parsing tables.

IV Intermediate Code Generation 4 8


Syntax directed translation: Syntax Directed
Definitions, Evaluation Orders for Syntax
Directed Definitions, Intermediate Languages:
Syntax Tree, Three Address Code, and Type
Checking.
Run-Time Environments:
Source Language issues, Storage organization,
Storage allocation strategies.
V Code Optimization: 5 8
Principal sources of optimization,
DAG-Optimization of Basic blocks
Code generation:
Issues in the design of a code generator. The
target machine, A simple code generator.
Text Books :

1. Aho A. Ravi Sethi and D Ullman. Compilers – Principles Techniques and Tools, Addison
Wesley, 2006.
2. D. M. Dhamdhare, System Programming and Operating Systems, Tata McGraw Hill &
Company, 1996.

Reference Books :

1. V. Raghavan, Principles of Compiler Design‖, Tata McGraw Hill Education Publishers,


2010.
2. Kenneth C. Louden, Compiler Construction – Principles and Practice, Cengage Learning
Indian Edition, 2006.
3 .Randy Allen, Ken Kennedy, Optimizing Compilers for Modern Architectures: A
Dependence based Approach, Morgan Kaufmann Publishers, 2002
4. Tremblay and Sorenson, The Theory and Practice of Compiler Writing, Tata McGraw
Hill & Company,1984.
Semester - VII
Course Category : Elective-5
Course Name : Software Project Management
Course Code : UCS4001E5
L-T-P : 4-0-0
Semester : 7th
Batch : 2023-27
Syllabus
Prerequisite:
● A solid understanding of software development processes, methodologies, and
lifecycle is essential
● Basic knowledge of project management principles is crucial.
● Understanding of Software Engineering
Course Outcomes:
At the end of the course, students will be able to:

CO1 Understand approaches for managing and optimizing the software development
process.

CO2 Apply efficient techniques for managing each phase of the project development
lifecycle

CO3 Illustrate project management approach by various monitoring and control


techniques

CO4 Create comprehensive test plans and test cases for a given software application
and assess the quality of software

CO5 Comprehend Project management tools and evaluate risks


Unit No. Topics CO No. No. of
lectures

1 Introduction to Software Project Management: 1 10


Fundamentals of Software Project Management (SPM),
Need Identification, Vision and Scope document, Project
Management Cycle, SPM Objectives, SPM Framework,
Software Project Planning, Planning Objectives, Project
Plan, Types of project plan, Structure of a Software
Project Management Plan, Software project estimation,
Estimation methods, Estimation models, Decision process

2 Project Organization and Scheduling Project Elements: 2 10


Work Breakdown Structure (WBS), Types of WBS,
Functions, Activities and Tasks, Project Life Cycle and
Product Life Cycle, Ways to Organize Personnel, Project
schedule, Scheduling Objectives, Building the project
schedule, Scheduling terminology and techniques,
Network Diagrams: PERT, CPM, Bar Charts: Milestone
Charts, Gantt Charts.

3 Project Monitoring and Control: Dimensions of Project 3 10


Monitoring & Control, Earned Value Analysis, Earned
Value Indicators: Budgeted Cost for Work Scheduled
(BCWS), Cost Variance (CV), Schedule Variance (SV),
Cost Performance Index (CPI), Schedule Performance
Index (SPI), Interpretation of Earned Value Indicators,
Software Reviews, Types of Review: Inspections,
Deskchecks, Walkthroughs, Code Reviews.

4 Software Quality Assurance and Testing : Testing 4 10


Principles, Test Plans, Test Cases, Types of Testing,
Levels of Testing, Test Strategies, Program Correctness,
Program Verification & validation, Testing Automation &
Testing Tools, Concept of Software Quality, Software
Quality Attributes, Software Quality Metrics and
Indicators, SEI Capability Maturity Model (CMM), SQA
Activities, Formal SQA Approaches: Proof of correctness,
Statistical quality assurance

5 Project Management Tools, Risk Management and SCM: 5 10


Software Configuration Items and tasks, Baselines, Plan
for Change, Change Control, Change Requests
Management, Version Control, Risk Management: Risks
and risk types, Risk Breakdown Structure (RBS), Risk
Management Process: Risk identification, Risk analysis,
Risk planning, Risk monitoring, Cost Benefit Analysis,
Unit No. Topics CO No. No. of
lectures
Software Project Management Tools: CASE Tools,
Planning and Scheduling Tools, MS-Project.

Text Books:

1. M. Cotterell, Software Project Management, Tata McGraw-Hill Publication.

2. Royce, Software Project Management, Pearson Education

3. Kieron Conway, Software Project Management, Dreamtech Press

Reference Books:

1. S. A. Kelkar, Software Project Management, PHI Publication.

2. Harold R. Kerzner, Project Management “A Systems Approach to Planning, Scheduling,


and Controlling” Wiley.

3.Mohapatra, Software Project Management, Cengage Learning.

4. P.K. Agarwal, SAM R., Software Project Management, Khanna Publishing House
Course Category : Specialisation-4
Course Name : Natural Language Processing
Course Code : UCS4008SE5
L-T-P : 4-0-2
Semester : 7th
Batch : 2023-27
Syllabus
Prerequisite:

● Basic understanding of regular expressions.


● Basic understanding of predicate logic.
● Proficiency in programming languages such as python and Java.

Course Outcomes:
At the end of the course, students will be able to:

CO1 Understand the fundamentals of natural language processing (K2)

CO2 Contrast the concepts of word formation using morphology analysis. (K4)

CO3 Acquire the knowledge of syntax and semantics related to natural languages. (K)

CO4 Understand the fundamentals of Speech Processing. (K2)


CO5 Apply computational techniques for Speech Modeling and Analysis. (K4)

No. of
Unit No Topics CO No.
Lecture
INTRODUCTION: Origins and challenges of NLP – Language 1 8
Modeling: Grammar-based LM, Statistical LM – Regular Expressions,
1 Finite-State Automata – English Morphology, Transducers for lexicon and
rules, Tokenization, Detecting and Correcting Spelling Errors, Minimum
Edit
No. of
Unit No Topics CO No.
Lecture
MORPHOLOGICAL ANALYSIS: Unsmoothed N-grams, 2 8
Evaluating N-grams, Smoothing, Interpolation and Backoff –
2
Word Classes, Part-of-Speech Tagging, Rule-based, Stochastic
and Transformation-based tagging, Issues in PoS tagging
SEMANTICS AND PRAGMATICS: Requirements for 3 8
representation, First-Order Logic, Description Logics –
Syntax-Driven Semantic analysis, Semantic attachments –
Word Senses, Relations between Senses, Thematic Roles,
3 selectional restrictions – Word Sense Disambiguation, WSD
using Supervised, Dictionary & Thesaurus, Bootstrapping
methods – Word Similarity using Thesaurus and Distributional
methods.

BASIC CONCEPTS OF SPEECH PROCESSING: Speech 4 8


Fundamentals: Articulatory Phonetics – Production and
Classification of Speech Sounds; Acoustic Phonetics –
4 Acoustics of Speech Production; Review of Digital Signal
Processing Concepts; Short-Time Fourier Transform,
FilterBank and LPC Methods.
SPEECH-ANALYSIS: Features, Feature Extraction and Pattern 5 8
Comparison Techniques: Speech Distortion Measures– Mathematical and
Perceptual – Log–Spectral Distance, Cepstral Distances, Weighted Cepstral
Distances and Filtering, Likelihood Distortions, Spectral Distortion Using a
Warped Frequency Scale, LPC, PLP And MFCC Coefficients, Time
Alignment and Normalization – Dynamic Time Warping, Multiple Time –
5 Alignment Paths.
SPEECH MODELING: Hidden Markov Models: Markov
Processes, HMMs – Evaluation, Optimal State Sequence –
Viterbi Search, Baum-Welch Parameter Re-Estimation,
Implementation Issues.

Text Books:
1. Jurafsky D. and Martin H. J, Speech and Language Processing: An Introduction to
Natural Language Processing, Computational Linguistics and Speech Recognition,
Prentice Hall (2014), 2nded.
2. Manning D. C. and Schütze H., Foundations of Statistical Natural Language
Processing MIT Press (1999) 1sted.
Reference Books:
1. Dale R., Moisl H. and Somers H., Handbook of Natural Language Processing, CRC
Press (2010), 2nded.
2. Bird S., Klein E. and Loper E., Natural Language Processing with Python, Oreilly
Publication (2009), 2nd ed.
Web References:
1. https://www.ibm.com/topics/natural-language-processing
2. https://www.deeplearning.ai/resources/natural-language-processing/
3. https://online.stanford.edu/courses/xcs224n-natural-language-processing-deep-learnin
g

Lab Module
Lab Course Outcomes:
At the end of the course, students will be able to:

CO1 Develop NLP programs in Python


CO2: Develop and deploy NLP tools like classifiers, translators, Part-of-Speech
CO2
(POS) taggers & stemmers for Indian and other linguistic domains.
CO3 CO3: Create an innovative application using NLP techniques

S. No. Lab Exercise/Program CO

1 List of Practical:
1. Word Analysis 1,2,3
2. Word Generation
3. Morphology
4. N-Grams
5. N-Grams Smoothing
6. POS Tagging: Hidden Markov Model
7. POS Tagging: Viterbi Decoding
8. Building POS Tagger
9. Chunking
10. Building Chunker
Online link for Virtual Lab for NLP -
https://nlp-iiith.vlabs.ac.in/

You might also like